یہ حکمت عملی ایک ذہین تجارتی نظام ہے جو رجحان کی پیروی کرنے اور اتار چڑھاؤ کی فلٹرنگ کو یکجا کرتا ہے۔ یہ ایکسپونینشل موونگ ایوریجز (ای ایم اے) کا استعمال کرتے ہوئے مارکیٹ کے رجحانات کی نشاندہی کرتا ہے ، حقیقی رینج (ٹی آر) اور متحرک اتار چڑھاؤ فلٹرز کے ذریعہ انٹری ٹائمنگ کا تعین کرتا ہے ، اور اتار چڑھاؤ پر مبنی متحرک اسٹاپ نقصان / منافع لینے کے طریقہ کار کا استعمال کرتے ہوئے خطرے کا انتظام کرتا ہے۔ یہ حکمت عملی دو تجارتی طریقوں کی حمایت کرتی ہے: کھوپڑی اور سوئنگ ، جو مارکیٹ کے مختلف ماحول اور تجارتی طرزوں کی بنیاد پر لچکدار طور پر سوئچ کی جاسکتی ہے۔
بنیادی منطق میں مندرجہ ذیل اہم اجزاء شامل ہیں: رجحان کی نشاندہی: رجحان فلٹر کے طور پر 50 پیریڈ ای ایم اے کا استعمال کرتا ہے ، صرف ای ایم اے سے اوپر طویل پوزیشن اور ای ایم اے سے نیچے مختصر پوزیشن لیتا ہے۔ Volatility Filtering: True Range (TR) کے EMA کا حساب لگاتا ہے اور مارکیٹ شور کو فلٹر کرنے کے لئے ایک سایڈست فلٹر گتانک (ڈیفالٹ 1.5) استعمال کرتا ہے۔ داخلہ کی شرائط: تین لگاتار موم بتیوں کا تجزیہ جوڑتا ہے ، جس میں قیمت کی نقل و حرکت کی ضرورت ہوتی ہے تاکہ تسلسل اور تیزی کی خصوصیات ظاہر کی جاسکے۔ سٹاپ لاسٹ/ٹیک منافع: اسکیلپ موڈ میں موجودہ ٹی آر اور سوئنگ موڈ میں پچھلے بلند / نچلے درجے کی بنیاد پر مقرر کیا جاتا ہے ، جس سے متحرک رسک مینجمنٹ حاصل ہوتی ہے۔
یہ حکمت عملی رجحان کی پیروی ، اتار چڑھاؤ فلٹرنگ ، اور متحرک رسک مینجمنٹ کو نامیاتی طور پر جوڑ کر ایک مکمل تجارتی نظام تشکیل دیتی ہے۔ اس کی طاقت اس کی موافقت ، قابو پانے والے رسک میں ہے ، جبکہ نمایاں اصلاحاتی صلاحیت فراہم کرتی ہے۔ پیرامیٹر کی مناسب ترتیبات اور مناسب تجارتی موڈ کے انتخاب کے ذریعے ، حکمت عملی مختلف مارکیٹ کے ماحول میں مستحکم کارکردگی برقرار رکھ سکتی ہے۔ تاجروں کو مشورہ دیا جاتا ہے کہ وہ براہ راست تجارت سے پہلے مکمل بیک ٹیسٹنگ اور پیرامیٹر کی اصلاح کریں ، اور مخصوص تجارتی آلے کی خصوصیات کی بنیاد پر مناسب ایڈجسٹمنٹ کریں۔
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-15 08:00:00 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Creativ3mindz //@version=5 strategy("Scalp Slayer (I)", overlay=true) // Input Parameters filterNumber = input.float(1.5, "Filter Number", minval=1.0, maxval=10.0, tooltip="Higher = More aggressive Filter, Lower = Less aggressive") emaTrendPeriod = input.int(50, "EMA Trend Period", minval=1, tooltip="Period for the EMA used for trend filtering") lookbackPeriod = input.int(20, "Lookback Period for Highs/Lows", minval=1, tooltip="Period for determining recent highs/lows") colorTP = input.color(title='Take Profit Color', defval=color.orange) colorSL = input.color(title='Stop Loss Color', defval=color.red) // Inputs for visibility showBuyLabels = input.bool(true, title="Show Buy Labels") showSellLabels = input.bool(true, title="Show Sell Labels") // Alert Options alertOnCondition = input.bool(true, title="Alert on Condition Met", tooltip="Enable to alert when condition is met") // Trade Mode Toggle tradeMode = input.bool(false, title="Trade Mode (ON = Swing, OFF = Scalp)", tooltip="Swing-mode you can use your own TP/SL.") // Calculations tr = high - low ema = filterNumber * ta.ema(tr, 50) trendEma = ta.ema(close, emaTrendPeriod) // Calculate the EMA for the trend filter // Highest and lowest high/low within lookback period for swing logic swingHigh = ta.highest(high, lookbackPeriod) swingLow = ta.lowest(low, lookbackPeriod) // Variables to track the entry prices and SL/TP levels var float entryPriceLong = na var float entryPriceShort = na var float targetPriceLong = na var float targetPriceShort = na var float stopLossLong = na var float stopLossShort = na var bool tradeActive = false // Buy and Sell Conditions with Trend Filter buyCondition = close > trendEma and // Buy only if above the trend EMA close[2] > open[2] and close[1] > open[1] and close > open and (math.abs(close[2] - open[2]) > math.abs(close[1] - open[1])) and (math.abs(close - open) > math.abs(close[1] - open[1])) and close > close[1] and close[1] > close[2] and tr > ema sellCondition = close < trendEma and // Sell only if below the trend EMA close[2] < open[2] and close[1] < open[1] and close < open and (math.abs(close[2] - open[2]) > math.abs(close[1] - open[1])) and (math.abs(close - open) > math.abs(close[1] - open[1])) and close < close[1] and close[1] < close[2] and tr > ema // Entry Rules if (buyCondition and not tradeActive) entryPriceLong := close // Track entry price for long position stopLossLong := tradeMode ? ta.lowest(low, lookbackPeriod) : swingLow // Scalping: recent low, Swing: lowest low of lookback period targetPriceLong := tradeMode ? close + tr : swingHigh // Scalping: close + ATR, Swing: highest high of lookback period tradeActive := true if (sellCondition and not tradeActive) entryPriceShort := close // Track entry price for short position stopLossShort := tradeMode ? ta.highest(high, lookbackPeriod) : swingHigh // Scalping: recent high, Swing: highest high of lookback period targetPriceShort := tradeMode ? close - tr : swingLow // Scalping: close - ATR, Swing: lowest low of lookback period tradeActive := true // Take Profit and Stop Loss Logic signalBuyTPPrint = (not na(entryPriceLong) and close >= targetPriceLong) signalSellTPPrint = (not na(entryPriceShort) and close <= targetPriceShort) signalBuySLPrint = (not na(entryPriceLong) and close <= stopLossLong) signalSellSLPrint = (not na(entryPriceShort) and close >= stopLossShort) if (signalBuyTPPrint or signalBuySLPrint) entryPriceLong := na // Reset entry price for long position targetPriceLong := na // Reset target price for long position stopLossLong := na // Reset stop-loss for long position tradeActive := false if (signalSellTPPrint or signalSellSLPrint) entryPriceShort := na // Reset entry price for short position targetPriceShort := na // Reset target price for short position stopLossShort := na // Reset stop-loss for short position tradeActive := false // Plot Buy and Sell Labels with Visibility Conditions plotshape(showBuyLabels and buyCondition, "Buy", shape.labelup, location=location.belowbar, color=color.green, text="BUY", textcolor=color.white, size=size.tiny) plotshape(showSellLabels and sellCondition, "Sell", shape.labeldown, location=location.abovebar, color=color.red, text="SELL", textcolor=color.white, size=size.tiny) // Plot Take Profit Flags plotshape(showBuyLabels and signalBuyTPPrint, title="Take Profit (buys)", text="TP", style=shape.flag, location=location.abovebar, color=colorTP, textcolor=color.white, size=size.tiny) plotshape(showSellLabels and signalSellTPPrint, title="Take Profit (sells)", text="TP", style=shape.flag, location=location.belowbar, color=colorTP, textcolor=color.white, size=size.tiny) // Plot Stop Loss "X" Marker plotshape(showBuyLabels and signalBuySLPrint, title="Stop Loss (buys)", text="X", style=shape.xcross, location=location.belowbar, color=colorSL, textcolor=color.white, size=size.tiny) plotshape(showSellLabels and signalSellSLPrint, title="Stop Loss (sells)", text="X", style=shape.xcross, location=location.abovebar, color=colorSL, textcolor=color.white, size=size.tiny) // Alerts alertcondition(buyCondition and alertOnCondition, title="Buy Alert", message='{"content": "Buy {{ticker}} at {{close}}"}') alertcondition(sellCondition and alertOnCondition, title="Sell Alert", message='{"content": "Sell {{ticker}} at {{close}}"}') alertcondition(signalBuyTPPrint and alertOnCondition, title="Buy TP Alert", message='{"content": "Buy TP {{ticker}} at {{close}}"}') alertcondition(signalSellTPPrint and alertOnCondition, title="Sell TP Alert", message='{"content": "Sell TP {{ticker}} at {{close}}"}') alertcondition(signalBuySLPrint and alertOnCondition, title="Buy SL Alert", message='{"content": "Buy SL {{ticker}} at {{close}}"}') alertcondition(signalSellSLPrint and alertOnCondition, title="Sell SL Alert", message='{"content": "Sell SL {{ticker}} at {{close}}"}') if buyCondition strategy.entry("Enter Long", strategy.long) else if sellCondition strategy.entry("Enter Short", strategy.short)