یہ حکمت عملی 5 دن کی تیزی سے چلنے والی اوسط (ای ایم اے) پر مبنی رجحان کی پیروی کرنے والا تجارتی نظام ہے ، جو مارکیٹ کے رجحانات کو پکڑنے کے لئے قیمت اور ای ایم اے کے مابین تعلقات کا تجزیہ کرتا ہے۔ اس حکمت عملی میں اسٹاپ نقصان اور منافع کے اہداف کی متحرک ایڈجسٹمنٹ شامل ہے ، فیصد پر مبنی پوزیشن مینجمنٹ کا استعمال کرتا ہے ، اور لین دین کے اخراجات پر غور کرتا ہے ، جس سے یہ انتہائی عملی اور لچکدار ہوتا ہے۔
بنیادی منطق لاگ ان پوائنٹس کا تعین کرنے کے لئے قیمت اور 5 دن کے ای ایم اے کے مابین تعامل پر مبنی ہے۔ خاص طور پر ، ایک لمبا سگنل اس وقت پیدا ہوتا ہے جب پچھلی مدت
یہ واضح منطق کے ساتھ ایک اچھی طرح سے ڈیزائن کردہ رجحان کی پیروی کرنے والی حکمت عملی ہے ، جو ای ایم اے اشارے اور قیمت کی کارروائی کے امتزاج کے ذریعے مارکیٹ کے رجحانات کو مؤثر طریقے سے حاصل کرتی ہے۔ اس حکمت عملی میں خطرہ کنٹرول اور منافع کے انتظام کے لئے جامع میکانزم موجود ہیں جبکہ متعدد اصلاح کی سمت پیش کرتے ہوئے ، مضبوط عملی قدر اور بہتری کی گنجائش کا مظاہرہ کیا گیا ہے۔ مستقبل میں بہتری میں متعدد ٹائم فریم تجزیہ شامل کرنے اور حکمت عملی کے استحکام اور منافع میں مزید بہتری لانے کے لئے اسٹاپ نقصان کے میکانزم کو ایڈجسٹ کرنے پر توجہ دی جاسکتی ہے۔
/*backtest start: 2024-12-29 00:00:00 end: 2025-01-05 00:00:00 period: 30m basePeriod: 30m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Demo GPT - PowerOfStocks 5EMA", overlay=true) // Inputs enableSL = input.bool(false, title="Enable Extra SL") usl = input.int(defval=5, title="SL Distance in Points", minval=1, maxval=100) riskRewardRatio = input.int(defval=3, title="Risk to Reward Ratio", minval=3, maxval=25) showSell = input.bool(true, title="Show Sell Signals") showBuy = input.bool(true, title="Show Buy Signals") buySellExtraCond = input.bool(false, title="Buy/Sell with Extra Condition") startDate = input(timestamp("2018-01-01 00:00"), title="Start Date") endDate = input(timestamp("2069-12-31 23:59"), title="End Date") // EMA Calculation ema5 = ta.ema(close, 5) // Plot EMA plot(ema5, "EMA 5", color=color.new(#882626, 0), linewidth=2) // Variables for Buy var bool longTriggered = na var float longStopLoss = na var float longTarget = na // Variables for Sell (used for signal visualization but no actual short trades) var bool shortTriggered = na var float shortStopLoss = na var float shortTarget = na // Long Entry Logic if true if (showBuy) longCondition = high[1] < ema5[1] and high[1] < high and (not buySellExtraCond or close > close[1]) if (longCondition and not longTriggered) entryPrice = high[1] stopLoss = enableSL ? low[1] - usl * syminfo.mintick : low[1] target = enableSL ? entryPrice + (entryPrice - stopLoss) * riskRewardRatio : high[1] + (high[1] - low[1]) * riskRewardRatio // Execute Buy Order strategy.entry("Buy", strategy.long, stop=entryPrice) longTriggered := true longStopLoss := stopLoss longTarget := target label.new(bar_index, entryPrice, text="Buy@ " + str.tostring(entryPrice), style=label.style_label_up, color=color.green, textcolor=color.white) // Short Signal Logic (Visual Only) if (true) if (showSell) shortCondition = low[1] > ema5[1] and low[1] > low and (not buySellExtraCond or close < close[1]) if (shortCondition and not shortTriggered) entryPrice = low[1] stopLoss = enableSL ? high[1] + usl * syminfo.mintick : high[1] target = enableSL ? entryPrice - (stopLoss - entryPrice) * riskRewardRatio : low[1] - (high[1] - low[1]) * riskRewardRatio // Visual Signals Only label.new(bar_index, entryPrice, text="Sell@ " + str.tostring(entryPrice), style=label.style_label_down, color=color.red, textcolor=color.white) shortTriggered := true shortStopLoss := stopLoss shortTarget := target // Exit Logic for Buy if longTriggered // Stop-loss Hit if low <= longStopLoss strategy.close("Buy", comment="SL Hit") longTriggered := false // Target Hit if high >= longTarget strategy.close("Buy", comment="Target Hit") longTriggered := false // Exit Logic for Short (Signals Only) if shortTriggered // Stop-loss Hit if high >= shortStopLoss shortTriggered := false // Target Hit if low <= shortTarget shortTriggered := false