
ब्रेकआउट रिवर्स ट्रेडिंग रणनीति, जो एक विशेष प्रवृत्ति के तहत एक ब्रेकआउट रिवर्स ट्रेडिंग को प्राप्त करने के लिए कीमतों के पूर्ण शक्ति संकेतकों और MACD संकेतकों की गणना करके शॉर्ट-लाइन ट्रेडिंग रणनीति के अंतर्गत आती है। यह रणनीति कई संकेतकों को समेकित करती है जो बड़े रुझानों, मध्यवर्ती रुझानों और अल्पकालिक रुझानों का न्याय करती है, और ट्रेंडिंग सिग्नल के माध्यम से ट्रेंड को ट्रैक करती है।
यह रणनीति मुख्य रूप से मूल्य की पूर्ण शक्ति और MACD संकेतक पर आधारित है, जो एक ब्रेकआउट रिवर्स ट्रेड प्राप्त करने के लिए है। सबसे पहले, कीमतों की 9 चक्र, 21 चक्र और 50 चक्र ईएमए की गणना करें, जो बड़े रुझान की दिशा को निर्धारित करता है; फिर कीमतों की पूर्ण शक्ति का निर्धारण करें, जो अल्पकालिक समायोजन की ताकत को दर्शाता है; अंत में, MACD संकेतक की गणना करें, जो अल्पकालिक रुझान की दिशा को निर्धारित करता है। जब बड़ा रुझान ऊपर होता है, तो खरीदें और जब बड़ा रुझान नीचे होता है, तो बेचें।
विशेष रूप से, 9 वें ईएमए को 21 वें ईएमए से ऊपर और 21 वें ईएमए को 50 वें ईएमए से ऊपर करने के लिए एक बड़ी प्रवृत्ति को पूरा करने की आवश्यकता होती है। अल्पकालिक समायोजन निर्णय मानदंड को पूर्ण शक्ति सूचकांक अंतर से कम 0, मैकडीआईएफएफ 0 से कम माना जाता है। 9 वें ईएमए को 21 वें ईएमए से कम और 21 वें ईएमए को 50 वें ईएमए से कम करने के लिए एक बड़ी प्रवृत्ति को पूरा करने की आवश्यकता होती है। अल्पकालिक रिबाउंड निर्णय मानदंड को पूर्ण शक्ति सूचकांक अंतर से अधिक 0 है, मैकडीआईएफएफ 0 से अधिक है।
इस रणनीति के निम्नलिखित फायदे हैं:
इस रणनीति के कुछ जोखिम भी हैं:
उपरोक्त जोखिमों के लिए, विभिन्न चक्र संकेतकों का न्याय करने के लिए पैरामीटर का अनुकूलन करके; स्थिति रखने के नियमों को समायोजित करने, एकल नुकसान को नियंत्रित करने; अधिक संकेतक फ़िल्टर सिग्नल के साथ संयोजन, सटीकता में सुधार और अन्य तरीकों में सुधार करना।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
कुल मिलाकर, ब्रेकआउट रिवर्स ट्रेडिंग रणनीति समग्र रूप से एक अधिक स्थिर शॉर्ट-लाइन ट्रेडिंग रणनीति है। यह बड़े और छोटे मल्टीपल ट्रेंडिंग निर्णयों को जोड़ती है, जिससे उतार-चढ़ाव की स्थिति में गलत ट्रेडिंग से बचा जाता है। साथ ही सूचक संयोजन का उपयोग करने से निर्णय की सटीकता में सुधार होता है। बाद के परीक्षण और अनुकूलन के साथ, यह रणनीति एक स्थिर रणनीति बन सकती है जो लंबे समय तक रखने लायक है।
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Divergence Scalper [30MIN]", overlay=true , commission_value=0.04 )
message_long_entry = input("long entry message")
message_long_exit = input("long exit message")
message_short_entry = input("short entry message")
message_short_exit = input("short exit message")
//3x ema
out9 = ta.ema(close,9)
out21 = ta.ema(close,21)
out50 = ta.ema(close,50)
//abs
absolute_str_formula( ) =>
top=0.0
bottom=0.0
if(close>close[1])
top:= nz(top[1])+(close/close[1])
else
top:=nz(top[1])
if(close<=close[1])
bottom:= nz(bottom[1])+(close[1]/close)
else
bottom:=nz(bottom[1])
if (top+bottom/2>=0)
1-1/(1+(top/2)/(bottom/2))
abs_partial=absolute_str_formula()
abs_final = abs_partial - ta.sma(abs_partial,50)
//macd
fast_length = input(title="Fast Length", defval=23)
slow_length = input(title="Slow Length", defval=11)
src = input(title="Source", defval=open)
signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 6)
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="SMA", options=["SMA", "EMA"])
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
long= abs_final > 0 and hist <0 and out9<out21 and out21<out50
short = abs_final <0 and hist >0 and out9>out21 and out21>out50
long_exit = abs_final <0 and hist >0 and out9>out21 and out21>out50
short_exit = abs_final > 0 and hist <0 and out9<out21 and out21<out50
strategy.entry("long", strategy.long, when = long and barstate.isconfirmed, alert_message = message_long_entry)
strategy.entry("short", strategy.short, when = short and barstate.isconfirmed, alert_message = message_short_entry)
strategy.close("long", when = long_exit and barstate.isconfirmed, alert_message = message_long_exit)
strategy.close("short", when = short_exit and barstate.isconfirmed, alert_message = message_short_exit)