
یہ حکمت عملی ایک سے زیادہ تکنیکی اشارے کو ملا کر ایک خود کار طریقے سے رجحان ٹریکنگ ٹریڈنگ سسٹم ہے۔ اس میں سگنل کی تصدیق کے لئے مساوی لائن سسٹم ((ای ایم اے) ، متحرک اشارے ((آر ایس آئی) ، رجحان اشارے ((میکڈ) اور سپر ٹرینڈ شامل ہیں ، اور اس میں ایک مکمل رسک مینجمنٹ میکانزم ہے ، جس میں اسٹاپ ، اسٹاپ اور موبائل اسٹاپ شامل ہیں۔ حکمت عملی کا ڈیزائن مارکیٹ کی اتار چڑھاؤ کو پوری طرح سے مدنظر رکھتا ہے ، جس میں متعدد سگنل فلٹرنگ اور رسک کنٹرول کے ذریعہ تجارت کی استحکام اور وشوسنییتا کو بہتر بناتا ہے۔
اس حکمت عملی میں سگنل کی تصدیق کے لیے کئی سطحوں کا استعمال کیا گیا ہے:
اس حکمت عملی نے کثیر جہتی تکنیکی اشارے کے ہم آہنگی کے ساتھ مل کر ایک مستحکم تجارتی نظام تشکیل دیا ہے۔ اس کی اچھی طرح سے خطرہ کنٹرول کرنے والے میکانزم اور واضح تجارتی منطق نے اسے اچھی عملی حیثیت دی ہے۔ اگرچہ اصلاح کے لئے کچھ گنجائش موجود ہے ، لیکن اس حکمت عملی کا بنیادی فریم ورک ایک ٹھوس نظریاتی بنیاد رکھتا ہے ، جس میں مسلسل اصلاح اور بہتری کے ذریعہ اس کی تجارتی تاثیر کو مزید بڑھانے کی امید ہے۔
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Optimized BTC Trading Strategy v2", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1)
// Input parameters
emaShort = ta.ema(close, 9)
emaLong = ta.ema(close, 21)
// RSI settings
rsi = ta.rsi(close, 14)
rsiBuyLevel = 40
rsiSellLevel = 60
// MACD settings
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// Supertrend settings
factor = input.float(3, title="Supertrend Factor")
atrLength = input.int(10, title="ATR Length")
[superTrend, superTrendDirection] = ta.supertrend(factor, atrLength)
// Risk Management (Stop Loss & Take Profit)
stopLossPercent = 0.05 // 5%
takeProfitPercent = 0.10 // 10%
trailingStopPercent = 0.02 // 2% trailing stop for additional security
breakevenBuffer = 0.01 // 1% breakeven buffer
// Fetching average price once to avoid repeated calculations
var float avgPrice = na
if strategy.position_size != 0
avgPrice := strategy.position_avg_price
// Stop Loss & Take Profit Levels
longSL = avgPrice * (1 - stopLossPercent)
longTP = avgPrice * (1 + takeProfitPercent)
shortSL = avgPrice * (1 + stopLossPercent)
shortTP = avgPrice * (1 - takeProfitPercent)
breakevenLevel = avgPrice * (1 + breakevenBuffer)
// Entry Conditions
buyCondition = ta.crossover(emaShort, emaLong) and rsi > rsiBuyLevel and rsi < 70 and (macdLine > signalLine) and superTrendDirection == 1
sellCondition = ta.crossunder(emaShort, emaLong) and rsi < rsiSellLevel and rsi > 30 and (macdLine < signalLine) and superTrendDirection == -1
// Ensure no conflicting trades
if buyCondition and strategy.position_size <= 0
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", limit=longTP, stop=longSL, trail_points=trailingStopPercent * avgPrice)
strategy.exit("Breakeven", from_entry="Long", stop=breakevenLevel)
if sellCondition and strategy.position_size >= 0
strategy.close("Long")
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", limit=shortTP, stop=shortSL, trail_points=trailingStopPercent * avgPrice)
strategy.exit("Breakeven", from_entry="Short", stop=breakevenLevel)
// Plot Buy & Sell signals with trend-based color indicators
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY", size=size.small)
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL", size=size.small)
// Trend Indicator (for better visualization)
plot(superTrend, color=superTrendDirection == 1 ? color.green : color.red, linewidth=2, title="Supertrend")