یہ حکمت عملی Pivot Point SuperTrend اشارے اور Double Exponential Moving Average (DEMA) اشارے کو ملا کر ان دونوں اشارے کے سلسلے میں قیمت کی پوزیشن کا تجزیہ کرکے تجارتی سگنل تیار کرتی ہے۔ جب قیمت Pivot Point SuperTrend اشارے سے اوپر ہوتی ہے اور DEMA اشارے سے زیادہ ہوتی ہے تو ، ایک لمبا سگنل تیار کیا جاتا ہے۔ جب قیمت Pivot Point SuperTrend اشارے سے نیچے ہوتی ہے اور DEMA اشارے سے کم ہوتی ہے تو ، ایک مختصر سگنل تیار کیا جاتا ہے۔ یہ حکمت عملی درمیانی سے طویل مدتی مارکیٹ کے رجحانات کو پکڑ سکتی ہے جبکہ قلیل مدتی قیمتوں میں اتار چڑھاؤ کا بھی جواب دے سکتی ہے۔
پییوٹ پوائنٹ سپر ٹرینڈ اشارے اور ڈی ای ایم اے اشارے کو جوڑ کر ، یہ حکمت عملی مارکیٹ کے رجحانات کو مؤثر طریقے سے گرفت میں لے سکتی ہے جبکہ قلیل مدتی اتار چڑھاؤ کا بھی جواب دے سکتی ہے۔ اس حکمت عملی کے فوائد جیسے مضبوط رجحان کی پیروی کرنے کی صلاحیت ، مضبوط موافقت اور مضبوط رسک کنٹرول کی صلاحیت ہیں ، لیکن اس میں پیرامیٹر سیٹنگ ، رینج سے وابستہ مارکیٹوں اور رجحان کے الٹ جیسے خطرات کا بھی سامنا کرنا پڑتا ہے۔ پیرامیٹر کی اصلاح ، سگنل فلٹرنگ ، پوزیشن مینجمنٹ اور پورٹ فولیو کی اصلاح کے ذریعے ، حکمت عملی کے استحکام اور منافع کو مزید بہتر بنایا جاسکتا ہے تاکہ مختلف مارکیٹ کے ماحول میں بہتر طور پر موافقت ہو۔
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple Combined Strategy: Pivot Point SuperTrend and DEMA", overlay=true) // Pivot Point SuperTrend settings prd = input.int(2, title="Pivot Point Period", minval=1, maxval=50) Factor = input.float(3.0, title="ATR Factor", minval=1, step=0.1) Pd = input.int(10, title="ATR Period", minval=1) // Double EMA settings demaLength = input.int(200, title="DEMA Length", minval=1) src = input(close, title="Source") // Pip settings pipValue = input.float(0.0001, title="Pip Value") stopLossPips = input.int(15, title="Stop Loss (pips)") takeProfitPips = input.int(35, title="Take Profit (pips)") // Pivot Point SuperTrend Calculation float ph = ta.pivothigh(prd, prd) float pl = ta.pivotlow(prd, prd) var float center = na if not na(ph) center := na(center) ? ph : (center * 2 + ph) / 3 if not na(pl) center := na(center) ? pl : (center * 2 + pl) / 3 Up = center - (Factor * ta.atr(Pd)) Dn = center + (Factor * ta.atr(Pd)) var float TUp = na var float TDown = na var int Trend = na if na(Trend) TUp := Up TDown := Dn Trend := close > Dn ? 1 : -1 else TUp := close[1] > TUp[1] ? math.max(Up, TUp[1]) : Up TDown := close[1] < TDown[1] ? math.min(Dn, TDown[1]) : Dn Trend := close > TDown[1] ? 1 : close < TUp[1] ? -1 : nz(Trend[1], 1) Trailingsl = Trend == 1 ? TUp : TDown linecolor = Trend == 1 ? color.lime : color.red plot(Trailingsl, color=linecolor, linewidth=2, title="PP SuperTrend") // Double EMA Calculation e1 = ta.ema(src, demaLength) e2 = ta.ema(e1, demaLength) dema = 2 * e1 - e2 plot(dema, "DEMA", color=color.new(#43A047, 0)) // Strategy Logic longCondition = close > Trailingsl and close > dema and strategy.position_size <= 0 shortCondition = close < Trailingsl and close < dema and strategy.position_size >= 0 // Plot signals plotshape(series=longCondition, title="Long", location=location.belowbar, color=color.green, style=shape.labelup, text="Long") plotshape(series=shortCondition, title="Short", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short") // Strategy Entry and Exit if (longCondition) strategy.entry("Long", strategy.long, stop=close - (stopLossPips * pipValue), limit=close + (takeProfitPips * pipValue)) if (shortCondition) strategy.entry("Short", strategy.short, stop=close + (stopLossPips * pipValue), limit=close - (takeProfitPips * pipValue)) alertcondition(longCondition, title="Long Alert", message="Long Signal") alertcondition(shortCondition, title="Short Alert", message="Short Signal")