
یہ ایک متحرک اے ٹی آر ٹرینڈ ٹریکنگ حکمت عملی ہے جو سپورٹ لیول کو توڑنے پر مبنی ہے۔ اس حکمت عملی میں مارکیٹ کے رجحانات کو پکڑنے کے لئے ای ایم اے اوسط نظام ، اے ٹی آر اتار چڑھاؤ کے اشارے اور سمارٹ فنڈز کا تصور (ایس ایم سی) کا استعمال کیا گیا ہے۔ اس حکمت عملی میں پوزیشن کے سائز اور اسٹاپ نقصان کی پوزیشنوں کو متحرک طور پر حساب کتاب کرکے ، اچھے خطرے کے انتظام کو حاصل کیا گیا ہے۔
حکمت عملی بنیادی طور پر مندرجہ ذیل بنیادی اجزاء پر مبنی ہے:
یہ حکمت عملی ایک زیادہ مکمل رجحان ٹریکنگ سسٹم ہے ، جو مناسب رسک مینجمنٹ اور متعدد سگنل کی تصدیق کے ذریعہ تجارت کی استحکام کو بہتر بناتا ہے۔ اگرچہ کچھ پسماندگی موجود ہے ، لیکن مجموعی طور پر یہ ایک قابل اعتماد تجارتی نظام ہے۔ یہ تجویز ہے کہ عملی استعمال سے پہلے کافی حد تک بیک اپ کی جانچ پڑتال کی جائے ، اور مخصوص تجارتی اقسام اور مارکیٹ کے ماحول کے مطابق پیرامیٹرز کو بہتر بنایا جائے۔
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// TradingView Pine Script strategy for Smart Money Concept (SMC)
//@version=5
strategy("Smart Money Concept Strategy", overlay=true, default_qty_type=strategy.fixed, default_qty_value=100)
// === Input Parameters ===
input_risk_percentage = input.float(1, title="Risk Percentage", step=0.1)
input_atr_length = input.int(14, title="ATR Length")
input_ema_short = input.int(50, title="EMA Short")
input_ema_long = input.int(200, title="EMA Long")
// === Calculations ===
atr = ta.atr(input_atr_length)
ema_short = ta.ema(close, input_ema_short)
ema_long = ta.ema(close, input_ema_long)
// === Utility Functions ===
// Identify Order Blocks
is_order_block(price, direction) =>
((high[1] > high[2] and low[1] > low[2] and direction == 1) or (high[1] < high[2] and low[1] < low[2] and direction == -1))
// Identify Imbalance Zones
is_imbalance() =>
range_high = high[1]
range_low = low[1]
range_high > close and range_low < close
// Calculate Lot Size Based on Risk
calculate_lot_size(stop_loss_points, account_balance) =>
risk_amount = account_balance * (input_risk_percentage / 100)
lot_size = risk_amount / (stop_loss_points * syminfo.pointvalue)
lot_size
// Determine if Market is Consolidating
is_consolidating() =>
(ta.highest(high, 20) - ta.lowest(low, 20)) / atr < 2
// === Visual Enhancements ===
// Plot Order Blocks
// if is_order_block(close, 1)
// line.new(x1=bar_index[1], y1=low[1], x2=bar_index, y2=low[1], color=color.green, width=2, extend=extend.right)
// if is_order_block(close, -1)
// line.new(x1=bar_index[1], y1=high[1], x2=bar_index, y2=high[1], color=color.red, width=2, extend=extend.right)
// Highlight Imbalance Zones
// if is_imbalance()
// box.new(left=bar_index[1], top=high[1], right=bar_index, bottom=low[1], bgcolor=color.new(color.orange, 80))
// === Logic for Trend Confirmation ===
is_bullish_trend = ema_short > ema_long
is_bearish_trend = ema_short < ema_long
// === Entry Logic ===
account_balance = strategy.equity
if not is_consolidating()
if is_bullish_trend
stop_loss = close - atr * 2
take_profit = close + (math.abs(close - (close - atr * 2)) * 3)
stop_loss_points = math.abs(close - stop_loss) / syminfo.pointvalue
lot_size = calculate_lot_size(stop_loss_points, account_balance)
strategy.entry("Buy", strategy.long, qty=lot_size)
strategy.exit("TP/SL", "Buy", stop=stop_loss, limit=take_profit)
if is_bearish_trend
stop_loss = close + atr * 2
take_profit = close - (math.abs(close - (close + atr * 2)) * 3)
stop_loss_points = math.abs(close - stop_loss) / syminfo.pointvalue
lot_size = calculate_lot_size(stop_loss_points, account_balance)
strategy.entry("Sell", strategy.short, qty=lot_size)
strategy.exit("TP/SL", "Sell", stop=stop_loss, limit=take_profit)
// === Plotting Indicators ===
plot(ema_short, color=color.blue, title="EMA 50")
plot(ema_long, color=color.orange, title="EMA 200")
plotshape(series=is_bullish_trend and not is_consolidating(), style=shape.triangleup, location=location.belowbar, color=color.green, text="Buy")
plotshape(series=is_bearish_trend and not is_consolidating(), style=shape.triangledown, location=location.abovebar, color=color.red, text="Sell")