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