
یہ حکمت عملی ای ایم اے اوسط پر مبنی ہے اور اس میں ٹریڈنگ کے رجحانات کو پکڑنے کے لئے متحرک لمبی اور مختصر پوزیشنوں کی روک تھام کی لائنز قائم کی گئی ہیں۔
اے ٹی آر کا استعمال کرتے ہوئے خطرے کو کنٹرول کرنے ، قلیل مدتی اسٹاپ نقصان کی حکمت عملی کو بہتر بنانے ، یا دوسرے اشارے کے ساتھ مل کر شور کو فلٹر کرنے والے تجارت جیسے طریقوں کو بہتر بنایا جاسکتا ہے۔
یہ حکمت عملی مجموعی طور پر ایک بہت ہی عام رجحان کی پیروی کرنے والی حکمت عملی ہے۔ ڈبل ای ایم اے گولڈ فورک ، متحرک اسٹاپس کی تشکیل کرتی ہے ، جو رجحان کو منافع میں مؤثر طریقے سے بند کردیتی ہے۔ اس کے ساتھ ہی کچھ تاخیر کا خطرہ اور اسٹاپس کے زیادہ وسیع ہونے کا خطرہ بھی موجود ہے۔ اس حکمت عملی کی بہتر کارکردگی کو پیرامیٹرز کی اصلاح ، رسک مینجمنٹ ، سگنل فلٹرنگ اور اسی طرح کے طریقوں سے حاصل کیا جاسکتا ہے۔
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy", shorttitle="EMAC", overlay=true,calc_on_every_tick=true)
// Input parameters
shortEmaLength = input(5, title="Short EMA Length")
longEmaLength = input(20, title="Long EMA Length")
priceEmaLength = input(1, title="Price EMA Length")
// Set stop loss level with input options (optional)
longLossPerc = input.float(0.05, title="Long Stop Loss (%)",
minval=0.0, step=0.1) * 0.01
shortLossPerc = input.float(0.05, title="Short Stop Loss (%)",
minval=0.0, step=0.1) * 0.01
// Calculating indicators
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
//priceEma = ta.ema(close, priceEmaLength)
vwap = ta.vwap(close)
// Long entry conditions
longCondition = ta.crossover(shortEma, longEma) and close > vwap
// Short entry conditions
shortCondition = ta.crossunder(shortEma, longEma) and close > vwap
// STEP 2:
// Determine stop loss price
longStopPrice = strategy.position_avg_price * (1 - longLossPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc)
if (longCondition)
strategy.entry("Enter Long", strategy.long)
strategy.exit("Exit Long",from_entry = "Enter Long",stop= longStopPrice)
plotshape(series=longCondition, title="Long Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
if (shortCondition)
strategy.entry("Enter Short", strategy.short)
strategy.exit("Exit Short", from_entry = "Enter Short",stop = shortStopPrice)
plotshape(series=shortCondition, title="Short Signal", color=color.red, style=shape.triangledown, location=location.abovebar)
// Stop loss levels
//longStopLoss = (1 - stopLossPercent) * close
//shortStopLoss = (1 + stopLossPercent) * close
// Exit conditions
//strategy.exit("Long", from_entry="Long", loss=longStopLoss)
//strategy.exit("Short", from_entry="Short", loss=shortStopLoss)
// Plotting indicators on the chart
plot(shortEma, color=color.yellow, title="Short EMA")
plot(longEma, color=color.green, title="Long EMA")
plot(close, color=color.black, title="Close")
plot(vwap, color=color.purple, title="VWAP")
// Plot stop loss values for confirmation
plot(strategy.position_size > 0 ? longStopPrice : na,
color=color.red, style=plot.style_line,
linewidth=2, title="Long Stop Loss")
plot(strategy.position_size < 0 ? shortStopPrice : na,
color=color.blue, style=plot.style_line,
linewidth=2, title="Short Stop Loss")
// Plotting stop loss lines
//plot(longStopLoss, color=color.red, title="Long Stop Loss", linewidth=2, style=plot.style_line)
//plot(shortStopLoss, color=color.aqua, title="Short Stop Loss", linewidth=2, style=plot.style_line)