یہ حکمت عملی مختلف ادوار کے ساتھ تین اشاریاتی حرکت پذیر اوسط لائنوں (ای ایم اے) کی بنیاد پر تجارتی سگنل تیار کرتی ہے۔ 5 دن کی مدت کے ساتھ قلیل مدتی ای ایم اے ، 8 دن کی مدت کے ساتھ درمیانی مدتی ای ایم اے اور 13 دن کی مدت کے ساتھ طویل مدتی ای ایم اے۔ جب قلیل مدتی ای ایم اے درمیانی اور طویل مدتی ای ایم اے کے اوپر عبور کرتا ہے تو یہ طویل ہوجاتا ہے ، اور جب قلیل مدتی ای ایم اے درمیانی اور طویل مدتی ای ایم اے کے نیچے عبور کرتا ہے تو یہ مختصر ہوجاتا ہے۔
یہ حکمت عملی مختلف ادوار کے ای ایم اے کے حساب سے مارکیٹ کے رجحان کا جائزہ لیتی ہے۔ قلیل مدتی ای ایم اے حالیہ چند دنوں کی اوسط قیمت کی عکاسی کرتی ہے جبکہ درمیانی اور طویل مدتی ای ایم اے طویل مدتی فریموں پر اوسط قیمت کی عکاسی کرتی ہے۔ درمیانی اور طویل مدتی ای ایم اے پر قلیل مدتی ای ایم اے کا کراس اوور قیمت کی اوپر کی خرابی کی نشاندہی کرتا ہے ، لہذا ایک لمبی پوزیشن لی جاتی ہے۔ اس کے برعکس ، جب قلیل مدتی ای ایم اے دوسرے دو سے نیچے کی حد کو عبور کرتا ہے تو ، یہ نیچے کی قیمت کی خرابی کی نشاندہی کرتا ہے لہذا ایک مختصر پوزیشن لی جاتی ہے۔
خاص طور پر ، یہ حکمت عملی بیک وقت 5 دن ، 8 دن اور 13 دن کے ای ایم اے کا حساب لگاتی ہے۔ جب 5 دن کا ای ایم اے 8 دن اور 13 دن کے ای ایم اے سے تجاوز کرتا ہے تو یہ طویل سگنل تیار کرتا ہے۔ جب 5 دن کا ای ایم اے دوسرے دو کے نیچے عبور کرتا ہے تو یہ مختصر سگنل تیار کرتا ہے۔ طویل عرصے کے بعد ، جب 5 دن کا ای ایم اے 13 دن کے ای ایم اے سے نیچے واپس گزر جاتا ہے تو پوزیشن بند ہوجاتی ہے۔ مختصر پوزیشن کے لئے بھی۔
بہتری کے خیالات:
یہ ایک عام بریکآؤٹ سسٹم ہے جو مختصر ، درمیانے اور طویل مدتی ای ایم اے کے مابین کراس اوورز کا موازنہ کرکے رجحان کی تبدیلیوں کا فیصلہ کرتا ہے۔ اس کی سگنلنگ میں سادگی تجارت میں آسانی پیدا کرتی ہے ، لیکن ای ایم اے کے اندرونی پسماندگی اور عارضی اصلاحات سے حقیقی رجحانات کو فلٹر کرنے کی عدم صلاحیت سے بھی دوچار ہے۔ مستقبل کی بہتری میں اسے بہتر بنانے کے لئے دوسرے تکنیکی اشارے یا موافقت پذیر پیرامیٹر ٹیوننگ کو مربوط کیا جاسکتا ہے۔
/*backtest start: 2023-11-16 00:00:00 end: 2023-11-23 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © gregoirejohnb // @It is modified by ttsaadet. // Moving average crossover systems measure drift in the market. They are great strategies for time-limited people. // So, why don't more people use them? // // strategy(title="EMA Crossover Strategy", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000) // === GENERAL INPUTS === //strategy start date start_year = input(defval=2020, title="Backtest Start Year") // === LOGIC === short_period = input(type=input.integer,defval=5,minval=1,title="Length") mid_period = input(type=input.integer,defval=8,minval=1,title="Length") long_period = input(type=input.integer,defval=13,minval=1,title="Length") longOnly = input(type=input.bool,defval=false,title="Long Only") shortEma = ema(hl2,short_period) midEma = ema(hl2,mid_period) longEma = ema(hl2,long_period) plot(shortEma,linewidth=2,color=color.red,title="Fast") plot(midEma,linewidth=2,color=color.orange,title="Fast") plot(longEma,linewidth=2,color=color.blue,title="Slow") longEntry = ((shortEma > midEma) and crossover(shortEma,longEma)) or ((shortEma > longEma) and crossover(shortEma,midEma)) shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma)) plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle") plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle") plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign") // === STRATEGY - LONG POSITION EXECUTION === enterLong() => longEntry exitLong() => crossunder(shortEma,longEma) strategy.entry(id="Long", long=strategy.long, when=enterLong()) strategy.close(id="Long", when=exitLong()) // === STRATEGY - SHORT POSITION EXECUTION === enterShort() => not longOnly and shortEntry exitShort() => crossover(shortEma,longEma) strategy.entry(id="Short", long=strategy.short, when=enterShort()) strategy.close(id="Short", when=exitShort())