یہ سپورٹ بریک آؤٹ پر مبنی حکمت عملی کے بعد ایک متحرک اے ٹی آر رجحان ہے۔ یہ حکمت عملی مارکیٹ کے رجحانات کو پکڑنے کے لئے ای ایم اے سسٹم ، اے ٹی آر اتار چڑھاؤ اشارے ، اور اسمارٹ منی تصور (ایس ایم سی) کو شامل کرتی ہے۔ یہ متحرک پوزیشن سائزنگ اور اسٹاپ نقصان / منافع لینے کی جگہ کے ذریعہ موثر رسک مینجمنٹ حاصل کرتی ہے۔
یہ حکمت عملی کئی بنیادی اجزاء پر مبنی ہے:
یہ حکمت عملی ایک جامع رجحان کے بعد کا نظام ہے جو مناسب رسک مینجمنٹ اور متعدد سگنل کی تصدیق کے ذریعے تجارتی استحکام حاصل کرتا ہے۔ سگنلز میں کچھ تاخیر کے باوجود ، یہ مجموعی طور پر ایک قابل اعتماد تجارتی نظام کی نمائندگی کرتا ہے۔ براہ راست نفاذ سے پہلے مکمل بیک ٹیسٹنگ کرنے اور مخصوص تجارتی آلات اور مارکیٹ کے حالات کے مطابق پیرامیٹرز کو بہتر بنانے کی سفارش کی جاتی ہے۔
/*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")