
یہ حکمت عملی ایس ایس ایل چینل کے اشارے پر مبنی ایک رجحان ٹریکنگ حکمت عملی ہے۔ اس میں اسٹاپ نقصان اور اسٹاپ اسٹاپ مینجمنٹ کو ملا کر منافع کو لاک کرنے کے لئے استعمال کیا جاتا ہے تاکہ مستحکم فنڈ میں اضافہ کیا جاسکے۔
کوڈ کی بنیادی منطق یہ ہے کہ SSL اوپری اور ڈور ٹریک کا سنہری کراس استعمال کیا جائے تاکہ رجحان کی سمت کا فیصلہ کیا جاسکے۔ خاص طور پر ، جب SSL اوپری ٹریک نیچے کی طرف سے SSL ڈور ٹریک کو توڑتا ہے تو ، زیادہ کام کریں۔ جب SSL ڈور ٹریک اوپر سے نیچے کی طرف سے SSL اوپری ٹریک کو توڑتا ہے تو ، خالی کرو۔
پوزیشن میں داخل ہونے کے بعد ، حکمت عملی اسٹاپ نقصان اور اسٹاپ قیمت کو مقرر کرنے کے لئے اے ٹی آر اشارے کو ایک فیکٹر کے ذریعہ استعمال کرتی ہے۔ مثال کے طور پر ، اسٹاپ نقصان کی قیمت قیمت سے کم اے ٹی آر * 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
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////