
یہ ایک کثیر فاریکس رجحان ٹریکنگ حکمت عملی ہے جو اوسط حقیقی اتار چڑھاو کی حد ((ATR) اور اشاریہ کی حرکت پذیری اوسط ((EMA) پر مبنی ہے۔ حکمت عملی متحرک اسٹاپ نقصان اور رجحان کا فیصلہ کرنے کے ذریعے مارکیٹ کے رجحانات کو درست طریقے سے پکڑنے اور خطرے کے انتظام کے ل.
اس حکمت عملی کے بنیادی اصولوں میں درج ذیل اہم اقدامات شامل ہیں:
بنیادی کمپیوٹنگ منطق:
رسک کنٹرول کی تجاویز:
اصلاح کے اہداف: حکمت عملی کے استحکام کو بہتر بنانا ، پیچھے ہٹنا کم کرنا ، منافع بخش کارکردگی کو بہتر بنانا
یہ اے ٹی آر اور ای ایم اے پر مبنی ایک متحرک رجحان ٹریکنگ حکمت عملی ہے ، جس میں لچکدار اسٹاپ نقصان کے طریقہ کار اور رجحانات کا اندازہ لگانے کے ذریعہ نسبتا stable مستحکم مارکیٹ میں شرکت کی جاسکتی ہے۔ حکمت عملی میں اچھی موافقت اور رسک مینجمنٹ کی خصوصیات ہیں ، لیکن اس کی مسلسل اصلاح اور توثیق کی ضرورت ہے۔
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-02 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
//@version=6
strategy("ducanhmaster v1", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Inputs
a = input.int(1, title="Key Value. 'This changes the sensitivity'")
c = input.int(10, title="ATR Period")
h = input.bool(false, title="Signals from Heikin Ashi Candles")
xATR = ta.atr(c)
nLoss = a * xATR
// Compute Heikin Ashi values
heikinAshiOpen = (open + close) / 2
heikinAshiClose = (open + high + low + close) / 4
heikinAshiHigh = math.max(high, math.max(heikinAshiOpen, heikinAshiClose))
heikinAshiLow = math.min(low, math.min(heikinAshiOpen, heikinAshiClose))
src = h ? heikinAshiClose : close
// Declare xATRTrailingStop as a float variable and initialize it with 'na'
var float xATRTrailingStop = na
if (src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0))
xATRTrailingStop := math.max(nz(xATRTrailingStop[1]), src - nLoss)
else if (src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0))
xATRTrailingStop := math.min(nz(xATRTrailingStop[1]), src + nLoss)
else
xATRTrailingStop := src > nz(xATRTrailingStop[1], 0) ? src - nLoss : src + nLoss
// Declare 'pos' as an integer variable instead of leaving it undefined
var int pos = na
if (src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0))
pos := 1
else if (src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0))
pos := -1
else
pos := nz(pos[1], 0)
xcolor = pos == -1 ? color.red : pos == 1 ? color.green : color.blue
ema = ta.ema(src, 1)
above = ta.crossover(ema, xATRTrailingStop)
below = ta.crossover(xATRTrailingStop, ema)
buy = src > xATRTrailingStop and above
sell = src < xATRTrailingStop and below
barbuy = src > xATRTrailingStop
barsell = src < xATRTrailingStop
// Plot buy/sell signals on the chart
plotshape(buy, title="Buy", text='Buy', style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), textcolor=color.white, size=size.tiny)
plotshape(sell, title="Sell", text='Sell', style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.white, size=size.tiny)
// Change bar color when buy/sell conditions are met
barcolor(barbuy ? color.green : na)
barcolor(barsell ? color.red : na)
// Enter a Long trade when a buy signal appears and exit when a sell signal appears
if (buy)
strategy.entry("long", strategy.long)
if (sell)
strategy.close("long")