गतिशील स्टॉप-लॉस ट्रेलिंग रणनीति


निर्माण तिथि: 2024-01-03 16:15:29 अंत में संशोधित करें: 2024-01-03 16:15:29
कॉपी: 0 क्लिक्स: 596
1
ध्यान केंद्रित करना
1617
समर्थक

गतिशील स्टॉप-लॉस ट्रेलिंग रणनीति

अवलोकन

यह रणनीति स्टोच सूचक का उपयोग करके प्रवेश संकेतों का आकलन करती है, प्रवेश के बाद यह वास्तविक समय में नई उच्च या नई निम्न कीमतों का ट्रैक करती है, जिससे रोकथाम को गतिशील रूप से समायोजित किया जा सकता है। साथ ही, यह रणनीति अलर्ट फ़ंक्शन के माध्यम से रोकथाम संशोधन की जानकारी को MT4 / MT5 पर भेजती है, ताकि वास्तविक समय में वास्तविक व्यापार में स्थिति को समायोजित किया जा सके।

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

  1. यह रणनीति स्टोच सूचकांक पर आधारित है, जो खरीद और बेचने के संकेत देता है, जब स्टोच की के लाइन नीचे से डी लाइन को तोड़ती है तो खरीद संकेत देता है; जब स्टोच की के लाइन ऊपर से डी लाइन को तोड़ती है तो बेचने का संकेत देता है।

  2. प्रवेश के बाद, रणनीति गतिशील स्टॉपलॉस के रूप में न्यूनतम मूल्य के नवीनतम निम्न और उच्चतम मूल्य के नवीनतम उच्च को ट्रैक करती है। विशेष रूप से, यह न्यूनतम मूल्य के नवीनतम निम्न को स्टॉपलॉस के रूप में ट्रैक करता है; यह उच्चतम मूल्य के नवीनतम उच्च को स्टॉपलॉस के रूप में ट्रैक करता है।

  3. जब यह पता चलता है कि स्टॉप-लॉस में बदलाव हो रहा है, तो रणनीति अलर्ट फ़ंक्शन के माध्यम से स्टॉप-लॉस निर्देशों को संशोधित करती है, जो वास्तविक लेनदेन में स्टॉप-लॉस को वास्तविक समय में समायोजित करने के लिए एमटी 4 / एमटी 5 को भेजी जाती है। साथ ही स्टॉप-लॉस में बदलाव को देखने के लिए ग्राफिक लेबल भी तैयार किया जाता है।

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

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

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

  2. अलर्ट फ़ंक्शन का उपयोग करके स्टॉप लॉस एडजस्टमेंट जानकारी को वास्तविक समय में MT4/MT5 पर भेजा जा सकता है, जिससे मैन्युअल हस्तक्षेप के बिना स्वचालित प्रबंधन संभव हो सके।

  3. स्टॉप लॉस ट्रैकिंग के प्रभाव को देखने और सत्यापित करने के लिए स्टॉप लॉस समायोजन जानकारी को ग्राफिक रूप से चिह्नित करें।

  4. समर्थन मैनुअल नियंत्रण के लिए कि क्या स्टॉप लॉस ट्रैकिंग सक्षम है, विभिन्न बाजार स्थितियों के लिए लचीलापन।

  5. स्टोच सूचकांक के साथ समय पर निर्णय लेने के साथ, यह रणनीति की स्थिरता को बढ़ाने के लिए झूठी सफलताओं को प्रभावी ढंग से फ़िल्टर कर सकता है।

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

  1. स्टोच इंडिकेटर में बार-बार क्रॉस सिग्नल हो सकते हैं, जो अधिक अमान्य संचालन के जोखिम को बढ़ाते हैं। सिग्नल को फ़िल्टर करने के लिए पैरामीटर को उचित रूप से समायोजित किया जा सकता है।

  2. चरम स्थितियों में, स्टॉप लॉस को पार किया जा सकता है, जिससे बड़े नुकसान के जोखिम को पूरी तरह से टाला नहीं जा सकता है। स्थिति जोखिम की समय पर निगरानी करें।

  3. अलर्ट कनेक्शन में रुकावट, देरी और अन्य समस्याएं हो सकती हैं, परिणामों को वास्तविक समय में प्रतिक्रिया के साथ समायोजित नहीं किया जा सकता है, और इसे ठीक से संभालने की आवश्यकता है।

  4. गतिशील ट्रैक स्टॉप लॉस को अपेक्षाकृत गहन समायोजन की आवश्यकता होती है, जिससे अधिक लेनदेन लागत हो सकती है। समायोजन आयाम और लागत को संतुलित किया जाना चाहिए।

अनुकूलन दिशा

  1. बेहतर संकेत गुणवत्ता और रणनीतिक प्रभाव के लिए स्टोच को अनुकूलित करने के लिए विभिन्न पैरामीटर संयोजनों का परीक्षण किया जा सकता है।

  2. अन्य संकेतकों के साथ संयोजन में संकेतों को फ़िल्टर कर सकते हैं या समायोजन की चौड़ाई निर्धारित कर सकते हैं, स्टॉप लॉस तंत्र को अनुकूलित कर सकते हैं और रणनीति की स्थिरता में सुधार कर सकते हैं।

  3. विभिन्न ट्रैकिंग एल्गोरिदम पर शोध किया जा सकता है ताकि समायोजन की आवृत्ति को कम करते हुए नुकसान को रोक दिया जा सके।

  4. MT4/MT5 के साथ कनेक्टिविटी को अनुकूलित करें ताकि अलर्ट समय पर प्रभावी हो और विलंबता को कम किया जा सके।

  5. स्वचालित रोक मोड और मैनुअल मोड स्विच को पेश किया जा सकता है, विभिन्न बाजार स्थितियों के लिए विभिन्न रोक तंत्रों का उपयोग करना।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 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/
// © Peter_O

//@version=4
strategy(title="Moving Stop-Loss mechanism", overlay=true)

// This script was created for educational purposes only and it is a spin-off of my previous script:
// https://www.tradingview.com/script/9MJO3AgE-TradingView-Alerts-to-MT4-MT5-dynamic-variables-NON-REPAINTING/
// This spin-off adds very often requested Moving Stop-Loss Mechanism - the logic here moves the stop-loss each time 
// a new pivot is detected.
//
// Last lines of the script include alert() function calls, with a syntax compatible with TradingConnector
// for execution in Forex/indices/commodities/crypto markets via MetaTrader.
// Please note that "tradeid=" variable must be passed with each alert, so that MetaTrader knows which
// trade to modify.

TakeProfitLevel=input(400)

// **** Entries logic, based on Stoch **** {
periodK = 13 //input(13, title="K", minval=1)
periodD = 3 //input(3, title="D", minval=1)
smoothK = 4 //input(4, title="Smooth", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)

GoLong=crossover(k,d) and k<80
GoShort=crossunder(k,d) and k>20
// } End of entries logic

// **** Pivot-points and stop-loss logic **** {
piv_high = pivothigh(high,1,1)
piv_low = pivotlow(low,1,1)
var float stoploss_long=low
var float stoploss_short=high

pl=valuewhen(piv_low,piv_low,0)
ph=valuewhen(piv_high,piv_high,0)

if GoLong 
    stoploss_long := low<pl ? low : pl
if GoShort 
    stoploss_short := high>ph ? high : ph

plot(stoploss_long, color=color.red, title="stoploss_long")
plot(stoploss_short, color=color.lime, title="stoploss_short")

// Stop-Loss Updating mechanism
enable_stoploss_mechanism=input(true, title="Enable Stoploss Modification Mechanism")
UpdateLongStopLoss = strategy.position_size>0 and strategy.position_size[1]>0 and piv_low and pl!=stoploss_long and not GoLong and enable_stoploss_mechanism
UpdateShortStopLoss = strategy.position_size<0 and strategy.position_size[1]<0 and piv_high and ph!=stoploss_short and not GoShort and enable_stoploss_mechanism
if UpdateLongStopLoss
    stoploss_long := pl
if UpdateShortStopLoss
    stoploss_short := ph

plotshape(UpdateLongStopLoss ? stoploss_long[1]-300*syminfo.mintick : na, location=location.absolute, style=shape.labelup, color=color.lime, textcolor=color.white, text="SL\nmove")
plotshape(UpdateShortStopLoss ? stoploss_short[1]+300*syminfo.mintick : na, location=location.absolute, style=shape.labeldown, color=color.red, textcolor=color.black, text="SL\nmove")
// } End of Pivot-points and stop-loss logic

// **** Trade counter **** {
var int trade_id=0
if GoLong or GoShort
    trade_id:=trade_id+1
// } End of Trade counter

strategy.entry("Long", strategy.long, when=GoLong)
strategy.exit("XLong", from_entry="Long", stop=stoploss_long, profit=TakeProfitLevel)
strategy.entry("Short", strategy.short, when=GoShort)
strategy.exit("XShort", from_entry="Short", stop=stoploss_short, profit=TakeProfitLevel)

if GoLong
    alertsyntax_golong='long slprice=' + tostring(stoploss_long) + ' tradeid=' + tostring(trade_id) + ' tp=' + tostring(TakeProfitLevel)
    alert(message=alertsyntax_golong, freq=alert.freq_once_per_bar_close)
if GoShort
    alertsyntax_goshort='short slprice=' + tostring(stoploss_short) + ' tradeid=' + tostring(trade_id) + ' tp=' + tostring(TakeProfitLevel)
    alert(message=alertsyntax_goshort, freq=alert.freq_once_per_bar_close)
if UpdateLongStopLoss
    alertsyntax_updatelongstoploss='slmod slprice=' + tostring(stoploss_long) + ' tradeid=' + tostring(trade_id)
    alert(message=alertsyntax_updatelongstoploss, freq=alert.freq_once_per_bar_close)
if UpdateShortStopLoss
    alertsyntax_updateshortstoploss='slmod slprice=' + tostring(stoploss_short) + ' tradeid=' + tostring(trade_id)
    alert(message=alertsyntax_updateshortstoploss, freq=alert.freq_once_per_bar_close)