
Moving Average Crossover Strategy ایک ایسی حکمت عملی ہے جو سادہ حرکت پذیر اوسط پر مبنی ہے۔ یہ حکمت عملی مختلف ادوار کی سادہ حرکت پذیر اوسطوں کا حساب کتاب کرکے خرید و فروخت کے سگنل پیدا کرتی ہے جب وہ کراس ہوجاتے ہیں۔
خاص طور پر ، یہ حکمت عملی 9 ویں اور 45 ویں لائنوں کے لئے ایک سادہ حرکت پذیری اوسط کا حساب لگاتی ہے۔ جب قیمت 9 ویں اور 45 ویں لائنوں کو عبور کرتی ہے تو خریدنے کا اشارہ ہوتا ہے۔ جب قیمت 9 ویں اور 45 ویں لائنوں کو عبور کرتی ہے تو فروخت کا اشارہ ہوتا ہے۔
اس حکمت عملی کا بنیادی منطق حرکت پذیر اوسط پر مبنی ہے ، جس کا مطلب یہ ہے کہ یہ مارکیٹ کے شور کو مؤثر طریقے سے فلٹر کرنے اور بڑے رجحان میں تبدیلی کی نشاندہی کرنے کے قابل ہے۔ جب قلیل مدتی اوسط پر طویل مدتی اوسط ہوتا ہے تو قیمتوں میں اضافہ ہوتا ہے۔ جب قلیل مدتی اوسط پر طویل مدتی اوسط ہوتا ہے تو قیمتوں میں کمی کا رجحان ہوتا ہے۔
خاص طور پر ، اس حکمت عملی میں 9 اور 45 دن کی لائنوں کا ایک سادہ حرکت پذیر اوسط استعمال کیا گیا ہے۔ 9 دن کی لائن مختصر مدت کے رجحان کی نمائندگی کرتی ہے ، اور 45 دن کی لائن طویل مدتی رجحان کی نمائندگی کرتی ہے۔ جب قیمت 9 اور 45 دن کی لائنوں کو عبور کرتی ہے تو ، اس کا مطلب یہ ہے کہ اسٹاک کی قیمت مختصر اور طویل مدتی دونوں راستے میں بڑھتی ہوئی چینل میں ہے ، لہذا خریدنے کا اشارہ پیدا ہوتا ہے۔ جب قیمت 9 اور 45 دن کی لائنوں کو عبور کرتی ہے تو ، اس کا مطلب یہ ہے کہ اسٹاک کی قیمت میں اضافے کا رجحان آہستہ آہستہ کم ہوتا ہے ، لہذا فروخت کا اشارہ پیدا ہوتا ہے۔
کوڈ کی منطق کے مطابق ، حکمت عملی پہلے 9 ویں اور 45 ویں لائنوں کی سادہ حرکت پذیر اوسط کا حساب لگاتی ہے ، اور پھر ٹی اے کراس اوور اور ٹی اے کراس انڈر فنکشن کے ذریعہ مساوی لائن کے گولڈ فورکس اور ڈیڈ فورکس کا فیصلہ کرتی ہے۔ خریدنے اور بیچنے کے سگنل پیدا کرنے کے لئے ، پلاٹس شیپ فنکشن کا استعمال کرتے ہوئے ، K لائن گراف پر مثلث اور الٹ مثلث کا سگنل گراف تیار کریں۔
اس کے علاوہ ، اس حکمت عملی میں لمبی پوزیشن اور مختصر پوزیشن کے لئے اسٹاپ نقصان کی منطق بھی ترتیب دی گئی ہے۔ خاص طور پر ، پوزیشن کھولنے کے بعد ، پچھلی K لائن کی اعلی ترین قیمت اور کم سے کم قیمت کو اسٹاپ نقصان کی قیمت کے طور پر نکالا جائے گا۔ اس سے منافع کو مقفل کیا جاسکتا ہے ، اور بہت زیادہ نقصان سے بچایا جاسکتا ہے۔
ردعمل:
اس حکمت عملی میں مزید اصلاحات کی گنجائش موجود ہے:
رجحان میں تبدیلی کو بہتر طور پر پکڑنے کے لئے ایک انڈیکس یا انکولی حرکت پذیری اوسط کا استعمال کریں.
فلٹرنگ سگنل جیسے اتار چڑھاؤ کی شرح کے اشارے میں اضافہ کریں تاکہ زلزلے کے حالات میں غلط سگنل پیدا نہ ہوں۔
پیرامیٹرز کی اصلاح کے طریقہ کار کا استعمال کرتے ہوئے، بہترین پیرامیٹرز کا مجموعہ تلاش کریں.
اسٹاپ لاجسٹک میں رجحان کی پیروی کرنے کا طریقہ شامل کیا گیا ہے ، جس سے اسٹاپ لائن قیمتوں کو لچکدار طریقے سے ٹریک کرسکتی ہے۔
معاونت اور مزاحمت کے بڑے پیمانے پر فیصلے میں اضافہ کریں تاکہ اہم قیمتوں کے علاقوں میں غلط سگنل سے بچا جاسکے۔
مشین لرننگ ماڈل کے ساتھ مل کر سگنل کے معیار کو مزید فلٹر کریں۔
مساوی لائن کراسنگ حکمت عملی ایک سادہ اور عملی رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ شور کو مؤثر طریقے سے فلٹر کرنے اور قیمتوں میں درمیانی اور طویل مدتی رجحانات میں تبدیلیوں کو پکڑنے کے قابل ہے۔ مناسب اسٹاپ نقصان کی منطق کے ساتھ مل کر ، خطرے پر قابو پانے کی بنیاد پر رجحان کی تجارت کرنے کے قابل ہے۔ حکمت عملی کی منطق آسان ہے اور اس پر عمل درآمد کرنا آسان ہے ، جو ابتدائی تجارت کے لئے موزوں ہے۔ مزید اصلاح اور بہتری کے ساتھ ، یہ حکمت عملی کوانٹم ٹریڈنگ سسٹم کا ایک موثر جزو بن سکتی ہے۔
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA Crossover Strategy", overlay=true)
// Input parameters
fast_length = input(9, title="Fast SMA Length")
slow_length = input(45, title="Slow SMA Length")
// Calculate moving averages
fast_sma = ta.sma(close, fast_length)
slow_sma = ta.sma(close, slow_length)
// Buy condition
buy_condition = ta.crossover(close, fast_sma) and ta.crossover(close, slow_sma)
// Sell condition
sell_condition = ta.crossunder(close, fast_sma) and ta.crossunder(close, slow_sma)
// Calculate stop loss levels
prev_low = request.security(syminfo.tickerid, "1D", low[1], lookahead=barmerge.lookahead_on)
prev_high = request.security(syminfo.tickerid, "1D", high[1], lookahead=barmerge.lookahead_on)
// Plot signals on the chart
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Strategy exit conditions
long_stop_loss = sell_condition ? prev_low : na
short_stop_loss = buy_condition ? prev_high : na
strategy.exit("Long Exit", from_entry="Long", when=sell_condition, stop=long_stop_loss)
strategy.exit("Short Exit", from_entry="Short", when=buy_condition, stop=short_stop_loss)
strategy.entry("Long", strategy.long, when=buy_condition)
strategy.entry("Short", strategy.short, when=sell_condition)