जीरो-लैग एमएसीडी डीईएमए ब्रेकआउट रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-11 14:43:52
टैगः

यह रणनीति टोफ के एमएसीडी डीईएमए संकेतक के आधार पर ट्रेडिंग संकेतों का निर्माण करती है। एमएसीडी डीईएमए संकेतक शून्य-लैग प्रसंस्करण के साथ, डीईएमए फास्ट लाइन और डीईएमए धीमी लाइन के बीच अंतर की गणना करता है, प्रभावी रूप से नियमित एमएसीडी के लेगिंग मुद्दे को समाप्त करता है।

ट्रेडिंग के नियम इस प्रकार हैं: जब शून्य-लैग एमएसीडी 0 रेखा से ऊपर जाता है, तो लंबे समय तक जाएं, और जब एमएसीडी 0 रेखा से नीचे जाता है, तो शॉर्ट करें। एमएसीडी 0-लाइन क्रॉसओवर का उपयोग बाजार की भावना निर्धारित करने के लिए किया जाता है।

इस जीरो-लैग एमएसीडी रणनीति का लाभ यह है कि यह अधिक संवेदनशील रूप से प्रवृत्ति परिवर्तनों को पकड़ सकता है। ईएमए के बजाय डीईएमए का उपयोग करने से झूठे ब्रेकआउट भी फ़िल्टर होते हैं। हालांकि, एमएसीडी में जटिल मूल्य कार्रवाई पर सीमित न्याय करने की क्षमता होती है, जिसमें झूठे संकेतों का कुछ जोखिम होता है। स्थिरता में सुधार के लिए प्रवृत्ति फ़िल्टर की आवश्यकता होती है।

संक्षेप में, शून्य-लेग एमएसीडी डीईएमए ब्रेकआउट रणनीति मजबूत ट्रेंड मूव्स पर बहुत अच्छी तरह से काम करती है, जल्दी से अवसरों को पकड़ती है। लेकिन यह रेंज-बाउंड अवधि में खराब प्रदर्शन करती है, जिसके लिए सावधानीपूर्वक उपयोग की आवश्यकता होती है। केवल निरंतर अनुकूलन और सख्त जोखिम नियंत्रण के माध्यम से इस रणनीति को लंबे समय में सफलतापूर्वक लागू किया जा सकता है।


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// strategy(title="Patron04 MACD DEMA Strategy",default_qty_type = strategy.percent_of_equity,default_qty_value = 3500, overlay=true)

testStartYear = input(2000, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2100, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false

sma = input(12,title='DEMA Courte')
lma = input(26,title='DEMA Longue')
tsp = input(9,title='Signal')
dolignes = input(true,title="Lignes")

MMEslowa = ema(close,lma)
MMEslowb = ema(MMEslowa,lma)
DEMAslow = ((2 * MMEslowa) - MMEslowb )

MMEfasta = ema(close,sma)
MMEfastb = ema(MMEfasta,sma)
DEMAfast = ((2 * MMEfasta) - MMEfastb)

LigneMACDZeroLag = (DEMAfast - DEMAslow)

MMEsignala = ema(LigneMACDZeroLag, tsp)
MMEsignalb = ema(MMEsignala, tsp)
Lignesignal = ((2 * MMEsignala) - MMEsignalb )

MACDZeroLag = (LigneMACDZeroLag - Lignesignal)

long = LigneMACDZeroLag > 0
short = LigneMACDZeroLag < 0

if testPeriod()

    strategy.entry("Long", strategy.long,when=long)
    strategy.entry("Short", strategy.short,when=short)







अधिक