یہ ایک جامع تجارتی حکمت عملی ہے جس میں متعدد حرکت پذیر اوسط ، رجحان کی پیروی ، ڈھانچے کی خرابی اور رفتار کے اشارے کو جوڑتا ہے۔ یہ حکمت عملی قیمت کی ساخت کی خرابی اور پل بیک اندراجات کو شامل کرتے ہوئے متعدد ٹائم فریموں میں رجحانات کا تجزیہ کرکے تجارتی سگنل کا تعین کرتی ہے۔ یہ رسک مینجمنٹ کے لئے فکسڈ اسٹاپ نقصان اور منافع حاصل کرنے کے اہداف کو ملازمت دیتی ہے اور تجارتی درستگی کو بڑھانے کے لئے متعدد توثیقی میکانزم کا استعمال کرتی ہے۔
اس حکمت عملی میں مارکیٹ کے رجحانات کا تعین کرنے کے لئے تین تیزی سے چلنے والے اوسط (EMA25 ، EMA50 ، اور EMA200) استعمال کیے جاتے ہیں۔ جب قیمت EMA200 سے اوپر ہوتی ہے اور EMA200 اوپر کی طرف ڈھلتی ہے تو ایک اپ ٹرینڈ کی نشاندہی کی جاتی ہے۔ اس کے برعکس ، یہ ایک ڈاؤن ٹرینڈ کی نشاندہی کرتا ہے۔ رجحان کی سمت کا تعین کرنے کے بعد ، حکمت عملی EMA25 یا EMA50 تک قیمتوں میں پل بیک کی تلاش کرتی ہے۔ اس کے علاوہ ، حکمت عملی میں حالیہ اعلی یا کم بریکآؤٹس کی تصدیق کی ضرورت ہوتی ہے اور رفتار کی سمت کی تصدیق کے لئے افتتاحی قیمتوں کے مقابلے میں اختتامی قیمتوں کی پوزیشن کی ضرورت ہوتی ہے۔ RSI اشارے ایک اضافی فلٹر کے طور پر کام کرتا ہے ، جس میں خرید سگنل کے لئے RSI 50 سے اوپر اور فروخت سگنل کے لئے 50 سے نیچے کی ضرورت ہوتی ہے۔
یہ ایک اچھی طرح سے ڈیزائن کردہ جامع تجارتی حکمت عملی ہے جو متعدد تکنیکی اشارے کے مربوط استعمال کے ذریعے تجارتی مواقع اور رسک کنٹرول کو مؤثر طریقے سے متوازن کرتی ہے۔ اس حکمت عملی کی بنیادی طاقت اس کی سخت متعدد توثیق کے طریقہ کار میں پڑی ہے ، جو تجارتی کامیابی کی شرح کو بہتر بنانے میں مدد کرتی ہے۔ اگرچہ اصلاح کے لئے علاقے ہیں ، مجموعی طور پر ، یہ ایک قابل قدر حکمت عملی کے فریم ورک کی نمائندگی کرتا ہے جس کی تلاش کی جائے۔
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Custom Buy/Sell Strategy", overlay=true) // Input parameters ema25 = ta.ema(close, 25) ema50 = ta.ema(close, 50) ema200 = ta.ema(close, 200) rsi = ta.rsi(close, 14) sl_pips = 10 tp_pips = 15 // Convert pips to price units sl_price_units = sl_pips * syminfo.pointvalue tp_price_units = tp_pips * syminfo.pointvalue // Define conditions for buy and sell signals uptrend_condition = ema200 < close and ta.rising(ema200, 1) downtrend_condition = ema200 > close and ta.falling(ema200, 1) pullback_to_ema25 = low <= ema25 pullback_to_ema50 = low <= ema50 pullback_condition = pullback_to_ema25 or pullback_to_ema50 break_of_structure = high > ta.highest(high, 5)[1] candle_imbalance = close > open buy_condition = uptrend_condition and pullback_condition and rsi > 50 and break_of_structure and candle_imbalance pullback_to_ema25_sell = high >= ema25 pullback_to_ema50_sell = high >= ema50 pullback_condition_sell = pullback_to_ema25_sell or pullback_to_ema50_sell break_of_structure_sell = low < ta.lowest(low, 5)[1] candle_imbalance_sell = close < open sell_condition = downtrend_condition and pullback_condition_sell and rsi < 50 and break_of_structure_sell and candle_imbalance_sell // Plot signals on the chart plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.large) plotshape(series=sell_condition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.large) // Calculate stop loss and take profit levels for buy signals var float buy_sl = na var float buy_tp = na if buy_condition and strategy.position_size == 0 buy_sl := close - sl_price_units buy_tp := close + tp_price_units strategy.entry("Buy", strategy.long) strategy.exit("TP/SL Buy", from_entry="Buy", limit=buy_tp, stop=buy_sl) label.new(bar_index, high, text="Entry: " + str.tostring(close) + "\nSL: " + str.tostring(buy_sl) + "\nTP: " + str.tostring(buy_tp), style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small) // Calculate stop loss and take profit levels for sell signals var float sell_sl = na var float sell_tp = na if sell_condition and strategy.position_size == 0 sell_sl := close + sl_price_units sell_tp := close - tp_price_units strategy.entry("Sell", strategy.short) strategy.exit("TP/SL Sell", from_entry="Sell", limit=sell_tp, stop=sell_sl) label.new(bar_index, low, text="Entry: " + str.tostring(close) + "\nSL: " + str.tostring(sell_sl) + "\nTP: " + str.tostring(sell_tp), style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small) // // Plot stop loss and take profit levels for buy signals // if not na(buy_sl) // line.new(x1=bar_index, y1=buy_sl, x2=bar_index + 1, y2=buy_sl, color=color.red, width=1) // if not na(buy_tp) // line.new(x1=bar_index, y1=buy_tp, x2=bar_index + 1, y2=buy_tp, color=color.green, width=1) // // Plot stop loss and take profit levels for sell signals // if not na(sell_sl) // line.new(x1=bar_index, y1=sell_sl, x2=bar_index + 1, y2=sell_sl, color=color.red, width=1) // if not na(sell_tp) // line.new(x1=bar_index, y1=sell_tp, x2=bar_index + 1, y2=sell_tp, color=color.green, width=1)