
ڈبل اشاریہ حرکت پذیر اوسط ملٹی ٹارگٹ ٹریڈنگ حکمت عملی ایک مقداری تجارتی نظام ہے جو قلیل مدتی اور طویل مدتی اشاریہ حرکت پذیر اوسط ((EMA) کراس سگنل پر مبنی ہے۔ اس حکمت عملی میں 9 سائیکل اور 21 سائیکل EMA کے کراس کو انٹری سگنل کے طور پر استعمال کیا جاتا ہے ، جبکہ خطرے کے انتظام اور منافع کو زیادہ سے زیادہ کرنے کے لئے 10 تک منافع کے اہداف اور ایک اسٹاپ نقصان کا مقام طے کیا جاتا ہے۔ اس حکمت عملی میں ایک ہی وقت میں دو طرفہ تجارت کی حمایت کی جاتی ہے۔
اس حکمت عملی کا بنیادی اصول ایک اشاریہ منتقل اوسط کراسنگ نظام پر مبنی ہے، جس میں مندرجہ ذیل عملدرآمد کیا گیا ہے:
اس حکمت عملی میں خطرہ کے انتظام کا ایک منظم طریقہ استعمال کیا گیا ہے ، ہر تجارت پر 10٪ اکاؤنٹ فنڈ کا استعمال ڈیفالٹ کے طور پر کیا جاتا ہے ، ابتدائی فنڈ 100،000 ہے ، اور اس میں ہراساں کرنے پر پابندی عائد ہے۔
ان خطرات کو کم کرنے کے لئے ، یہ تجویز کیا گیا ہے کہ اضافی فلٹرنگ شرائط متعارف کروائیں ، جیسے رجحان کی طاقت کا اشارے ، اور مارکیٹ میں اتار چڑھاؤ کی متحرک حالت کے مطابق اسٹاپ نقصان اور ہدف کی پوزیشنوں کو ایڈجسٹ کرنے پر غور کریں۔
ان اصلاحات کے ذریعے حکمت عملی کی استحکام اور منافع بخش صلاحیت میں نمایاں اضافہ کیا جاسکتا ہے ، اور واپسی اور نقصان دہ تجارت کی تعدد کو کم کیا جاسکتا ہے۔
ڈبل اشاریہ منتقل اوسط ملٹی ٹارگٹ ٹریڈنگ حکمت عملی ایک واضح ساختہ ، منطقی طور پر آسان ، مقداری تجارتی نظام ہے ، جو کلاسیکی ای ایم اے کراس سگنل پر مبنی ہے ، اور اس میں ملٹی ٹارگٹ منافع کے انتظام اور اسٹاپ نقصان کی ترتیب شامل ہے۔ یہ حکمت عملی درمیانی اور قلیل مدتی رجحانات کی تجارت کے لئے موزوں ہے ، جو واضح رجحانات والی منڈیوں میں بہتر کارکردگی کا مظاہرہ کرتی ہے۔
اگرچہ حکمت عملی کا ڈیزائن نسبتا simple آسان ہے ، لیکن اس میں تجارتی حکمت عملی کے بنیادی عناصر شامل ہیں: داخلہ سگنل ، باہر نکلنے کی شرائط ، اسٹاپ نقصان کا انتظام اور منافع کے اہداف۔ حکمت عملی کا بنیادی فائدہ یہ ہے کہ یہ واضح ، آسانی سے سمجھنے اور اس پر عمل درآمد کے ساتھ ساتھ اچھی بصری مدد فراہم کرتا ہے۔
تاہم ، حکمت عملی میں ایک ہی اشارے پر انحصار کرنے ، مارکیٹ کے ماحول کی شناخت کی کمی اور فنڈ مینجمنٹ میں کافی لچک نہ ہونے جیسی حدود بھی ہیں۔ اس حکمت عملی میں رجحان فلٹرز کو شامل کرکے ، اسٹاپ نقصان کے طریقہ کار کو بہتر بنانے ، حقیقی قسطوں میں منافع حاصل کرنے اور فنڈ مینجمنٹ کے طریقوں کو بہتر بنانے کے ذریعے بہتری کی گنجائش ہے۔
اس حکمت عملی کو ایک بنیادی فریم ورک کے طور پر استعمال کیا جاسکتا ہے ، جو انفرادی خطرے کی ترجیحات اور تجارت کی نوعیت کی خصوصیات کے مطابق انفرادی طور پر بہتر ٹریڈنگ کے ل adjust ایڈجسٹ اور بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2024-08-21 00:00:00
end: 2025-08-20 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_OKX","currency":"BNB_USDT","balance":5000}]
*/
//@version=5
strategy("9/21 EMA with 10 Targets + Stoploss",
overlay = true,
initial_capital = 100000,
default_qty_type = strategy.percent_of_equity,
default_qty_value = 10,
pyramiding = 0)
// === Inputs ===
emaFastLen = input.int(9, "Fast EMA Length")
emaSlowLen = input.int(21, "Slow EMA Length")
slPercent = input.float(0.5, "Stoploss %", step=0.1)
// 10 Targets
tp1Percent = input.float(0.5, "Target 1 %", step=0.1)
tp2Percent = input.float(1.0, "Target 2 %", step=0.1)
tp3Percent = input.float(1.5, "Target 3 %", step=0.1)
tp4Percent = input.float(2.0, "Target 4 %", step=0.1)
tp5Percent = input.float(2.5, "Target 5 %", step=0.1)
tp6Percent = input.float(3.0, "Target 6 %", step=0.1)
tp7Percent = input.float(3.5, "Target 7 %", step=0.1)
tp8Percent = input.float(4.0, "Target 8 %", step=0.1)
tp9Percent = input.float(4.5, "Target 9 %", step=0.1)
tp10Percent = input.float(5.0, "Target 10 %", step=0.1)
// === EMA Calculation ===
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
// === Entry Conditions ===
longCond = ta.crossover(emaFast, emaSlow)
shortCond = ta.crossunder(emaFast, emaSlow)
// === Entry ===
if (longCond and strategy.position_size <= 0)
strategy.entry("BUY", strategy.long)
if (shortCond and strategy.position_size >= 0)
strategy.entry("SELL", strategy.short)
// === Series Variables for Targets ===
var float tp1 = na
var float tp2 = na
var float tp3 = na
var float tp4 = na
var float tp5 = na
var float tp6 = na
var float tp7 = na
var float tp8 = na
var float tp9 = na
var float tp10 = na
var float stopLevel = na
// === Long Positions ===
if strategy.position_size > 0
stopLevel := strategy.position_avg_price * (1 - slPercent/100)
tp1 := strategy.position_avg_price * (1 + tp1Percent/100)
tp2 := strategy.position_avg_price * (1 + tp2Percent/100)
tp3 := strategy.position_avg_price * (1 + tp3Percent/100)
tp4 := strategy.position_avg_price * (1 + tp4Percent/100)
tp5 := strategy.position_avg_price * (1 + tp5Percent/100)
tp6 := strategy.position_avg_price * (1 + tp6Percent/100)
tp7 := strategy.position_avg_price * (1 + tp7Percent/100)
tp8 := strategy.position_avg_price * (1 + tp8Percent/100)
tp9 := strategy.position_avg_price * (1 + tp9Percent/100)
tp10 := strategy.position_avg_price * (1 + tp10Percent/100)
strategy.exit("Exit Long", "BUY", stop=stopLevel, limit=tp1)
// === Short Positions ===
if strategy.position_size < 0
stopLevel := strategy.position_avg_price * (1 + slPercent/100)
tp1 := strategy.position_avg_price * (1 - tp1Percent/100)
tp2 := strategy.position_avg_price * (1 - tp2Percent/100)
tp3 := strategy.position_avg_price * (1 - tp3Percent/100)
tp4 := strategy.position_avg_price * (1 - tp4Percent/100)
tp5 := strategy.position_avg_price * (1 - tp5Percent/100)
tp6 := strategy.position_avg_price * (1 - tp6Percent/100)
tp7 := strategy.position_avg_price * (1 - tp7Percent/100)
tp8 := strategy.position_avg_price * (1 - tp8Percent/100)
tp9 := strategy.position_avg_price * (1 - tp9Percent/100)
tp10 := strategy.position_avg_price * (1 - tp10Percent/100)
strategy.exit("Exit Short", "SELL", stop=stopLevel, limit=tp1)
// === Plotting ===
plot(emaFast, "EMA 9", color=color.yellow, linewidth=2)
plot(emaSlow, "EMA 21", color=color.orange, linewidth=2)
// Global plots (avoid local scope error)
plot(tp1, "TP1", color=color.new(color.green, 0))
plot(tp2, "TP2", color=color.new(color.green, 10))
plot(tp3, "TP3", color=color.new(color.green, 20))
plot(tp4, "TP4", color=color.new(color.green, 30))
plot(tp5, "TP5", color=color.new(color.green, 40))
plot(tp6, "TP6", color=color.new(color.green, 50))
plot(tp7, "TP7", color=color.new(color.green, 60))
plot(tp8, "TP8", color=color.new(color.green, 70))
plot(tp9, "TP9", color=color.new(color.green, 80))
plot(tp10, "TP10", color=color.new(color.green, 90))
plot(stopLevel, "Stoploss", color=color.red, linewidth=2)
// Entry Signals
plotshape(longCond, title="BUY Signal", style=shape.labelup, color=color.green, text="BUY")
plotshape(shortCond, title="SELL Signal", style=shape.labeldown, color=color.red, text="SELL")