
حکمت عملی ایک مقداری تجارتی نظام ہے جس کی بنیاد متعدد ایکسپونینشل موونگ ایوریج (EMA) کراس اوور پر ہے۔ یہ تین متحرک اوسطوں کے تال میل کے ذریعے ایک مکمل ٹرینڈ ٹریکنگ ٹریڈنگ فریم ورک تیار کرتا ہے: 9-day EMA، 21-day EMA اور 200-day EMA۔ یہ حکمت عملی تیزی سے چلنے والی اوسط اور سست حرکت اوسط کے کراس اوور اور طویل مدتی حرکت پذیری اوسط کے ساتھ ان کے پوزیشنی تعلق کا تعین کرکے مارکیٹ کے رجحانات اور تجارت کی نشاندہی کرتی ہے۔
حکمت عملی کی بنیادی منطق ٹرپل موونگ ایوریج کراس اوور کے ذریعے مارکیٹ کے رجحانات کو پکڑنا ہے۔ خاص طور پر:
یہ ایک اچھی طرح سے ڈیزائن کی گئی اور منطقی طور پر واضح رجحان کی پیروی کرنے والی حکمت عملی ہے۔ متعدد متحرک اوسطوں کے مربوط تعاون کے ذریعے، خطرے پر قابو پانے کی اچھی صلاحیتوں کے ساتھ مارکیٹ کے رجحانات کو مؤثر طریقے سے پکڑنا ممکن ہے۔ حکمت عملی کو بہتر بنانے کی ایک بڑی گنجائش ہے، اور مسلسل بہتری کے ذریعے اس کے استحکام اور منافع کو مزید بڑھایا جا سکتا ہے۔
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("EMA Cross with both MinhTuan", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Tham số EMA
fastLength = input.int(9, title="Fast EMA Length", minval=1)
slowLength = input.int(21, title="Slow EMA Length", minval=1)
filterLength = input.int(200, title="EMA Filter Length", minval=1)
// Tùy chọn chế độ giao dịch
tradeMode = input.string("Both", options=["Long", "Short", "Both"], title="Trade Mode")
// Tính toán EMA
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
filterEMA = ta.ema(close, filterLength)
// Điều kiện vào lệnh Long: EMA nhanh cắt lên EMA chậm và cả hai nằm trên EMA 200
longCondition = ta.crossover(fastEMA, slowEMA) and fastEMA > filterEMA and slowEMA > filterEMA
// Điều kiện vào lệnh Short: EMA nhanh cắt xuống EMA chậm và cả hai nằm dưới EMA 200
shortCondition = ta.crossunder(fastEMA, slowEMA) and fastEMA < filterEMA and slowEMA < filterEMA
// Điều kiện thoát lệnh: EMA nhanh cắt ngược lại EMA chậm
closeLongCondition = ta.crossunder(fastEMA, slowEMA) // Thoát lệnh Long
closeShortCondition = ta.crossover(fastEMA, slowEMA) // Thoát lệnh Short
// Thực hiện lệnh Long
if (longCondition and (tradeMode == "Long" or tradeMode == "Both"))
strategy.entry("EMA_Cross_Long", strategy.long)
label.new(x=bar_index, y=low, text="Long", color=color.green, textcolor=color.white, size=size.small)
// Thực hiện lệnh Short
if (shortCondition and (tradeMode == "Short" or tradeMode == "Both"))
strategy.entry("EMA_Cross_Short", strategy.short)
label.new(x=bar_index, y=high, text="Short", color=color.red, textcolor=color.white, size=size.small)
// Thoát lệnh Long
if (closeLongCondition)
strategy.close("EMA_Cross_Long")
label.new(x=bar_index, y=high, text="Close Long", color=color.orange, textcolor=color.white, size=size.small)
// Thoát lệnh Short
if (closeShortCondition)
strategy.close("EMA_Cross_Short")
label.new(x=bar_index, y=low, text="Close Short", color=color.blue, textcolor=color.white, size=size.small)
// Vẽ đường EMA nhanh, EMA chậm, và EMA 200
plot(fastEMA, title="Fast EMA", color=color.blue, linewidth=2)
plot(slowEMA, title="Slow EMA", color=color.orange, linewidth=2)
plot(filterEMA, title="Filter EMA (200)", color=color.red, linewidth=2)
// Hiển thị nền khi đang giữ lệnh
bgcolor(strategy.position_size > 0 ? color.new(color.green, 90) : strategy.position_size < 0 ? color.new(color.red, 90) : na)