बहु-समय-सीमा सुपर ट्रेंड ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-15 11:35:47
टैगः

img

अवलोकन

यह रणनीति ट्रेंड को ट्रैक करने के लिए एक मल्टी-टाइमफ्रेम डायनेमिक ट्रेंड चैनल बनाने के लिए एटीआर संकेतक का उपयोग करती है। यह संकेत उत्पन्न करता है जब कीमतें चैनल को लगातार समायोजित करके बड़े रुझानों को पकड़ने के लिए चैनल को तोड़ती हैं।

रणनीति तर्क

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

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

इसके अतिरिक्त, रणनीति यह निर्धारित करने के लिए एक प्रवृत्ति चर को भी परिभाषित करती है कि क्या वर्तमान एक अपट्रेंड या डाउनट्रेंड में है। प्रवृत्ति चर गलत संकेत उत्पन्न करने से बचने के लिए चैनल लाइनों के साथ काम करता है।

लाभ

  • रुझानों को ट्रैक करने और रुझानों के साथ व्यापार करने के लिए गतिशील चैनलों का उपयोग करता है
  • बाजार में उतार-चढ़ाव के जोखिम को कम करते हुए उच्च और निम्न स्तरों का पीछा करने से बचता है
  • समायोज्य चैनल पैरामीटर, उच्च अनुकूलन क्षमता
  • अधिक लचीली बहु-समय सीमा सेटिंग्स

जोखिम

  • अत्यधिक आक्रामक ट्रैकिंग नुकसान के जोखिम को बढ़ा सकती है
  • गलत चैनल पैरामीटर सेटिंग्स से कम या अधिक गलत संकेत होते हैं
  • मापदंडों को समायोजित करने के लिए मजबूत प्रोग्रामिंग कौशल की आवश्यकता होती है

सुधारः

  • एटीआर गुणक को कम ट्रैकिंग परिमाण तक उचित रूप से कम करें
  • सर्वोत्तम संयोजन खोजने के लिए मापदंडों का अनुकूलन करें
  • प्रति व्यापार हानि को कम करने के लिए स्टॉप लॉस रणनीति जोड़ें

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

  • अधिक विश्वसनीय संकेतों के लिए फ़िल्टर के लिए अन्य संकेतक जोड़ें
  • जोखिम को कम करने के लिए स्टॉप लॉस रणनीति जोड़ें
  • इष्टतम खोजने के लिए पैरामीटर अनुकूलन का संचालन
  • लाभ दर में सुधार के लिए प्रवेश और निकास के समय को अनुकूलित करें

सारांश

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


/*backtest
start: 2023-01-08 00:00:00
end: 2024-01-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('超级趋势精简优化版', overlay=true)
Periods = input(title='ATR周期', defval=10)
src = input(hl2, title='价格数据源')
Multiplier = input.float(title='ATR 乘数', step=0.1, defval=3.0)
changeATR = input(title='更改ATR计算方法', defval=true,tooltip = '默认为art否则sma(ta.tr,ATR周期)')
showsignals = input(title='显示买入/卖出信号', defval=false)
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2
up = src - Multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title='上涨趋势', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal and showsignals ? up : na, title='买点', text='买点', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))
dnPlot = plot(trend == 1 ? na : dn, title='下跌趋势', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal and showsignals ? dn : na, title='卖点', text='卖点', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
FromMonth = input.int(defval=9, title='From Month', minval=1, maxval=12)
FromDay = input.int(defval=1, title='From Day', minval=1, maxval=31)
FromYear = input.int(defval=2018, title='From Year', minval=999)
ToMonth = input.int(defval=1, title='To Month', minval=1, maxval=12)
ToDay = input.int(defval=1, title='To Day', minval=1, maxval=31)
ToYear = input.int(defval=9999, title='To Year', minval=999)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
window() =>
    time >= start and time <= finish ? true : false
longCondition = buySignal
if longCondition and window()
    strategy.entry('BUY', strategy.long, comment = '买入')
shortCondition = sellSignal
if shortCondition and window()
    strategy.close('BUY',comment = '卖出')
buy1 = ta.barssince(buySignal)
sell1 = ta.barssince(sellSignal)
color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na



अधिक