यूटी बॉट इंडिकेटर पर आधारित एटीआर मूविंग स्टॉप लॉस रणनीति


निर्माण तिथि: 2024-03-11 11:17:33 अंत में संशोधित करें: 2024-03-11 11:17:33
कॉपी: 0 क्लिक्स: 2014
1
ध्यान केंद्रित करना
1617
समर्थक

यूटी बॉट इंडिकेटर पर आधारित एटीआर मूविंग स्टॉप लॉस रणनीति

अवलोकन

यह रणनीति क्वांट नोमड द्वारा विकसित यूटी बॉट पर आधारित है, जिसमें मोबाइल स्टॉपलॉस की विचारधारा शामिल है। मूल कोड @Yo_adriiiiaan द्वारा लिखा गया है, @HPotter द्वारा संशोधित किया गया है। यह रणनीति लक्सएल्गो के स्मार्ट मनी कॉन्सेप्ट्स के साथ काम करेगी। यह रणनीति वर्तमान में परीक्षण चरण में है।

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

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

  1. जब समापन मूल्य 50 अवधि के सरल चलती औसत से अधिक होता है, तो अधिक व्यापार करें।
  2. मल्टी हेड पोजीशन के लिए, एक मूविंग स्टॉप प्राइस सेट करें। मूविंग स्टॉप प्राइस वर्तमान समापन मूल्य का 80% है (१-२०%) । मूविंग स्टॉप प्राइस कीमतों के बढ़ने के साथ ऊपर जाता है, लेकिन नीचे नहीं जाता है, जिससे लाभ की रक्षा होती है।
  3. एक खाली स्थिति के लिए, एक चलती रोक मूल्य भी सेट करें। चलती रोक मूल्य वर्तमान समापन मूल्य का 120% है। 1 + 20%। चलती रोक मूल्य नीचे की ओर बढ़ता है, लेकिन ऊपर नहीं जाता है।
  4. एटीआर (Average True Range) का उपयोग करके चलती रोक के लिए संदर्भ के रूप में। एटीआर (ATR) चलती रोक मूल्य की गणना इस प्रकार की जाती हैः जब यह ऊपर की ओर बढ़ता है, तो पिछले एटीआर (ATR) की चलती रोक मूल्य और (ATR) की वर्तमान समापन मूल्य ली जाती है।*Key Value) दोनों का बड़ा मूल्य; नीचे जाने पर, पिछले एटीआर को रोकें और वर्तमान समापन मूल्य + एटीआर ले जाएं*Key Value) दोनों का छोटा मान है। इसमें Key Value उपयोगकर्ता द्वारा सेट किया गया पैरामीटर है, जो मोबाइल स्टॉपलॉस की संवेदनशीलता को समायोजित करने के लिए है।
  5. एटीआर मूविंग स्टॉप मूल्य के टूटने के आधार पर, वर्तमान स्थिति की दिशा का न्याय करें। जब कीमत एटीआर मूविंग स्टॉप मूल्य को ऊपर की ओर तोड़ती है, तो मल्टीहेड स्थिति रखें; जब कीमत एटीआर मूविंग स्टॉप मूल्य को नीचे की ओर तोड़ती है, तो खाली स्थिति रखें; अन्य मामलों में वर्तमान स्थिति को बरकरार रखें।

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

  1. गतिशील स्टॉप-लॉस सेटिंग्स लाभ को अच्छी तरह से संरक्षित करती हैं, जिससे रणनीति को प्रवृत्ति के दौरान अधिक लाभ प्राप्त करने की अनुमति मिलती है।
  2. विभिन्न स्थितियों के लिए अनुकूलित करने के लिए बहु और रिक्त पदों के लिए स्टॉपलॉस सेट करें।
  3. एटीआर का उपयोग स्टॉप लॉस के लिए एक संदर्भ के रूप में किया जाता है, जिससे स्टॉप लॉस की स्थिति को गतिशील रूप से समायोजित किया जा सकता है, जो अधिक लचीला और प्रभावी है।
  4. उपयोगकर्ता अनुकूलन के लिए Key Value पैरामीटर प्रदान किए गए हैं, जिन्हें विभिन्न किस्मों और चक्रों के अनुसार समायोजित किया जा सकता है, जिससे अनुकूलनशीलता में सुधार होता है।

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

  1. अस्थिरता के दौरान, लगातार स्टॉप लॉस के कारण अधिक लेनदेन हो सकता है, जिससे शुल्क की लागत बढ़ सकती है और लाभ कम हो सकता है।
  2. एक निश्चित प्रतिशत की गतिशील रोक अपेक्षाकृत सरल है और कुछ स्थितियों में मूल्य उतार-चढ़ाव का सामना करने में असमर्थ हो सकती है।
  3. इस रणनीति में केवल चलती रोक को ध्यान में रखा गया है, और कोई चलती रोक नहीं है, जो कुछ लाभ के अवसरों को याद कर सकता है।
  4. पैरामीटर का चयन रणनीति के प्रदर्शन पर अधिक प्रभाव डालता है, और गलत पैरामीटर अधिक वापसी का जोखिम पैदा कर सकता है।

अनुकूलन दिशा

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

संक्षेप

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

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

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

//@version=4
strategy("Trailingstop", overlay=true)

if close > sma(close, 50)
    strategy.entry("long", strategy.long)

// Trailing stop loss for long positions
Trailperc = 0.20
price_stop_long = 0.0

if (strategy.position_size > 0)
    stopValue = close * (1 - Trailperc)
    price_stop_long := max(stopValue, price_stop_long[1])
else
    price_stop_long := 0

if (strategy.position_size > 0)
    strategy.exit(id="stoploss_long", stop=price_stop_long)

// Trailing stop loss for short positions
Trailperc_short = 0.20
price_stop_short = 0.0

if (strategy.position_size < 0)
    stopValue_short = close * (1 + Trailperc_short)
    price_stop_short := min(stopValue_short, price_stop_short[1])
else
    price_stop_short := 0

if (strategy.position_size < 0)
    strategy.exit(id="stoploss_short", stop=price_stop_short)

// ATR Trailing Stop for visualization
keyvalue = input(3, title="Key Value. 'This changes the sensitivity'", step=0.5)
atrperiod = input(10, title="ATR Period")
xATR = atr(atrperiod)
nLoss = keyvalue * xATR

xATRTrailingStop = 0.0
xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
   iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss),
   iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))

pos = 0  
pos :=   iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
   iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))

xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue

plot(xATRTrailingStop, color = xcolor, title = "Trailing Stop")