
यह रणनीति एक ट्रेंड ट्रैकिंग रणनीति है जो चैनल ब्रेकिंग थ्योरी पर आधारित है। यह एक निश्चित चक्र के लिए उच्चतम और निम्नतम कीमतों की गणना करके एक चैनल बनाता है, और जब कीमत चैनल को तोड़ती है, तो एक व्यापार संकेत उत्पन्न करता है। यह रणनीति ट्रेंडिंग व्यवहार के लिए उपयुक्त है, जो मूल्य की प्रवृत्ति दिशा को पकड़ सकती है, ट्रेंड ट्रैकिंग के लिए।
इस रणनीति में सबसे पहले लंबाई की अवधि के भीतर उच्चतम और निम्नतम कीमतों की गणना की जाती है, चैनल को ऊपर और नीचे की ओर बनाया जाता है। जब समापन मूल्य ऊपर की ओर टूटता है, तो अधिक करें; जब समापन मूल्य नीचे की ओर टूटता है, तो खाली करें। समापन मूल्य को वापस चैनल के अंदर जाने के लिए ब्लीचिंग की स्थिति।
इस नीति को लंबाई के रूप में रेखांकित किया गया है*2 ईएमए सूचक प्रवृत्ति की दिशा का आकलन करता है। ईएमए ऊपर की ओर बढ़ रहा है, जब कीमतों ने चैनल को पार कर लिया है, तो अधिक निर्णय लेने की प्रभावशीलता को बढ़ाता है।
इस रणनीति के समग्र के लिए एक चैनल breakouts के आधार पर प्रवृत्तियों को पकड़ने के लिए एक सरल प्रवृत्ति ट्रैकिंग रणनीति है. यह मजबूत प्रवृत्ति ट्रैकिंग क्षमता है, प्रवृत्ति की स्थिति में अच्छा लाभ प्राप्त कर सकते हैं. लेकिन वहाँ भी कुछ जोखिम है, और आगे अनुकूलन की जरूरत है स्थिरता में सुधार करने के लिए. पैरामीटर समायोजन, स्टॉप लॉस सेटिंग और अन्य संकेतकों के साथ संयोजन में निर्णय के माध्यम से, इस रणनीति को वास्तविक व्यापार में लागू किया जा सकता है.
/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
initial_capital = 1000,
default_qty_value = 90,
default_qty_type = strategy.percent_of_equity,
pyramiding = 0,
commission_value = 0.002,
commission_type = strategy.commission.percent,
calc_on_every_tick = true
length_val = 2
max_bars_back = 1440
risk_max_drawdown = 9
strategy("Channel Break",max_bars_back=max_bars_back,initial_capital = initial_capital,default_qty_value = default_qty_value,default_qty_type = default_qty_type,pyramiding = pyramiding,commission_value = commission_value,commission_type = commission_type,calc_on_every_tick = calc_on_every_tick)
// strategy.risk.max_drawdown(risk_max_drawdown, strategy.percent_of_equity)
length = input(title="Length", minval=1, maxval=1000, defval=length_val)
upBound = highest(high, length)
downBound = lowest(low, length)
//plot (upBound)
//plot (downBound)
//plot (close, color=red)
//plot (ema(close,length * 2), color=green)
//
if (not na(close[length]) and time>timestamp(2018, 02, 24, 0, 00) )
strategy.entry("Buy", strategy.long, stop=upBound + syminfo.mintick, comment="Buy")
strategy.entry("Short", strategy.short, stop=downBound - syminfo.mintick, comment="Short")
position = strategy.position_size
//plot(position , title="equity", color=red,style=cross,linewidth=4)
plot(variance(position,2)>0?1:0,style=circles,linewidth=4)
message = ""
if (position > 0)
message = "BTCUSD L: " + tostring(strategy.position_size)
na(position)
if (position < 0)
message = "BTCUSD S: " + tostring(strategy.position_size)
na(position)
alertcondition(variance(strategy.position_size,2) > 0, "test", message )