
یہ حکمت عملی تجارت کے سگنل پیدا کرنے کے لئے دو اوسطوں کی اوسط اوسط اوسط پر مبنی ہے۔ اس میں تیز اور سست اوسط دونوں اوسطوں کا حساب لگایا گیا ہے۔ جب تیز لائن نیچے کی طرف سے سست لائن کو توڑتی ہے تو ، خریدنے کا اشارہ ہوتا ہے۔ جب تیز لائن نیچے کی طرف سے نیچے کی طرف سے سست لائن کو توڑتی ہے تو ، فروخت کا اشارہ ہوتا ہے۔
اس حکمت عملی کا بنیادی منطق دو حرکت پذیر اوسط SMA ((len1) اور SMA ((len2)) اور ان کے فرق کی مقدار کا حساب لگانا ہے۔ len1 مختصر اوسط مدت کی نمائندگی کرتا ہے ، اور len2 طویل مدتی اوسط مدت کی نمائندگی کرتا ہے۔ مختصر اوسط قیمت میں تبدیلیوں کے لئے زیادہ تیزی سے جواب دیتا ہے ، اور طویل مدتی اوسط طویل مدتی رجحانات کی عکاسی کرتا ہے۔
جب قلیل مدتی اوسط لائن نیچے سے طویل مدتی اوسط لائن کو پار کرتی ہے تو ، اس کا مطلب یہ ہے کہ قلیل مدتی قیمت طویل مدتی رجحان سے زیادہ بڑھنے لگی ہے ، اور خرید سکتے ہیں۔ جب اوپر سے نیچے سے طویل مدتی اوسط لائن کو پار کرتی ہے تو ، اس کا مطلب یہ ہے کہ قلیل مدتی قیمت طویل مدتی رجحان سے نیچے گرنا شروع ہوگئی ہے ، اور فروخت کی جاسکتی ہے۔
غلط آپریشن کو فلٹر کرنے کے لئے ، حکمت عملی میں آؤٹ 3 کو بھی ٹریڈنگ سگنل لائن کے طور پر متعارف کرایا گیا ہے۔ آؤٹ 3 مختصر مدت کی اوسط اور قیمت کی درمیانی قیمت کے فرق کے اسما ہموار کرنے کے بعد کا نتیجہ ہے۔ تجارتی سگنل صرف اس وقت پیدا ہوتا ہے جب آؤٹ 3 ڈف کو عبور کرتا ہے۔
خاص طور پر ، طویل متغیر خریدنے کے لئے سگنل کے طور پر ، جب out3 اوپر سے گزرتا ہے تو اس کی قیمت مثبت ہوتی ہے۔ مختصر متغیر فروخت کے سگنل کے طور پر ، جب out3 نیچے سے گزرتا ہے تو اس کی قیمت منفی ہوتی ہے۔
یہ ایک بہت ہی سادہ اور بدیہی ٹریڈنگ ٹرینڈ ٹریکنگ حکمت عملی ہے۔ اس میں ٹرینڈ کنورٹمنٹ پوائنٹس کو پکڑنے کے لئے بائنری لائن سائیکل کے مختلف طریقوں کا استعمال کیا گیا ہے جو کہ ایک ہی لائن سسٹم سے زیادہ قابل اعتماد ہے۔ اور ٹریڈنگ سگنل لائنوں کے فلٹرنگ کو متعارف کرانے سے ہلچل والی مارکیٹوں میں پیدا ہونے والے جعلی سگنل کو کچھ حد تک بچا جاسکتا ہے۔
اس کے برعکس ، یہ رجحانات کی پیروی کرنے کے تصور کو اپناتا ہے ، جس سے زیادہ سے زیادہ منافع حاصل کیا جاسکتا ہے ، اور جب رجحان طویل ہوتا ہے تو اس کو روک نہیں دیا جاتا ہے۔ اس کے علاوہ ، یہ نقصان کو بھی کنٹرول کرتا ہے ، اور جب رجحان الٹ جاتا ہے تو وقت پر اس کی پوزیشن صاف کردی جاتی ہے۔
اس حکمت عملی میں کم پیرامیٹرز ہیں ، اور یہ سیکھنے اور ایڈجسٹ کرنے میں آسان ہے ، جو ابتدائیوں کے لئے الگورتھم ٹریڈنگ سیکھنے کے لئے ایک ابتدائی حکمت عملی ہے۔
اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ ڈبل میڈین لائن کا دورانیہ پیرامیٹرز غیر مناسب ہے اور اس سے ٹریڈنگ سگنل کی غلطی ہوتی ہے۔ اگر مختصر میڈین لائن کا دورانیہ len1 بہت لمبا ہے تو ، رجحان کے آغاز کے مرحلے کا موقع ضائع ہوجائے گا۔ اگر بہت مختصر ہے تو ، جھوٹے سگنل کا امکان بڑھ جائے گا۔ اگر طویل مدتی میڈین لائن len2 بہت لمبا ہے تو ، پوزیشن ایڈجسٹمنٹ میں تاخیر ہوگی۔ اگر بہت مختصر ہے تو ، مارکیٹ میں اتار چڑھاؤ کی مداخلت کا خطرہ ہے۔
لین 1 اور لین 2 کے پیرامیٹرز کو ایڈجسٹ کرکے بہترین امتزاج حاصل کیا جاسکتا ہے ، یا آپ خود بخود ایڈجسٹمنٹ کو ایڈجسٹ کرنے کے لئے متحرک ایڈجسٹمنٹ سائیکل متعارف کرانے کی کوشش کر سکتے ہیں۔ اس کے علاوہ ، فلٹر پیرامیٹرز کو بہتر بنانے کے ذریعے جعلی سگنل کو کم کیا جاسکتا ہے۔
رجحان سے باخبر رہنے کی حکمت عملی کو انفرادی نقصانات کی مقدار کو کنٹرول کرنے پر بھی توجہ دینے کی ضرورت ہے ، جس میں اسٹاپ نقصانات کا تعین کیا جاسکتا ہے یا پوزیشن مینجمنٹ کو بہتر بنانے کے لئے متعارف کرایا جاسکتا ہے۔
ڈبل مساوی لکیری فرق کی حکمت عملی ایک بہت ہی عام رجحان سے باخبر رہنے کی حکمت عملی کی نمائندگی کرتی ہے۔ اس کا سادہ ڈبل مساوی کراسنگ سسٹم مستحکم سگنل کا ذریعہ لاتا ہے ، جس میں فلٹرز کے ساتھ مل کر مارکیٹ میں اتار چڑھاؤ کی مداخلت سے بچنے کے لئے مؤثر طریقے سے بچایا جاسکتا ہے۔ اس حکمت عملی کی بہتر کارکردگی کو مساوی لکیری دورانیہ کے پیرامیٹرز کو بہتر بنانے کے ذریعے حاصل کیا جاسکتا ہے۔ یہ حکمت عملی الگورتھم ٹریڈنگ کی ابتدائی حکمت عملی کے طور پر سیکھنے کے لئے بہت موزوں ہے۔
/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//by afrazium
//@version=3
strategy(title="SMA Diff strat", shorttitle="SMAD STR", overlay=false, initial_capital=1, precision=8, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, calc_on_order_fills= false, calc_on_every_tick=false, pyramiding=0)
len1 = input(50, minval=1, title="Length1"), len2 = input(100, minval=1, title="Length2"), smo = input(1, minval=1, title="Smoothing")
src = input(ohlc4, title="Source")
mid = src
expr1 = sma(src, len1), expr2 = sma(src, len2)
dif = (expr1 - expr2), out1 = (mid - expr1), out2 = (mid - expr2), out3 = sma(out1, smo)
long = crossover(out3, dif) ? out3 : na, short = crossunder(out3, dif) ? out3 : na
plot(out3, color=black, linewidth=2), hline(0)
clr = out2 >= out1 ? lime : red, plot(dif, color=clr, linewidth=2)
plot(long, title = 'Crossover', color = green, style = circles, linewidth=4), plot(short, title = 'Crossunder', color = red, style = circles, linewidth=4)
strategy.entry("buy", strategy.long, when=crossover(out1, dif))
strategy.close("buy", when=crossunder(out1, dif))
//plot(out2, color=blue, linewidth=2)
//A = plot(mid/10, color=red, linewidth=1, transp=100), B = plot(mid/20, color=red, linewidth=1, transp=100)
//C = plot(-mid/10, color=green, linewidth=1, transp=100), D = plot(-mid/20, color=green, linewidth=1, transp=100)
//fill(A, B, color=red), fill(C, D, color=green)