
ट्रेंड ट्रैकिंग स्टॉप-लॉस रणनीति एक ट्रेंड ट्रैकिंग स्टॉप-लॉस ट्रेडिंग रणनीति है जो ट्रेंड अलर्ट पर आधारित है। यह ट्रेंड अलर्ट के माध्यम से ट्रेंड की दिशा का आकलन करता है, ट्रेंड ट्रैकिंग प्रविष्टि को लागू करता है। साथ ही यह एटीआर संकेतक का उपयोग करके स्टॉप-लॉस सेट करता है, जो जोखिम नियंत्रण को लागू करता है।
इस रणनीति में मुख्य रूप से निम्नलिखित घटक शामिल हैंः
TrendAlert सूचक प्रवृत्ति की दिशा का निर्धारण करता है। जब TrendAlert 0 से अधिक होता है तो यह एक bullish संकेत है, और 0 से कम होने पर यह एक bearish संकेत है।
एटीआर सूचकांक हालिया मूल्य उतार-चढ़ाव की सीमा की गणना करता है। एटीआर एटीआर स्टॉप मल्टीप्लायर को एटीआर स्टॉप मल्टीप्लायर से गुणा करता है।
lowestLow और highestHigh एटीआर स्टॉप लॉस बिल्ड ट्रैकिंग स्टॉप लॉस के साथ। क्या स्ट्रक्चर पैरामीटर नियंत्रण सक्षम है?
ट्रेड सिग्नल की दिशा के आधार पर अधिक या कम स्थिति में प्रवेश करें। प्रवेश के बाद, टेक प्रॉफिट और स्टॉप लॉस सेट करें।
जब कीमत स्टॉपलॉस या स्टॉपलॉस को ट्रिगर करती है, तो पोजीशन को क्लियर करें।
इस रणनीति के माध्यम से प्रवृत्ति का आकलन, झूठे संकेतों को फ़िल्टर करना, स्टॉप-लॉस नियंत्रण जोखिमों को ट्रैक करना, लक्ष्य लाभ को सुनिश्चित करना, और ट्रेडिंग सिस्टम की स्थिरता को समग्र रूप से सुधारना।
इस रणनीति के मुख्य फायदे हैंः
ट्रेंड फ़िल्टरिंग और स्टॉप लॉस ट्रैकिंग दोहरी गारंटी, बाजार के शोर का पीछा करने से बचें, और सुनिश्चित करें कि ट्रेडिंग जोखिम नियंत्रित है।
एटीआर स्व-अनुकूली रोकथाम सेटिंग्स अति-अनुकूलन को रोकने के लिए, कई बाजार स्थितियों के लिए उपयुक्त है।
लक्ष्य को रोकना लाभ को सुनिश्चित करने के लिए है, लाभ को खाने से बचने के लिए।
रणनीति तर्क स्पष्ट और संक्षिप्त है, संशोधनों को समझने में आसान है, और मात्रात्मक व्यापारियों के लिए उपयुक्त है।
Pine स्क्रिप्टिंग भाषा में लिखा गया है, जिसे ट्रेडिंग व्यू प्लेटफॉर्म पर सीधे उपयोग किया जा सकता है, बिना किसी प्रोग्रामिंग के।
इस रणनीति के कुछ जोखिम भी हैं:
रुझान निर्णय में त्रुटि के कारण अनावश्यक प्रवेश और स्टॉप लॉस ट्रिगर हो सकता है। स्टॉप लॉस को उचित रूप से आराम दिया जा सकता है या प्रवेश संकेतों को फ़िल्टर किया जा सकता है।
एटीआर में वास्तविक लहरों को कम करके आंका जा सकता है जब स्थिति में भारी उतार-चढ़ाव होता है। इस स्थिति में एटीआर स्टॉप मल्टीप्लायर को बढ़ाया जा सकता है।
लक्ष्य स्टॉप रणनीति के लिए लाभ कमाने के लिए जगह को सीमित कर सकता है। बाजार के आधार पर सीमा गुणांक को समायोजित किया जा सकता है।
कोड अस्तित्व तर्क केवल कीमतों पर आधारित है, और वास्तव में समय प्रबंधन के साथ जोड़ा जाना चाहिए।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
एटीआर लंबाई और स्टॉप मल्टीप्लायर को अनुकूलित करें, स्टॉप एल्गोरिदम की संवेदनशीलता को समायोजित करें।
विभिन्न रुझानों और सूचकांकों को आज़माएं और बेहतर समय की तलाश करें।
विशिष्ट व्यापार प्रकार विशेषताओं के अनुसार लक्ष्य रोकथाम मापदंडों को चुनें या समायोजित करें।
समय की बर्बादी को रोकने के लिए और रात में अकेले रहने से बचने के लिए।
ट्रेड वॉल्यूम इंडिकेटर फ़िल्टरिंग के साथ, नकली ब्रेकआउट रणनीति की स्थिरता को बढ़ाता है।
इस रणनीति के लिए कुल मिलाकर एक बहुत ही व्यावहारिक रुझान ट्रैक करने के लिए रणनीति बंद. यह प्रवृत्ति ट्रैक करने के लिए प्रवृत्ति दिशा का निर्णय करने के लिए संकेतकों का उपयोग करता है, जबकि जोखिम नियंत्रण सुनिश्चित करने के लिए आत्म-अनुकूली रोकथाम की स्थापना. रणनीति स्पष्ट तर्क है, उपयोग करने के लिए सरल है, और शुरुआती सीखने के लिए बहुत उपयुक्त है. यह भी उन्नत रणनीति के विकास के लिए एक अच्छा ट्रेडिंग रणनीति ढांचा प्रदान करता है, यह अध्ययन और परिमाण व्यापारी के अनुकूलन के लायक है.
/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jaque_verdatre
//@version=5
strategy("TrendAlert Based", overlay = true)
// Get inputs
TrendAlert = input.source(close, "TrendAlert")
atrLength = input.int(title="ATR Length", defval=15, minval=1)
useStructure = input.bool(title="Use Structure?", defval=true)
lookback = input.int(title="How Far To Look Back For High/Lows", defval=8, minval=1)
atrStopMultiplier = input.float(title="ATR Multiplier", defval=0.2, minval=0.1)
LimitMultiplier = input.float(title = "Limit Multiplier", defval = 0.5, minval = 0.1)
PineConnectorID = input.int(title = "Pine Connector ID",defval = 0)
CurrencyToSend = input.string(title = "personilized currency", defval = "ETHUSD")
Risk = input.int(title = "risk in % to send", defval = 10, minval = 1)
// Calculate data
atr = ta.atr(atrLength)
lowestLow = ta.lowest(low, lookback)
highestHigh = ta.highest(high, lookback)
longStop = (useStructure ? lowestLow : close) - atr * atrStopMultiplier
shortStop = (useStructure ? highestHigh : close) + atr * atrStopMultiplier
// Draw data to chart
plot(atr, color=color.rgb(33, 149, 243), title="ATR", display = display.none)
plot(longStop, color=color.green, title="Long Trailing Stop")
plot(shortStop, color=color.red, title="Short Trailing Stop")
var float LimitL = na
var float LimitS = na
var float LPosPrice = na
var float SPosPrice = na
var float LPosLongStop = na
var float SPosShortStop = na
KnowLimit (PosPrice, PosStop) =>
(PosPrice-PosStop)*LimitMultiplier+PosPrice
NotInTrade = strategy.position_size == 0
InLongTrade = strategy.position_size > 0
InShortTrade = strategy.position_size < 0
longCondition = TrendAlert > 0 and NotInTrade
if (longCondition)
LPosPrice := close
LPosLongStop := longStop
LimitL := KnowLimit(LPosPrice, LPosLongStop)
strategy.entry("long", strategy.long)
LTPPip = LimitL-LPosPrice
LSLPip = LPosPrice-longStop
alert(str.tostring(PineConnectorID)+',buy,'+str.tostring(CurrencyToSend)+',risk='+str.tostring(Risk)+',sl='+str.tostring(LSLPip)+'tp='+str.tostring(LTPPip), alert.freq_once_per_bar_close)
strategy.exit("exit", "long", stop = longStop, limit = LimitL)
shortCondition = TrendAlert < 0 and NotInTrade
if (shortCondition)
SPosPrice := close
SPosShortStop := shortStop
LimitS := KnowLimit(SPosPrice, SPosShortStop)
strategy.entry("short", strategy.short)
STPPip = SPosPrice-LimitS
SSLPip = shortStop - SPosPrice
alert(str.tostring(PineConnectorID)+',sell,ETHUSD,risk=10,sl='+str.tostring(SSLPip)+'tp='+str.tostring(STPPip), alert.freq_once_per_bar_close)
strategy.exit("exit", "short", stop = shortStop, limit = LimitS)
plotshape(longCondition, color = color.green, style = shape.labelup, location = location.belowbar, size = size.normal, title = "Long Condition")
plotshape(shortCondition, color = color.red, style = shape.labeldown, location = location.abovebar, size = size.normal, title = "Short Condition")
if (InShortTrade)
LimitL := close
LPosLongStop := close
LPosPrice := close
PlotLongTakeProfit = plot(LimitL, color = InLongTrade ? color.rgb(0, 255, 64) : color.rgb(120, 123, 134, 100), title = "Long Take Profit")
PlotLongStopLoss = plot(LPosLongStop, color = InLongTrade ? color.rgb(255, 0, 0) : color.rgb(120, 123, 134, 100), title = "Long Stop Loss")
PlotLongPosPrice = plot(LPosPrice, color = InLongTrade ? color.gray : color.rgb(120, 123, 134, 100), title = "Long Position Price")
if (InLongTrade)
LimitS := close
SPosShortStop := close
SPosPrice := close
PlotShortTakeProfit = plot(LimitS, color = InShortTrade ? color.rgb(0, 255, 64) : color.rgb(120, 123, 134, 100), title = "Short Take Profit")
PlotShortStopLoss = plot(SPosShortStop, color = InShortTrade ? color.rgb(255, 0, 0) : color.rgb(120, 123, 134, 100), title = "Short Stop Loss")
PlotShortPosPrice = plot(SPosPrice, color = InShortTrade ? color.gray : color.rgb(120, 123, 134, 100), title = "Short Position Price")
fill(PlotLongPosPrice, PlotLongTakeProfit, color = InLongTrade ? color.rgb(0, 255, 0, 95) : color.rgb(0, 255, 0, 100))
fill(PlotShortPosPrice, PlotShortTakeProfit, color = InShortTrade ? color.rgb(0, 255, 0, 95) : color.rgb(0, 255, 0, 100))
fill(PlotLongPosPrice, PlotLongStopLoss, color = InLongTrade ? color.rgb(255, 0, 0, 95) : color.rgb(255, 0, 0, 100))
fill(PlotShortPosPrice, PlotShortStopLoss, color = InShortTrade ? color.rgb(255, 0, 0, 95) : color.rgb(255, 0, 0, 100))