
यह रणनीति द्वि-समान रेखाओं के क्रॉसिंग की गणना करके मूल्य प्रवृत्ति को निर्धारित करती है और कुछ पैरामीटर प्रतिबंधों के साथ मिलकर खरीद और बेचने के संकेत देती है। मुख्य रूप से तीन भागों में विभाजित हैः पहला, तेजी से औसत और धीमी औसत के क्रॉसिंग की गणना करके मूल्य प्रवृत्ति को निर्धारित करना; दूसरा, गलत व्यापार से बचने के लिए कुछ पैरामीटर प्रतिबंधों के साथ मिलकर; तीसरा, जोखिम को नियंत्रित करने के लिए स्टॉप लॉस का उपयोग करना।
इस रणनीति का मूल यह है कि एक तेज औसत और एक धीमी औसत की गणना की जाए। तेज औसत पैरामीटर औसत चक्र का आधा है, और प्रतिक्रिया मूल्य परिवर्तन के लिए अधिक संवेदनशील है; धीमी औसत पैरामीटर औसत चक्र है, और प्रतिक्रिया मूल्य परिवर्तन अधिक स्थिर है। जब तेज औसत पर धीमी औसत को पार करता है, तो कीमतें एक ऊपर की ओर प्रवृत्ति में माना जाता है; जब तेज औसत धीमी औसत को पार करता है, तो कीमतें एक नीचे की ओर प्रवृत्ति में माना जाता है।
इसके अलावा, रणनीति गलत व्यापार से बचने के लिए कुछ पैरामीटर भी सेट करती है। यदि निर्णय थ्रेशोल्ड सेट किया गया है, तो केवल तभी ट्रेडिंग सिग्नल जारी किया जाएगा जब तेजी से औसत विचलन एक निश्चित सीमा से अधिक हो; आत्मविश्वास पैरामीटर का उपयोग उतार-चढ़ाव फ़िल्टर के लिए किया जाता है, केवल तभी सिग्नल जारी किया जाता है जब कीमत में उतार-चढ़ाव एक निश्चित सीमा तक पहुंच जाता है।
अंत में, रणनीति को रोकने के लिए स्टॉपलॉस का उपयोग करके जोखिम को नियंत्रित किया जाता है। ओपनप्रॉफिट स्टॉपलॉस से कम स्थिति से बाहर निकलता है, स्टॉपलॉस से अधिक स्थिति से बाहर निकलता है, और एकल नुकसान को प्रभावी ढंग से नियंत्रित करता है।
इस रणनीति का सबसे बड़ा लाभ यह है कि यह मूल्य प्रवृत्ति और उतार-चढ़ाव के लक्षणों को निर्धारित करने के लिए एक सम-रेखा सूचक के संयोजन में है। द्वि-सम-रेखा क्रॉसिंग मूल्य प्रवृत्ति का निर्धारण करने के लिए एक क्लासिक प्रभावी तकनीकी सूचक विधि है, जो पैरामीटर के अनुकूलन के बाद ट्रेंड को सटीक रूप से पकड़ सकती है। अस्थिरता संकेतक आत्मविश्वास बाजार के उतार-चढ़ाव को प्रभावी रूप से फ़िल्टर कर सकता है, जिससे अक्सर गलत ट्रेडिंग से बचा जा सकता है।
इसके अलावा, निर्णय सीमा, स्टॉप लॉस और अन्य पैरामीटर सेटिंग्स ट्रेडिंग जोखिम को काफी कम कर सकती हैं, जिससे उच्च और निम्न का पीछा करने से बचा जा सकता है।
इस रणनीति का मुख्य जोखिम यह है कि द्वि-समानता संकेतक गलत संकेत दे सकते हैं। तेज औसत और धीमी औसत दोनों भारित चलती औसत हैं, जो आकस्मिक घटनाओं के लिए धीमी प्रतिक्रिया देते हैं, और अल्पकालिक मूल्य उलटफेर को याद कर सकते हैं।
इसके अलावा, स्टॉप लॉस की गलत सेटिंग भी जोखिम को बढ़ा सकती है। स्टॉप लॉस की उच्च या निम्न सेटिंग्स से अधिक नुकसान हो सकता है। इसके लिए विभिन्न किस्मों की विशेषताओं और उतार-चढ़ाव के आधार पर उचित पैरामीटर सेट करने की आवश्यकता है।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
अनुकूलित औसत रेखा चक्र, समायोज्य औसत रेखा सेट करें ताकि विभिन्न चक्रों में मूल्य उतार-चढ़ाव को बेहतर ढंग से मॉडलिंग किया जा सके;
स्टॉप-स्टॉप-लॉस गतिशीलता ट्रैकिंग तंत्र की स्थापना, जो वास्तविक समय में व्यापारिक घटनाओं के माध्यम से उतार-चढ़ाव की गणना करता है, जिससे स्टॉप-स्टॉप-लॉस बिंदु गतिशील रूप से बदल सकते हैं;
मूल्य प्रवृत्ति की दिशा का आकलन करने के लिए मशीन लर्निंग मॉडल को जोड़ना, वर्तमान मूल्य प्रवृत्ति का आकलन करने के लिए अधिक ऐतिहासिक डेटा का उपयोग करना, और गलत संकेतों को कम करना।
यह रणनीति एक क्लासिक सरल और प्रभावी ट्रेंड ट्रेडिंग रणनीति है। यह एक द्वि-समान-रेखा क्रॉस-निर्णय प्रवृत्ति का उपयोग करता है, पैरामीटर सेटिंग्स को जोखिम नियंत्रण के लिए, विन्यास योग्य है, और यह कई प्रकार के व्यापार के लिए उपयुक्त है। मशीन सीखने जैसे अधिक बुद्धिमान निर्णय साधनों को पेश करने पर समग्र प्रभाव बेहतर होगा और आगे की जांच के लायक है।
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Trade Signal", shorttitle="Trade Alert", overlay=true )
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-10.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=100.00, title="Target Point in $", type=float, step=1)
ot=1
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
confidence=(request.security(syminfo.tickerid, '5', close[1])-request.security(syminfo.tickerid, '60', close[1]))/request.security(syminfo.tickerid, '60', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
strategy.close("Long")
closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD
if (shortCondition)
strategy.entry("Short",strategy.short)
//alerts
alertcondition(closelong, title='Close Buy Position', message='Close Buy Position')
alertcondition(closeshort, title='Close Short Position', message='Close Short Position')
alertcondition(longCondition, title='Buy Signal', message='Buy Signal Alert')
alertcondition(shortCondition, title='Sell Signal', message='Sell Signal Alert')
//a1=plot(n1,color=c)
//a2=plot(n2,color=c)plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
//plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1=plot (leadLine1, offset = displacement, color=green, title="Lead 1")
p2=plot (leadLine2, offset = displacement, color=red, title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart