सुपरट्रेंड पर आधारित दीर्घकालिक ट्रेडिंग रणनीति


निर्माण तिथि: 2023-09-20 17:14:33 अंत में संशोधित करें: 2023-09-20 17:14:33
कॉपी: 0 क्लिक्स: 770
1
ध्यान केंद्रित करना
1617
समर्थक

अवलोकन

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

रणनीति सिद्धांत

  1. एटीआर चक्र और गुणांक के आधार पर ऊपरी और निचली रेखाओं की गणना करें। जब कीमत ऊपरी पट्टी को तोड़ती है, तो ऊंची हो जाती है, और जब यह नीचे की पट्टी को तोड़ती है, तो नीचे गिर जाती है।

  2. वर्तमान रुझान की गणना करें, 1 एक उछाल है, -1 एक गिरावट है। जब कीमत ऊपर की ओर बढ़ जाती है, तो रुझान नीचे की ओर बढ़ जाता है, जिससे खरीदारी का संकेत मिलता है; जब यह नीचे की ओर बढ़ता है, तो यह नीचे की ओर बढ़ जाता है, जिससे बिक्री का संकेत मिलता है।

  3. प्रवृत्ति फ़िल्टर के रूप में चलती औसत के साथ, MA से ऊपर की कीमत की आवश्यकता होती है जब यह खरीदा जाता है, और MA से नीचे की कीमत की आवश्यकता होती है जब यह बेचा जाता है, झूठे ब्रेक से बचने के लिए।

  4. दृश्यों में, सहायक प्रवृत्ति, व्यापार संकेतों आदि को दर्शाता है, जो निर्णय लेने में सहायता करता है।

श्रेष्ठता विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैं:

  1. सुपरट्रेंड संकेतक का उपयोग करके, कीमतों में परिवर्तन को गतिशील रूप से ट्रैक किया जा सकता है और समय पर प्रवृत्ति में बदलाव को दर्शाया जा सकता है।

  2. एटीआर स्टॉप-लॉस विधि में स्टॉप-लॉस को बाजार में उतार-चढ़ाव के आधार पर समायोजित किया जा सकता है, जिससे मुनाफे को लॉक करने में मदद मिलती है।

  3. एमए निष्कासन के साथ, झूठे ब्रेकआउट के साथ, यह बाजार के हिलने वाले व्यापारिक संकेतों के शोर को प्रभावी ढंग से फ़िल्टर कर सकता है।

  4. विज़ुअलाइज़ेशन का डिज़ाइन ट्रेडिंग रणनीतियों और बाजार की स्थिति को दिखाने के लिए बनाया गया है।

  5. केवल ट्रेडिंग ट्रेंड टर्नआउट पॉइंट्स, जो लंबी लाइन के लिए उपयुक्त हैं।

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

इस रणनीति में मुख्य रूप से निम्नलिखित जोखिम हैं:

  1. सुपरट्रेंड संकेतक पैरामीटर के प्रति संवेदनशील होते हैं, अक्सर बहु-एयरलाइन समायोजन होते हैं, और अक्सर व्यापार हो सकता है।

  2. स्टॉप लॉस लाइन को अक्सर ट्रिगर किया जाता है जब कोई आघात होता है।

  3. लेन-देन की लागत को ध्यान में रखे बिना, छोटी राशि को लेन-देन शुल्क से अधिक प्रभावित किया जाता है।

  4. स्टॉप लॉस सेट नहीं किया गया है, इसलिए इसे वापस लेने का जोखिम अधिक है।

  5. हालांकि, यह एक बहुत ही कम संभावना है कि ट्रेंड वेव ने कुछ अवसरों को खो दिया है।

जोखिम को निम्न तरीकों से कम किया जा सकता हैः

  1. एटीआर मापदंडों का अनुकूलन करें और मल्टी-एयरलाइन समायोजन आवृत्ति को कम करें।

  2. उच्च आवृत्तियों के छोटे उतार-चढ़ाव से बचने के लिए एक समकक्ष K-लाइन फ़िल्टर जोड़ें।

  3. स्टॉप लॉस स्टॉप को सेट करें और मुनाफे की रक्षा करें

  4. उचित रूप से चलती औसत चक्र को समायोजित करें और फ़िल्टरिंग प्रभाव को संतुलित करें।

  5. फंड मैनेजमेंट को अनुकूलित करें और लेनदेन लागत के प्रभाव को कम करें।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. विभिन्न मूल्य स्रोतों का परीक्षण करें, जैसे कि समापन मूल्य, उच्चतम मूल्य आदि।

  2. अन्य गतिशील स्टॉपलॉस संकेतक का प्रयास करें, जैसे कि चांडेलियर एग्जिट।

  3. स्थिति प्रबंधन मॉड्यूल को जोड़ना और पूंजी उपयोग दक्षता को अनुकूलित करना।

  4. अस्थिरता सूचकांक के साथ रिफाइन प्रवेश समय

  5. स्टॉप लॉस, स्टॉप स्टॉप मॉड्यूल, जोखिम नियंत्रण जोड़ें।

  6. विभिन्न बाजारों के लिए समायोजन पैरामीटर

  7. मशीन लर्निंग एल्गोरिदम के लिए पैरामीटर अनुकूलन का अन्वेषण करें

  8. अन्य मापदंडों के साथ संयोजन में, फ़िल्टरिंग की सटीकता में सुधार होता है।

संक्षेप

रणनीति SuperTrend का उपयोग करता है गतिशील स्टॉप-लॉस निर्णय प्रवृत्ति को एकीकृत करने के लिए, और MA के साथ प्रवृत्ति फ़िल्टरिंग की पहचान करने के लिए लंबे समय तक लाइनों को खरीदने के लिए। दृश्य डिजाइन संचालन को सरल बनाता है। पैरामीटर सेटिंग्स और कार्यक्षमता विस्तार को अनुकूलित करके, यह एक स्थिर और विश्वसनीय लंबी लाइन ट्रेडिंग रणनीति बन सकती है।

रणनीति स्रोत कोड
/*backtest
start: 2020-09-13 00:00:00
end: 2023-09-19 00:00:00
period: 3d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SuperTrend Long Strategy", overlay=true, initial_capital=50000, currency=currency.USD, default_qty_type=strategy.cash, default_qty_value=50000)

Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR = input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=false)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
barcoloring = input(title="Bar Coloring On/Off ?", type=input.bool, defval=true)

atr2 = sma(tr, Periods)
atr = changeATR ? atr(Periods) : atr2

up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up

dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? 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

// Moving Average as Trend Filter
periodes_ma = input(title="Moving Average Period", type=input.integer, defval=20)
src_ma = input(title="Moving Average Source", type=input.source, defval=close)
ma = sma(src_ma, periodes_ma)

upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1 and close > ma
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0))
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0))

dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
sellSignal = trend == -1 and trend[1] == 1 and close < ma
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0))
plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0))

mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.new(color.green, 70) : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.new(color.red, 70) : color.white) : color.white
fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)

FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 999)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(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)
    strategy.entry("BUY", strategy.long, when = window())

shortCondition = sellSignal
if (shortCondition)
    strategy.close("BUY")
    strategy.entry("SELL", strategy.short, when = window())

buy1 = barssince(buySignal)
sell1 = barssince(sellSignal)
color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na
barcolor(barcoloring ? color1 : na)