
यह रणनीति क्वांट नोमड द्वारा विकसित यूटी बॉट पर आधारित है, जिसमें मोबाइल स्टॉपलॉस की विचारधारा शामिल है। मूल कोड @Yo_adriiiiaan द्वारा लिखा गया है, @HPotter द्वारा संशोधित किया गया है। यह रणनीति लक्सएल्गो के स्मार्ट मनी कॉन्सेप्ट्स के साथ काम करेगी। यह रणनीति वर्तमान में परीक्षण चरण में है।
इस रणनीति के मुख्य सिद्धांत इस प्रकार हैं:
इस रणनीति के आधार पर यूटी बॉट संकेतक, जोड़े गए मोबाइल रोक के तर्क, कर सकते हैं की रक्षा के लिए लाभ में एक प्रवृत्ति की स्थिति. साथ ही, रणनीति के लिए अलग-अलग सेट और बहु हेड और खाली हेड पदों के नुकसान, अनुकूलनशीलता मजबूत है. का उपयोग कर एटीआर के रूप में संदर्भ के आधार पर मोबाइल रोक, आप कर सकते हैं गतिशील रूप से समायोजित करने के लिए रोक की स्थिति, लचीलापन को बढ़ाने. हालांकि, इस रणनीति में एक अस्थिरता की स्थिति में उच्च व्यापार लागत का जोखिम हो सकता है की वजह से लगातार नुकसान, और एक मोबाइल रोक की कमी है, गलत लाभ के लिए संभव. इसके अलावा, पैरामीटर का चयन रणनीति के प्रदर्शन पर एक बड़ा प्रभाव है.
भविष्य में, रणनीति को बेहतर बनाने के लिए बेहतर लाभ प्राप्त करने के लिए, प्रवेश की शर्तों को अनुकूलित करना, अधिक जटिल गतिशील रोकथाम के तरीकों का पता लगाना, गतिशील रोकथाम तंत्र को शामिल करना, विभिन्न किस्मों और चक्रों के लिए पैरामीटर अनुकूलन करना आदि। कुल मिलाकर, यह रणनीति सरल है, इसे समझना और लागू करना आसान है, लेकिन आगे के अनुकूलन के लिए जगह है, जो खोज और सुधार के लायक है।
/*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")