चैनल ब्रेकआउट के आधार पर ट्रेंड ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-23 14:04:59
टैगः

img

अवलोकन

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

रणनीति तर्क

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

यह रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए लंबाई *2 के साथ एक ईएमए संकेतक को भी ग्राफ करती है। जब कीमत ऊपरी बैंड को तोड़ती है, यदि ईएमए ऊपर की ओर प्रवृत्ति में है, तो लंबे निर्णय को मजबूत किया जाता है।

लाभ विश्लेषण

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

जोखिम विश्लेषण

  • ब्रेकआउट रणनीतियों से मूल्य समेकन के दौरान अक्सर ट्रेड होते हैं, जिससे संभवतः उच्च ट्रेडिंग लागत होती है।
  • यह रणनीति रुझान के उलट होने पर तुरंत पदों से बाहर नहीं निकल सकती है, जिससे बड़े नुकसान हो सकते हैं।
  • रणनीति पैरामीटर सेटिंग्स के प्रति संवेदनशील है और अलग-अलग पैरामीटर पूरी तरह से अलग-अलग परिणाम दे सकते हैं।

अनुकूलन दिशाएँ

  • झूठे ब्रेकआउट से बचने के लिए एमएसीडी, आरएसआई जैसे अन्य संकेतकों को शामिल करें।
  • स्वचालित रूप से मापदंडों को अनुकूलित करने और मजबूती में सुधार करने के लिए मशीन लर्निंग एल्गोरिदम का उपयोग करें।
  • अधिकतम ड्रॉडाउन को नियंत्रित करने के लिए स्टॉप लॉस सेट करें.

सारांश

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


/*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 )

अधिक