
یہ ایک مقداری تجارتی حکمت عملی ہے جس میں کثیر مساوی لائنوں کے کراسنگ پر مبنی ہے جس میں تبادلہ فلٹرنگ شامل ہے۔ اس حکمت عملی میں تین مختلف ادوار کی متحرک اوسط ((فاسٹ ای ایم اے ، سست ای ایم اے اور ٹرینڈ ایس ایم اے) کو بنیادی اشارے کے طور پر استعمال کیا جاتا ہے ، اور تجارتی سگنل کی تاثیر کی تصدیق کے لئے تبادلہ فلٹرنگ کو یکجا کیا جاتا ہے۔ اس حکمت عملی میں اسٹاپ نقصان اور اسٹاپ فنکشن بھی شامل ہے ، جو خطرے کو مؤثر طریقے سے کنٹرول کرسکتا ہے۔
حکمت عملی درج ذیل بنیادی عناصر پر مبنی ہے:
اس حکمت عملی نے متعدد تکنیکی اشارے کے امتزاج کے ذریعہ ایک نسبتا complete مکمل تجارتی نظام تشکیل دیا ہے۔ اس حکمت عملی کے بنیادی فوائد متعدد تصدیق کے میکانزم اور بہتر خطرے پر قابو پانے میں ہیں ، لیکن پھر بھی اس میں پیرامیٹرز کی اصلاح اور حکمت عملی میں بہتری کی ضرورت ہے جو مارکیٹ کی حقیقی صورتحال پر منحصر ہے۔ معقول اصلاح اور خطرے پر قابو پانے کے ساتھ ، اس حکمت عملی کو رجحان کی مارکیٹ میں مستحکم منافع کی توقع ہے۔
/*backtest
start: 2024-02-22 00:00:00
end: 2024-12-17 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Optimized Moving Average Crossover Strategy with Volume Filter", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Inputs for Moving Averages
fastLength = input.int(9, title="Fast MA Length")
slowLength = input.int(21, title="Slow MA Length")
trendFilterLength = input.int(50, title="Trend Filter Length")
// Risk Management Inputs
stopLossPercent = input.float(1, title="Stop Loss (%)", step=0.1)
takeProfitPercent = input.float(400, title="Take Profit (%)", step=0.1)
// Volume Filter Input
volumeMultiplier = input.float(1.5, title="Volume Multiplier", step=0.1) // Multiplier for average volume
// Moving Averages
fastMA = ta.ema(close, fastLength)
slowMA = ta.ema(close, slowLength)
trendMA = ta.sma(close, trendFilterLength) // Long-term trend filter
// Volume Calculation
avgVolume = ta.sma(volume, 20) // 20-period average volume
volumeCondition = volume > avgVolume * volumeMultiplier // Volume must exceed threshold
// Plotting Moving Averages
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
plot(trendMA, color=color.green, title="Trend Filter MA")
// Entry Conditions (Filtered by Trend and Volume)
longCondition = ta.crossover(fastMA, slowMA) and close > trendMA and volumeCondition
shortCondition = ta.crossunder(fastMA, slowMA) and close < trendMA and volumeCondition
// Execute Trades
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Exit Conditions: Stop Loss and Take Profit
if (strategy.position_size > 0)
strategy.exit("Exit Long", "Long", stop=strategy.position_avg_price * (1 - stopLossPercent / 100), limit=strategy.position_avg_price * (1 + takeProfitPercent / 100))
if (strategy.position_size < 0)
strategy.exit("Exit Short", "Short", stop=strategy.position_avg_price * (1 + stopLossPercent / 100), limit=strategy.position_avg_price * (1 - takeProfitPercent / 100))
// Additional Alerts
alertcondition(longCondition, title="Long Signal", message="Go Long!")
alertcondition(shortCondition, title="Short Signal", message="Go Short!")
// Debugging Labels
if (longCondition)
label.new(bar_index, close, "Long", style=label.style_label_up, color=color.green, textcolor=color.white)
if (shortCondition)
label.new(bar_index, close, "Short", style=label.style_label_down, color=color.red, textcolor=color.white)