
یہ حکمت عملی متحرک اوسط لائن اشارے پر مبنی ہے ، جس میں قیمت کے رجحانات کی اصل وقت کی پیروی کی جاتی ہے ، اور اوسط لائن کو توڑنے کے ذریعے تجارتی سگنل جاری کیا جاتا ہے۔ حکمت عملی کی خوبی یہ ہے کہ پیرامیٹرز کی ترتیب آسان ہے ، سگنل کا فیصلہ واضح ہے ، درمیانی اور لمبی لائن پوزیشن رکھنے کے لئے موزوں ہے۔
اس حکمت عملی میں متحرک مساوی اشارے کا استعمال کیا جاتا ہے ، جس میں متعدد قسم کی مساوی لائنیں شامل ہیں ، جیسے ALMA ، EMA ، SMA وغیرہ۔ بنیادی اصول یہ ہے کہ ، جب قیمت اوپر کی اوسط لائن کو عبور کرتی ہے تو ، زیادہ کام کریں اور جب قیمت نیچے کی اوسط لائن کو عبور کرتی ہے تو ، خالی ہوجائیں۔ یعنی ، مساوی لائن کو قیمت کے رجحانات کی بارش کے طور پر استعمال کرتے ہوئے ، جب سمت تبدیل ہوجاتی ہے تو تجارتی سگنل جاری کیا جاسکتا ہے۔
خاص طور پر ، حکمت عملی اعلی اور کم نقطہ کی تشکیل کی اوسط لائن کا استعمال کرتی ہے ، پھر کم اوسط لائن کو زیادہ سگنل لائن کے طور پر اور اعلی اوسط لائن کو مختصر سگنل لائن کے طور پر استعمال کرتی ہے۔ جب بند ہونے والی قیمت کم اوسط لائن سے زیادہ ہو تو ، زیادہ کریں اور جب بند ہونے والی قیمت اونچائی اوسط لائن سے کم ہو تو ، کم کریں۔
اس طرح ، قیمتوں کے رجحانات کا اندازہ لگانے کے لئے اوسط لائن کے اشارے کا استعمال کیا جاتا ہے ، اور اس کے بعد بریک اصول کے ساتھ مل کر سگنل دیا جاتا ہے ، جس سے ایک آسان اور عملی رجحانات کی پیروی کرنے کی حکمت عملی تشکیل دی جاتی ہے۔
اس حکمت عملی میں قیمتوں کے رجحان کی سمت کا تعین کرنے کے لئے ہموار اشارے کا استعمال کیا جاتا ہے ، جس میں بریک تھری کی بنیاد پر ٹریڈنگ سگنل جاری کیے جاتے ہیں۔ اس کی خوبی یہ ہے کہ یہ آسان اور استعمال میں آسان ہے ، درمیانی اور لمبی لائن کی پوزیشنوں کے لئے موزوں ہے ، جس کو پیرامیٹرز کے ذریعہ مارکیٹ میں تبدیلیوں کے مطابق ایڈجسٹ کیا جاسکتا ہے۔ مختصر مدت کے جھٹکے اور طویل مدتی ہولڈنگ سے متعلق خطرات سے بچنے پر توجہ دینے کی ضرورت ہے ، جس کو اسٹاپ نقصان سے روکنے کے ذریعہ حل کیا جاسکتا ہے۔ حکمت عملی کی تاثیر کو بڑھانے کے لئے زیادہ اشارے کا استعمال کرنے اور بہتر پیرامیٹرز تلاش کرنے کے لئے مشین لرننگ کا استعمال کرنے میں اصلاح کی گنجائش ہے۔
/*backtest
start: 2023-12-02 00:00:00
end: 2024-01-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Baseline Strategy - evo", shorttitle="Baseline", overlay=true)
//INPUTS
mat = input("ALMA", "MA Type", options=["SMA", "EMA", "WMA", "HMA", "VWMA", "RMA", "ALMA"])
baseline = input(55, title="MA Length")
src = input(ohlc4, title="Closing Source")
offset = input(0.85, step=0.05, title="Offset (alma only)")
sigma = input(10, title="Sigma (alma only)")
useCurrentRes = input(true, title="Use Current Resolution")
resCustom = input("1440", title="Timeframe")
showsignals = input(false, title="Show Signals ?")
//BASELINE
baselinehigh =
mat=="SMA" ? sma(high,baseline) :
mat=="EMA" ? ema(high,baseline) :
mat=="WMA" ? wma(high,baseline) :
mat=="HMA" ? wma(2*wma(high, baseline/2)-wma(high, baseline), round(sqrt(baseline))) :
mat=="VWMA" ? vwma(high,baseline) :
mat=="RMA" ? rma(high,baseline) :
mat=="ALMA" ? alma(high, baseline, offset, sigma) : na
baselinelow =
mat=="SMA" ? sma(low,baseline) :
mat=="EMA" ? ema(low,baseline) :
mat=="WMA" ? wma(low,baseline) :
mat=="HMA" ? wma(2*wma(low, baseline/2)-wma(low, baseline), round(sqrt(baseline))) :
mat=="VWMA" ? vwma(low,baseline) :
mat=="RMA" ? rma(low,baseline) :
mat=="ALMA" ? alma(low, baseline, offset, sigma) : na
//RESOLUTION
res = useCurrentRes ? timeframe.period : resCustom
mtfhigh = security(syminfo.tickerid, res, baselinehigh)
mtflow = security(syminfo.tickerid, res, baselinelow)
//PLOTS
plot(mtfhigh, color=color.navy, linewidth=2, transp=0, title="Baseline High")
plot(mtflow, color=color.navy, linewidth=2, transp=0, title="Baseline Low")
long = src > mtfhigh
short = src < mtflow
barcolor(long ? #ffe0b2 : short ? #2a2e39 : not long and not short ? #b09e82 : na, title="BaseLine BarColor")
signal = 0
signal := long ? 1 : short ? 2 : nz(signal[1])
plotshape(showsignals ? (signal != signal[1] and long ? mtflow : na) : na, title="Long", location=location.absolute, size=size.small, style=shape.labelup, text="Long", textcolor=color.black, transp=40, color=#00ff00)
plotshape(showsignals ? (signal != signal[1] and short ? mtfhigh : na) : na, title="Short", location=location.absolute, size=size.small, style=shape.labeldown, text="Short", textcolor=color.white, transp=40, color=#ff0000)
alertcondition(signal != signal[1], title="Trend Change !", message="Trend Change !")
if (long)
strategy.entry("Long", strategy.long)
if (short)
strategy.entry("Short", strategy.short)