ٹرپل ایس ایم اے آٹو ٹریکنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-26 15:05:58
ٹیگز:

img

جائزہ

ٹرپل ایس ایم اے حکمت عملی رجحان کی نشاندہی اور اندراجات کے لئے مختلف ادوار کے تین سادہ چلنے والے اوسط (ایس ایم اے) پر مبنی رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ رجحانات کی شناخت اور رجحانات میں واپسی کے دوران پوزیشنوں کو خود بخود ٹریک کرسکتا ہے۔

حکمت عملی منطق

یہ حکمت عملی مختلف ادوار کے تین ایس ایم اے کو اہم رجحان اشارے کے طور پر استعمال کرتی ہے ، جس میں 200 ، 400 ، اور 600 ادوار کے ایس ایم اے شامل ہیں۔ جب قیمت تینوں ایس ایم اے سے اوپر ہوتی ہے تو ، اس سے بڑھتی ہوئی رجحان ظاہر ہوتا ہے ، اور اس کے برعکس ڈاؤن ٹرینڈ کے لئے۔

اندراجات کے ل the ، حکمت عملی میں قریبی قیمت اور اسٹاک کلوز اوسیلیٹر کا استعمال ملتا ہے۔ سگنل صرف اس وقت پیدا ہوتے ہیں جب قیمت ٹرپل ایس ایم اے کی سمت کے ساتھ سیدھ ہوجاتی ہے۔ اسٹاک کلوز زیادہ خرید / زیادہ فروخت کی سطح کی نشاندہی کرتا ہے اور 95 سے اوپر عبور کرتے وقت طویل سگنل اور 5 سے نیچے عبور کرتے وقت مختصر سگنل دیتا ہے۔

سٹاپ نقصان سب سے سست SMA سے نیچے قیمت کراسنگ پر مقرر کیا جاتا ہے.

یہ حکمت عملی 10 گنا تک پرامڈائزنگ کی اجازت دیتی ہے۔ 1، 2 اور 6 فیصد منافع پر تین منافع لینے کی سطحیں شامل ہیں۔

فوائد کا تجزیہ

ٹرپل ایس ایم اے حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ مختلف ادوار کے تین ایس ایم اے کو یکجا کرکے ، یہ رجحان کی سمت اور طاقت کی بہتر شناخت کرسکتا ہے۔ اس میں واحد ایس ایم اے حکمت عملیوں کے مقابلے میں غلط سگنل کو فلٹر کرنے کی مضبوط صلاحیت ہے۔

مزید برآں، oversold/overbought تجزیہ کے لئے اسٹاک کلوز کو شامل کرنے سے ممکنہ رجحان کی تبدیلی کے مقامات کے ارد گرد سگنل لینے سے بچتا ہے۔

سست ترین ایس ایم اے پر مبنی اسٹاپ نقصان بھی ابتدائی اسٹاپ آؤٹ کو کم سے کم کرتے ہوئے رجحانات پر سوار ہونے کی حکمت عملی کی صلاحیت کو زیادہ سے زیادہ کرتا ہے۔

اہرام سازی کی اجازت دینے سے حکمت عملی کو رجحانات میں مسلسل حصہ لینے کے قابل بناتا ہے۔

خطرے کا تجزیہ

اس حکمت عملی کا بنیادی خطرہ یہ ہے کہ ٹرپل ایس ایم اے تمام غلط سگنلز کو مکمل طور پر فلٹر نہیں کرسکتے ہیں۔ اگر قیمت ایس ایم اے کو توڑنے کے بعد رجحان بنانے میں ناکام ہوجاتی ہے اور جلد ہی پیچھے ہٹ جاتی ہے تو ، نقصانات ہوسکتے ہیں۔ یہ اکثر بڑے سپورٹ / مزاحمت کی سطح کے آس پاس ہوتا ہے۔

نیز ، اسٹاک کلوز خود غلط سگنل پیدا کرسکتا ہے ، جس سے خاص طور پر رینج مارکیٹوں میں نامناسب اندراجات ہوسکتے ہیں۔

ان خطرات کو کم کرنے کے لئے ، پیرامیٹرز جیسے ایس ایم اے ادوار کو ایڈجسٹ کیا جاسکتا ہے۔ سگنل کے معیار کو بہتر بنانے کے لئے مزید اشارے شامل کیے جاسکتے ہیں ، جیسے کے ڈی جے اور ایم اے سی ڈی۔

اصلاح کی ہدایات

حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:

  1. مخصوص مصنوعات کے مطابق بہترین اقدار تلاش کرنے کے لئے ایس ایم اے ادوار شامل کریں / ایڈجسٹ کریں

  2. کمبو فلٹرنگ اور بہتر اندراجات کے لئے اضافی اشارے جیسے KDJ اور MACD شامل کریں

  3. اسٹاپ نقصان کو بہتر بنائیں اور منافع کے معیار کو مارکیٹ کی اتار چڑھاؤ کی حدوں میں بہتر طور پر فٹ کریں

  4. بہترین پرامڈائڈنگ کی حکمت عملی تلاش کرنے کے لئے پرامڈائڈنگ کی ترتیبات کو بہتر بنائیں

  5. مختلف مصنوعات پر ٹیسٹ کریں اور پیرامیٹرز کو زیادہ مصنوعات کے مطابق ڈھالیں

نتیجہ

خلاصہ یہ ہے کہ ٹرپل ایس ایم اے حکمت عملی ایک بہت ہی عملی رجحان کی پیروی کرنے والا نقطہ نظر ہے۔ ٹرپل ایس ایم اے اور اسٹاک کلوز کو جوڑ کر ، یہ ٹھوس رجحان کی نشاندہی حاصل کرتا ہے اور جھوٹے سگنلز سے بچتا ہے۔ اہرام سازی کی اجازت دینے سے رجحانات کو بھی ٹریک کرنے میں مدد ملتی ہے۔ پیرامیٹر ٹیوننگ اور اصلاحات کے ساتھ ، یہ ایک طاقتور رجحان ٹریکر بن سکتا ہے۔


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Tripla Sma with entries based on sma price closes ", shorttitle="TRIPLE SMA STRATEGY", overlay=true) ////resolution=""
len = input(200, minval=1, title="sma 1 length")
len1 = input(400, minval=1, title="sma 2 length")
len2 = input(600, minval=1, title="sma 3 length")
src = input(close, title="Source")
////////////////////////////////////////////
smma = 0.0
smma := na(smma[1]) ? sma(src, len) : (smma[1] * (len - 1) + src) / len

up = smma > smma [1]
down =smma < smma[1]
mycolor = up ? #64b5f6 : down ? #d32f2f : na
fastma = sma(hl2, 1)

fastplot = plot(fastma, color=#000000, transp=100, title='sma on candle')
slowplot = plot(smma, color=mycolor, transp=55, title='sma1')

////////////////////////////////////////////
smma1 = 0.0
smma1 := na(smma1[1]) ? sma(src, len1) : (smma1[1] * (len1 - 1) + src) / len1

up2 = smma1 > smma1 [1]
down2 =smma1 < smma1[1]

mycolor2 = up2 ? #64b5f6 : down2 ? #d32f2f : na
slowplot2 = plot(smma1, color=mycolor2, transp=45, title='sma2')

////////////////////////////////////////////
smma2 = 0.0
smma2 := na(smma2[1]) ? sma(src, len2) : (smma2[1] * (len2 - 1) + src) / len2

up3 = smma2 > smma2 [1]
down3 =smma2 < smma2[1]

mycolor3 = up3 ? #64b5f6 : down3 ? #d32f2f : na
slowplot3 = plot(smma2, color=mycolor3, transp=35, title='sma3')

////////////////////////////////////////////////////////////////////////////////////////
//Fill gaps
fillData = smma > fastma
fillData2 = smma < fastma

fillDtat = smma1 > smma
fillDtat2 = smma1 < smma

fillDat = smma2 > smma1
fillDat2 = smma2 < smma1


fillCol1 = fillData ? #ef5350 : fillData2 ? #64b5f6 : na
fillCol2 = fillDtat ? #ef5350 : fillDtat2 ? #64b5f6 : na
fillCol3 = fillDat ? #ef5350 : fillDat2 ? #64b5f6 : na


fill(slowplot, fastplot, color=fillCol1, transp=90, title="sma1 fill")
fill(slowplot, slowplot2, color=fillCol2, transp=80, title="sma2 fill")
fill(slowplot2, slowplot3, color=fillCol3, transp=60, title="sma3 fill")

uc = (close > smma) and (close > smma1)
dc = (close < smma) and (close < smma1)

barColor = uc ? #64b5f6 : dc ? #e91e63 : #b2b5be
barcolor(color=barColor)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//StochClose from @trendinvestpro 
periods = input(50, minval=1, title="length for the oscillator")
smooth = input(5, minval=1, title="oscillator smoothing")
hhc=highest(close,periods)
llc=lowest(close,periods)
StochClose = sma((close-llc)/(hhc-llc)*100, smooth)

shortline = input(95, minval=0, title="signal when oscillator crosses above")
longline = input(5, minval=0, title="signal when oscillator crosses below")

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
longs = close > smma2
shorts = close < smma2



long = longs == true and crossunder(StochClose, longline)
short = shorts == true and crossover(StochClose, shortline)

stoplong = close < smma and close < smma1 and close < smma2
stopshort = close > smma and close > smma1 and close > smma2

p1 = strategy.position_avg_price / 100 / syminfo.mintick

maxx = input(2500, title="max orders filled on a day", minval=0)
takeprofit1 = input(1, title="take profit level 1", minval=0)
takeprofit2 = input(2, title="take profit level 2", minval=0)
takeprofit3 = input(6, title="take profit level 3", minval=0)

takeprofitqt1 = input(30, title="take profit quantity first", minval=0)
takeprofitqt2 = input(30, title="take profit quantity second", minval=0)
takeprofitqt3 = input(30, title="take profit quantity third", minval=0)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////Strategy entries/////////////////////////////////////////////////////////////////////////////////////////
// strategy.risk.max_intraday_filled_orders(maxx)
strategy.entry("long", strategy.long, when=long)
strategy.exit("tpl1", "long", qty_percent = takeprofitqt1, profit = takeprofit1 * p1)
strategy.exit("tpl2", "long", qty_percent = takeprofitqt2, profit = takeprofit2 * p1)
strategy.exit("tpl3", "long", qty_percent = takeprofitqt3, profit = takeprofit3 * p1)
strategy.close("long", when=stoplong == true)


strategy.entry("short", strategy.short, when=short)
strategy.exit("tpl1", "short", qty_percent = takeprofitqt1, profit = takeprofit1 * p1)
strategy.exit("tpl2", "short", qty_percent = takeprofitqt2, profit = takeprofit2 * p1)
strategy.exit("tpl3", "short", qty_percent = takeprofitqt3, profit = takeprofit3 * p1)
strategy.close("short", when=stopshort == true)




مزید