ٹرپل SMA پر مبنی ایک خودکار ٹریکنگ حکمت عملی


تخلیق کی تاریخ: 2024-01-26 15:05:58 آخر میں ترمیم کریں: 2024-01-26 15:05:58
کاپی: 1 کلکس کی تعداد: 640
1
پر توجہ دیں
1617
پیروکار

ٹرپل SMA پر مبنی ایک خودکار ٹریکنگ حکمت عملی

جائزہ

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

حکمت عملی کا اصول

اس حکمت عملی میں تین مختلف دورانیے کے ایس ایم اے کو رجحان سازی کے اہم اشارے کے طور پر استعمال کیا جاتا ہے ، جس میں 200 ، 400 اور 600 دورانیے کے ایس ایم اے شامل ہیں۔ جب قیمت تین ایس ایم اے کے اوپر ہوتی ہے تو اس کا فیصلہ اوپر کی طرف ہوتا ہے ، اور اس کے برعکس ، اس کا فیصلہ ہوتا ہے۔

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

اسٹاپ نقصان کا معیار اس وقت ہوتا ہے جب قیمت سب سے سست SMA کو چھوتی ہے۔

حکمت عملی میں زیادہ سے زیادہ 10 پوزیشنوں کو بڑھا دیا جاسکتا ہے۔ اور تین مختلف تناسب کے اسٹاپ کو ترتیب دیا گیا ہے ، بالترتیب 1٪ ، 2٪ اور 6٪۔

طاقت کا تجزیہ

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

اس کے علاوہ ، اسٹوک کلوز اشارے کے ساتھ مل کر یہ معلوم کرنا کہ آیا آپ نے زیادہ خرید یا زیادہ فروخت کیا ہے ، رجحان کے الٹ کے قریب داخل ہونے سے بچنے کے لئے ، اور اس طرح غلط اندراجات کو کم کرنے کے لئے۔

اسٹاپ معیار سادہ اور براہ راست ہے ، جس میں سست ترین سائیکل SMA کو اسٹاپ لائن کے طور پر استعمال کیا جاتا ہے ، جس سے زیادہ سے زیادہ وقت سے پہلے اسٹاپ سے بچا جاسکتا ہے۔

اس کے علاوہ، یہ حکمت عملی کو مسلسل رجحانات کی پیروی کرنے کی اجازت دیتا ہے.

خطرے کا تجزیہ

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

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

ان خطرات کو کم کرنے کے لئے ، ایس ایم اے کی مدت کو مناسب طریقے سے ایڈجسٹ کیا جاسکتا ہے۔ یا دوسرے اشارے کو جوڑنے کے لئے شامل کیا جاسکتا ہے ، جیسے کے ڈی جے ، ایم اے سی ڈی ، وغیرہ ، اس بات کا یقین کرنے کے لئے کہ آنے والے سگنل کی کوالٹی۔

اصلاح کی سمت

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

  1. ایس ایم اے کے دورانیہ کی تعداد میں اضافہ یا ایڈجسٹ کریں اور مخصوص نسلوں کے لئے زیادہ موزوں دورانیہ پیرامیٹرز تلاش کریں

  2. انٹریوں کے معیار کو بہتر بنانے کے لئے مجموعی فیصلے کے لئے دیگر اشارے شامل کریں ، جیسے کے ڈی جے ، ایم اے سی ڈی وغیرہ

  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)