
یہ حکمت عملی ایک پیچیدہ تجارتی نظام ہے جس میں بائنری مساوی کراس ، آر ایس آئی اوور خرید اوور فروخت اور اے ٹی آر کی اتار چڑھاؤ کی فلٹرنگ شامل ہے۔ یہ نظام قلیل مدتی اور طویل مدتی منتقل اوسط کو ٹریڈنگ سگنل پیدا کرنے کے لئے استعمال کرتا ہے ، مارکیٹ کی حالت کو آر ایس آئی اشارے کے ذریعہ فلٹر کرتا ہے ، اے ٹی آر اشارے کا استعمال کرتے ہوئے اتار چڑھاؤ کی شرح کا فیصلہ کرتا ہے ، اور پوزیشن مینجمنٹ اور رسک کنٹرول کے لئے فیصد اسٹاپ نقصان اور رسک منافع کے تناسب کے ساتھ ملتا ہے۔ اس حکمت عملی میں مضبوط موافقت ہے ، جس میں پیرامیٹرز کو مارکیٹ کے ماحول کے مطابق لچکدار طور پر ایڈجسٹ کیا جاسکتا ہے۔
حکمت عملی کی بنیادی منطق درج ذیل پہلوؤں پر مبنی ہے:
اس حکمت عملی نے متعدد تکنیکی اشارے کو جوڑ کر ایک نسبتا complete مکمل تجارتی نظام تشکیل دیا ہے۔ حکمت عملی رجحان کی منڈیوں میں عمدہ کارکردگی کا مظاہرہ کرتی ہے ، اور اس میں خطرہ پر قابو پانے کی اچھی صلاحیت ہے۔ حکمت عملی کو مناسب طریقے سے پیرامیٹرز ترتیب دینے اور ضروری فلٹرنگ شرائط کو شامل کرنے کے ذریعہ مختلف مارکیٹ کے ماحول کے مطابق ڈھال لیا جاسکتا ہے۔ عملی استعمال سے پہلے مناسب فیڈ بیک اور پیرامیٹرز کی اصلاح کی سفارش کی جاتی ہے۔
/*backtest
start: 2025-01-21 00:00:00
end: 2025-02-20 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Simplified MA Crossover Strategy with Disable Options", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Inputs
shortLength = input.int(9, title="Short MA Length", minval=1)
longLength = input.int(21, title="Long MA Length", minval=1)
// RSI Filter
enableRSI = input.bool(true, title="Enable RSI Filter")
rsiLength = input.int(14, title="RSI Length", minval=1)
rsiOverbought = input.int(70, title="RSI Overbought Level", minval=50, maxval=100)
rsiOversold = input.int(30, title="RSI Oversold Level", minval=0, maxval=50)
// ATR Filter
enableATR = input.bool(true, title="Enable ATR Filter")
atrLength = input.int(14, title="ATR Length", minval=1)
minATR = input.float(0.005, title="Minimum ATR Threshold", minval=0)
// Risk Management
stopLossPerc = input.float(0.5, title="Stop Loss (%)", minval=0.1) / 100
riskRewardRatio = input.float(2, title="Risk-Reward Ratio", minval=1)
riskPercentage = input.float(2, title="Risk Percentage", minval=0.1) / 100
// Indicators
shortMA = ta.sma(close, shortLength)
longMA = ta.sma(close, longLength)
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrLength)
// Conditions
longCondition = ta.crossover(shortMA, longMA)
shortCondition = ta.crossunder(shortMA, longMA)
// Apply RSI Filter (if enabled)
if (enableRSI)
longCondition := longCondition and rsi < rsiOverbought
shortCondition := shortCondition and rsi > rsiOversold
// Apply ATR Filter (if enabled)
if (enableATR)
longCondition := longCondition and atr > minATR
shortCondition := shortCondition and atr > minATR
// Risk Management
positionSize = strategy.equity * riskPercentage / (stopLossPerc * close)
takeProfitLevel = strategy.position_avg_price * (1 + stopLossPerc * riskRewardRatio)
stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc)
// Execute Trades
if (longCondition)
strategy.entry("Long", strategy.long, qty=positionSize)
strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfitLevel, stop=stopLossLevel)
if (shortCondition)
strategy.entry("Short", strategy.short, qty=positionSize)
strategy.exit("Take Profit/Stop Loss", "Short", limit=strategy.position_avg_price * (1 - stopLossPerc * riskRewardRatio), stop=strategy.position_avg_price * (1 + stopLossPerc))
// Plotting
plot(shortMA, color=color.blue, title="Short MA")
plot(longMA, color=color.red, title="Long MA")
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(atr, color=color.orange, title="ATR")
plotshape(series=longCondition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")