
यह रणनीति एक एसएसएल चैनल पर आधारित ट्रेंड ट्रैकिंग रणनीति है। यह स्थिर पूंजी वृद्धि के लिए लाभ को लॉक करने के लिए स्टॉप लॉस और स्टॉप स्टॉप प्रबंधन को जोड़ती है।
कोड का मुख्य तर्क यह है कि प्रवृत्ति की दिशा का न्याय करने के लिए एसएसएल के ऊपरी और निचले ट्रैक के गोल्डन क्रॉस का उपयोग करें। विशेष रूप से, जब एसएसएल के ऊपरी ट्रैक नीचे से एसएसएल के निचले ट्रैक को तोड़ता है, तो अधिक करें; जब एसएसएल के निचले ट्रैक ऊपर से नीचे से एसएसएल के ऊपरी ट्रैक को तोड़ता है, तो खाली करें।
एक बार स्थिति में प्रवेश करने के बाद, रणनीति एटीआर सूचक को गुणा करने के लिए स्टॉप-लॉस और स्टॉप प्राइस सेट करती है। उदाहरण के लिए, स्टॉप-लॉस प्राइस को एटीआर * 1.5 से घटाया जाता है, और स्टॉप-लॉस प्राइस को एटीआर * 1 से जोड़ा जाता है। यह प्रभावी रूप से एकल नुकसान को नियंत्रित कर सकता है और मुनाफे को लॉक कर सकता है।
जब एसएसएल चैनल फ्लिप हो जाता है, तो स्थिति को समतल करें। इस प्रकार आप रुझान के मोड़ को ट्रैक कर सकते हैं और समय पर नुकसान को रोक सकते हैं।
समाधान के लिएः
इस रणनीति की समग्र सोच स्पष्ट है, यह एसएसएल चैनल का उपयोग कर प्रवृत्ति का आकलन करती है, और एक उचित स्टॉप-लॉस सेट करती है। हालांकि, इसे और अधिक परीक्षण और अनुकूलन की आवश्यकता है, अन्य संकेतकों के साथ संयोजन में, झूठे संकेतों को फ़िल्टर करने के लिए, सबसे अच्छा पैरामीटर संयोजन खोजने के लिए। साथ ही, विभिन्न बाजारों के अनुसार पैरामीटर को समायोजित करने के लिए, रणनीति को अधिक लचीला बनाने के लिए। कुल मिलाकर, यह रणनीति स्थिर आय प्राप्त करने के लिए एक विश्वसनीय ढांचा प्रदान करती है।
/*backtest
start: 2022-11-26 00:00:00
end: 2023-05-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Designed per No Nonsense Forex VP rules
//For testing your individual indicators before the full system
//Originated from causecelebre
//Tried to put in as much VP rules as possible
///////////////////////////////////////////////////
//Rules Implemented:
///////////////////////////////////////////////////
// - SL 1.5 x ATR
// - TP 1 x ATR
//
// - Entry conditions
//// - Entry from 1 x confirmation
// - Exit conditions
//// - Exit on confirmation flip
///////////////////////////////////////////////////
//Trades entries
///////////////////////////////////////////////////
// - First entry L1 or S1 with standard SL and TP
///////////////////////////////////////////////////
//Included Indicators and settings
///////////////////////////////////////////////////
// - Confirmtion = SSL 10
///////////////////////////////////////////////////
//Credits
// Strategy causecelebre https://www.tradingview.com/u/causecelebre/
// SSL Channel ErwinBeckers https://www.tradingview.com/u/ErwinBeckers/
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Change log
//First release. Testing of indicators
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
strategy(title="NNFX Strategy Indicator | jh", overlay = true )
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// **** Set the main stuff ****
///////////////////////////////////////////////////
//Price
price = close
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ATR stuff
///////////////////////////////////////////////////
slMultiplier = input(1.5, "SL")
tpMultiplier = input(1, "TP")
atrlength = input(title="ATR Length", defval=14, minval=1)
atrsmoothing = input(title="Smoothing", defval="SMA", options=["RMA", "SMA", "EMA", "WMA"])
ma_function(source, atrlength) =>
if atrsmoothing == "RMA"
rma(source, atrlength)
else
if atrsmoothing == "SMA"
sma(source, atrlength)
else
if atrsmoothing == "EMA"
ema(source, atrlength)
else
wma(source, atrlength)
//plot(ma_function(tr(true), atrlength), title = "ATR", color=#991515, transp=0)
atr = ma_function(tr(true), atrlength)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// **** Confirmation ****
///////////////////////////////////////////////////
ssllen=input(title="SSL Length Period", defval=10)
smaHigh=sma(high, ssllen)
smaLow=sma(low, ssllen)
Hlv = na
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh: smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh
plot(sslDown, "SSL Down", linewidth=1, color=red)
plot(sslUp, "SSL Up", linewidth=1, color=lime)
///////////////////////////////////////////////////
//Confirm Signals
///////////////////////////////////////////////////
c_Up = sslUp
c_Down = sslDown
//Signals based on crossover
c_Long = crossover(c_Up, c_Down)
c_Short = crossover(c_Down, c_Up)
//Signals based on signal position
trendLong = c_Up > c_Down ? 1 : 0
trendShort = c_Down > c_Up ? 1 : 0
confirmLong = c_Long
confirmShort = c_Short
plotshape(trendLong, color = green, style=shape.triangleup, location=location.bottom)
plotshape(trendShort, color = red, style=shape.triangledown, location=location.bottom)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Entries and Exits
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (year>2009)
//Long entries with standard 1.5 ATR for SL, 1 ATR for TP
long_sl = price - (atr * slMultiplier)
long_tp = price + (atr * tpMultiplier)
strategy.order("L1", strategy.long, when = confirmLong)
strategy.close("L1", when = confirmShort)
strategy.exit("L Limit Exit", "L1", stop = long_sl, limit = long_tp)
//Short entries with standard 1.5 ATR for SL, 1 ATR for TP
short_sl = price + (atr * slMultiplier)
short_tp = price - (atr * tpMultiplier)
strategy.order("S1", strategy.short, when = confirmShort)
strategy.close("S1", when = confirmLong)
strategy.exit("S Limit Exit", "S1", stop = short_sl, limit = short_tp)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//End
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////