द्विदिशात्मक एमए ट्रेलिंग स्टॉप लॉस रणनीति


निर्माण तिथि: 2023-11-16 17:18:59 अंत में संशोधित करें: 2023-11-16 17:18:59
कॉपी: 1 क्लिक्स: 590
1
ध्यान केंद्रित करना
1617
समर्थक

द्विदिशात्मक एमए ट्रेलिंग स्टॉप लॉस रणनीति

अवलोकन

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

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

इस रणनीति में, hl2 को स्रोत मूल्य के रूप में उपयोग किया जाता है और एक निश्चित चक्र के लिए ATR को स्टॉप लॉस की सीमा के रूप में गणना की जाती है। ATR मान के आधार पर, एक निश्चित गुणांक के आधार पर ऊपरी और निचले ट्रैक की गणना की जाती है। जब कीमत ऊपरी ट्रैक पर जाती है, तो एक खरीद संकेत उत्पन्न होता है।

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

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

रणनीतिक लाभ

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

इसके अलावा, इस रणनीति में बहु-हवाई द्वि-दिशात्मक व्यापार शामिल है। एकतरफा रणनीतियों की तुलना में, यह प्रवृत्ति के मोड़ पर स्थिति की दिशा को समय पर समायोजित करने में सक्षम है, जिससे एक ही दिशा में फंसने से बचा जा सकता है, और रणनीति के लाभ को बढ़ाया जा सकता है।

रणनीतिक जोखिम

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

पैरामीटर चक्र और गुणांक के अनुकूलन के माध्यम से, स्टॉप-लॉस रिटर्न को संतुलित किया जा सकता है; अन्य संकेतकों के साथ संयोजन में, फ़िल्टरिंग झूठी तोड़फोड़, सिग्नल की गुणवत्ता में सुधार, और जोखिम को कम करना।

अनुकूलन दिशा

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

  1. चलती औसत चक्रों का अनुकूलन करें, सर्वोत्तम पैरामीटर संयोजन खोजें

  2. सिग्नल की गुणवत्ता में सुधार के लिए MACD, KDJ आदि जैसे अन्य संकेतकों को फ़िल्टर करें

  3. स्थिति प्रबंधन रणनीतियों जैसे कि फिक्स्ड शेयर, मार्टिंगेल आदि को बढ़ाएं और रणनीति रिटर्न में सुधार करें

  4. विभिन्न प्रजातियों के बीच मापदंडों के अंतर का अध्ययन करने और मापदंडों का अनुकूलन करने के लिए

  5. अनुवांशिक एल्गोरिदम जैसे मशीन लर्निंग विधियों के साथ पैरामीटर के लिए प्रशिक्षण अनुकूलन

संक्षेप

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KivancOzbilgic


//@version=4
strategy("Trenbolone Strategy", overlay = true)
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
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
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=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
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white
fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highligter", 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.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)