
یہ حکمت عملی رجحانات کی پیروی اور وقفے وقفے سے تجارت کے ساتھ مل کر ایک خود کار طریقے سے ٹریڈنگ سسٹم ہے۔ نظام مارکیٹ کی حالت کو متحرک طور پر ADX اشارے کے ذریعہ پہچانتا ہے ، اور رجحاناتی مارکیٹ اور زلزلے کی مارکیٹ میں مختلف تجارتی حکمت عملی استعمال کرتا ہے۔ رجحان کی مارکیٹ میں ، حکمت عملی آر ایس آئی اور MACD تصدیق کے ساتھ مل کر ایک چلتی اوسط کراس سگنل کا استعمال کرتی ہے۔ زلزلے کی مارکیٹ میں ، حکمت عملی RSI کے ساتھ مل کر برن بینڈ کو توڑنے اور اوور سیل سگنل کا استعمال کرتے ہوئے ٹریڈنگ سسٹم کرتی ہے۔ اس میں اے ٹی آر پر مبنی متحرک اسٹاپ نقصان کا طریقہ کار بھی شامل ہے ، جو خطرے کو مؤثر طریقے سے کنٹرول کرتا ہے۔
حکمت عملی کا مرکز مارکیٹ کی حالت کی شناخت کا طریقہ کار ہے۔ جب ADX 25 سے زیادہ ہو تو رجحان کی مارکیٹ کا تعین کیا جاتا ہے ، اس وقت رجحان کی پیروی کی حکمت عملی کو چالو کیا جاتا ہے:
جب ADX 25 سے کم یا اس سے کم ہو تو اس کو ہلچل کا بازار قرار دیا جاتا ہے ، اور اس میں وقفہ ٹریڈنگ کی حکمت عملی کو چالو کیا جاتا ہے:
اسٹاپ نقصان کا تعین اے ٹی آر کے متحرک ضرب کے طریقہ کار کے ساتھ کیا گیا ہے۔ اسٹاپ نقصان 1.5 گنا اے ٹی آر ہے اور اسٹاپ نقصان 3 گنا اے ٹی آر ہے۔
اس حکمت عملی کو مارکیٹ کی حالت کی متحرک شناخت اور اس کے مطابق حکمت عملی کی تبدیلی کے ذریعے مختلف مارکیٹ کے ماحول کے مطابق ڈھال لیا گیا ہے۔ متعدد تکنیکی اشارے اور متحرک رسک کنٹرول میکانیزم کے امتزاج کے ذریعہ ، حکمت عملی میں عمدہ عملی ہے۔ تاہم ، سگنل کی تاخیر اور جعلی بریک آؤٹ جیسے خطرات پر بھی توجہ دی جانی چاہئے ، اور یہ تجویز کیا گیا ہے کہ اس کی مکمل جانچ اور پیرامیٹرز کی اصلاح کی جائے۔
/*backtest
start: 2024-09-01 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Trend vs Range Trading - Fully Fixed for v6", overlay=true)
// 🔹 Moving Averages (SMA 50 & 200)
sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)
// 🔹 Proper ADX Calculation (With Corrected ta.dmi() Parameters)
dmiLength = 14
adxSmoothing = 14
[dmiPlus, dmiMinus, adx] = ta.dmi(dmiLength, adxSmoothing)
// 🔹 Bollinger Bands Calculation (Fixed for v6)
bb_length = 20
bb_mult = 2.0
bb_basis = ta.sma(close, bb_length)
bb_dev = ta.stdev(close, bb_length)
bb_upper = bb_basis + (bb_mult * bb_dev)
bb_lower = bb_basis - (bb_mult * bb_dev)
// 🔹 Additional Indicators (RSI & MACD)
rsi = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// 🔹 ATR for Stop Loss & Take Profit
atr = ta.atr(14)
stop_loss_mult = 1.5 // Stop Loss Multiplier
take_profit_mult = 3.0 // Take Profit Multiplier
// 🔹 Trend vs Range Market Detection
is_trending = adx > 25
// 🔹 Trend Following Strategy (SMA Cross & Confirmation)
long_condition_trend = is_trending and ta.crossover(sma50, sma200) and rsi > 50 and macdLine > signalLine
short_condition_trend = is_trending and ta.crossunder(sma50, sma200) and rsi < 50 and macdLine < signalLine
// 🔹 Range Trading Strategy (Bollinger Bands & RSI Confirmation)
long_condition_range = not is_trending and ta.crossover(close, bb_lower) and rsi < 40
short_condition_range = not is_trending and ta.crossunder(close, bb_upper) and rsi > 60
// 🔹 Stop Loss & Take Profit Calculations
long_stop_loss = close - (atr * stop_loss_mult)
long_take_profit = close + (atr * take_profit_mult)
short_stop_loss = close + (atr * stop_loss_mult)
short_take_profit = close - (atr * take_profit_mult)
// 🔹 Execute Trades (With Stop Loss & Take Profit)
if long_condition_trend
strategy.entry("Long_Trend", strategy.long)
strategy.exit("Exit_Long_Trend", from_entry="Long_Trend", stop=long_stop_loss, limit=long_take_profit)
if short_condition_trend
strategy.entry("Short_Trend", strategy.short)
strategy.exit("Exit_Short_Trend", from_entry="Short_Trend", stop=short_stop_loss, limit=short_take_profit)
if long_condition_range
strategy.entry("Long_Range", strategy.long)
strategy.exit("Exit_Long_Range", from_entry="Long_Range", stop=long_stop_loss, limit=long_take_profit)
if short_condition_range
strategy.entry("Short_Range", strategy.short)
strategy.exit("Exit_Short_Range", from_entry="Short_Range", stop=short_stop_loss, limit=short_take_profit)
// 🔹 Visual Indicators & Background Color (Trend vs Range)
bgcolor(is_trending ? color.green : color.blue)
// 🔹 Plot Moving Averages & Bollinger Bands
plot(sma50, color=color.blue, title="SMA 50")
plot(sma200, color=color.red, title="SMA 200")
plot(bb_upper, color=color.green, title="BB Upper")
plot(bb_lower, color=color.orange, title="BB Lower")