
डबल ईएमए गोल्डफोर्क ट्रेंड ट्रैकिंग रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो दो ईएमए संकेतकों का उपयोग करके मूल्य प्रवृत्ति की दिशा का निर्धारण करती है। यह रणनीति ईएमए संकेतकों के दो सेटों के विभिन्न मापदंडों की गणना करके मूल्य प्रवृत्ति का निर्धारण करती है, जो गोल्डफोर्क और डेडफोर्क सिग्नल को जोड़ती है। जब एक छोटी ईएमए एक लंबी ईएमए से गुजरती है तो एक खरीद संकेत उत्पन्न होती है; जब एक छोटी ईएमए एक लंबी ईएमए से गुजरती है तो एक बिक्री संकेत उत्पन्न होती है।
इस रणनीति के लिए दो ईएमए हैं, एक लंबी अवधि के ईएमए 1 और एक छोटी अवधि के ईएमए 2। ईएमए 1 पैरामीटर 21 है, और ईएमए 2 पैरामीटर 10 है। रणनीति चार घंटे की रेखा के साथ आधार चक्र के रूप में ईएमए के दो सेटों की गणना करती है।
जब छोटी अवधि ईएमए 2 पर लंबी अवधि ईएमए 1 के माध्यम से प्रवेश करता है, तो एक खरीद संकेत उत्पन्न होता है। यह दर्शाता है कि कीमतों का अल्पकालिक रुझान मजबूत हो गया है और चढ़ाव की स्थिति में प्रवेश करना शुरू कर दिया है। जब छोटी अवधि ईएमए 2 के नीचे लंबी अवधि ईएमए 1 के माध्यम से प्रवेश करता है, तो एक बेचने का संकेत उत्पन्न होता है। यह दर्शाता है कि कीमतों का अल्पकालिक ऊपर की ओर रुझान टूट गया है और गिरावट की स्थिति में प्रवेश करना शुरू कर दिया गया है।
त्रुटि संकेतों को फ़िल्टर करने के लिए, रणनीति ने दो सेटों के सोने के कांटा-डेड कांटा संकेतों को सेट किया है। केवल जब दोनों सूचकांक एक साथ संकेत देते हैं, तो संबंधित खरीद और बिक्री संचालन को ट्रिगर किया जाता है। यह मूल्य उतार-चढ़ाव के कारण गलत ट्रेडों को प्रभावी ढंग से कम कर सकता है।
इन जोखिमों को निम्न तरीकों से नियंत्रित किया जा सकता हैः
इस रणनीति को और भी बेहतर बनाने के लिए जगह हैः
मॉडल पोर्टफोलियो को बढ़ाएं। विभिन्न पैरामीटर के लिए संकेतकों का एक और पोर्टफोलियो बनाया जा सकता है, जो रणनीति की स्थिरता को बढ़ाता है।
अतिरिक्त रोकथाम तंत्र। एक उचित रोकथाम बिंदु निर्धारित करें, जिससे एकल नुकसान को प्रभावी ढंग से नियंत्रित किया जा सके।
गतिशील पैरामीटर अनुकूलन। ईएमए के पैरामीटर को विभिन्न बाजार स्थितियों के अनुसार स्वचालित रूप से अनुकूलित किया जा सकता है।
मशीन लर्निंग तकनीक के साथ संयुक्त। Tensorflow जैसे ढांचे का उपयोग करते हुए, मॉडल को वास्तविक समय में मूल्य रुझानों की भविष्यवाणी करने के लिए प्रशिक्षित किया जाता है।
डबल ईएमए स्वर्ण कांटा ट्रेंड ट्रैकिंग रणनीति, एक सरल और व्यावहारिक प्रवृत्ति व्यापार रणनीति है. यह द्वि-ईएमए सूचक का उपयोग करके कीमत में अल्पकालिक प्रवृत्ति को समझने के लिए दिशात्मक व्यवहार के अवसरों को पकड़ने के लिए करता है. साथ ही दो पैकेज स्वर्ण कांटा फिल्टर सूचक के साथ, त्रुटि व्यापार को कम किया जा सकता है। रणनीति संरचना सरल, लागू करने में आसान है, और मात्रा व्यापार अनुप्रयोगों के लिए उपयुक्त है। निरंतर अनुकूलन और सुधार के माध्यम से, रणनीति के लाभ को और बढ़ाने और स्थिर लाभप्रदता में सुधार करने की उम्मीद है।
/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
/// Component Code Startt
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=false)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
testPeriod() => true
// Component Code Stop
strategy(title="Ema cross strat", overlay=true)
margin = input(true, title="Margin?")
Margin = margin ? margin : false
resCustom = input(title="EMA Timeframe", defval="240" )
source = close,
len2 = input(21, minval=1, title="EMA1")
len3 = input(10, minval=1, title="EMA2")
ema2 = request.security(syminfo.tickerid,resCustom,ema(source,len2), lookahead=barmerge.lookahead_off)
ema3 = request.security(syminfo.tickerid,resCustom,ema(source,len3), lookahead=barmerge.lookahead_off)
mylong = crossover(ema3, ema2)
myshort = crossunder(ema3,ema2)
last_long = na
last_short = na
last_long := mylong ? time : nz(last_long[1])
last_short := myshort ? time : nz(last_short[1])
in_long = last_long > last_short ? 2 : 0
in_short = last_short > last_long ? 2 : 0
mylong2 = crossover(ema3, ema2)
myshort2 = crossunder(ema3, ema2)
last_long2 = na
last_short2 = na
last_long2 := mylong2 ? time : nz(last_long2[1])
last_short2 := myshort2 ? time : nz(last_short2[1])
in_long2 = last_long2 > last_short2 ? 0 : 0
in_short2 = last_short2 > last_long2 ? 0 : 0
condlongx = in_long + in_long2
condlong = crossover(condlongx, 1.9)
condlongclose = crossunder(condlongx, 1.9)
condshortx = in_short + in_short2
condshort = crossover(condshortx, 1.9)
condshortclose = crossover(condshortx, 1.9)
if crossover(condlongx, 1.9) and testPeriod() and strategy.position_size <= 0
strategy.entry("Long", strategy.long, comment="Long")
if crossover(condshortx, 1.9) and testPeriod() and strategy.position_size > 0
strategy.close("Long",when = not Margin)
if crossover(condshortx, 1.9) and testPeriod() and strategy.position_size >= 0
strategy.entry("Short", strategy.short, comment="Short", when = Margin)