یہ حکمت عملی مختلف ادوار کے ساتھ ای ایم اے لائنوں کے کراس اوور کی بنیاد پر رجحان کی سمت کا تعین کرتی ہے اور اس کے مطابق طویل اور مختصر سگنل تیار کرتی ہے۔ یہ بنیادی طور پر دو چلتی اوسط - 10 دن کی ای ایم اے اور 20 دن کی ای ایم اے کا استعمال کرتی ہے۔ جب 10 دن کی ای ایم اے 20 دن کی ای ایم اے سے نیچے عبور کرتی ہے تو ، ایک مختصر سگنل متحرک ہوجاتا ہے۔ جب 10 دن کی ای ایم اے 20 دن کی ای ایم اے سے اوپر عبور کرتی ہے تو ، ایک طویل سگنل متحرک ہوجاتا ہے۔ یہ حکمت عملی درمیانی مدتی تجارتی حکمت عملیوں سے تعلق رکھتی ہے۔
یہ حکمت عملی دو ای ایم اے لائنوں کا استعمال کرتی ہے ، جن میں 10 دن کا ای ایم اے اور 20 دن کا ای ایم اے شامل ہے۔ ای ایم اے لائنیں قیمتوں کے رجحان کو مؤثر طریقے سے ظاہر کرسکتی ہیں۔ جب قلیل مدتی ای ایم اے لائن طویل مدتی ای ایم اے لائن سے اوپر سے گزرتی ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ قیمت کا رجحان زوال سے بڑھ رہا ہے ، جو ایک طویل سگنل ہے۔ جب قلیل مدتی ای ایم اے لائن طویل مدتی ای ایم اے لائن سے نیچے سے گزرتی ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ قیمت کا رجحان اضافہ سے زوال کی طرف بڑھ رہا ہے ، جو ایک مختصر سگنل ہے۔
یہ حکمت عملی کچھ تجارتی سگنلز کو فلٹر کرنے کے لئے قیمتوں میں اتار چڑھاؤ کی زیادہ سے زیادہ اور کم سے کم اقدار کو بھی جوڑتی ہے۔ قیمتوں میں اتار چڑھاؤ ایک خاص حد تک پہنچنے کے بعد ہی تجارتی سگنل متحرک ہوجاتے ہیں۔ اس سے کچھ غلط سگنل کسی حد تک فلٹر ہوسکتے ہیں۔
خاص طور پر ، جب زیادہ سے زیادہ اور کم سے کم اقدار تک پہنچ جاتے ہیں تو اس وقت کا سراغ لگاتے ہوئے ، حکمت عملی کا فیصلہ کرتی ہے کہ آیا قیمت کا رجحان تشکیل پا چکا ہے۔ حقیقی تجارتی سگنل صرف اس کے بعد شروع ہوتے ہیں جب زیادہ سے زیادہ یا کم سے کم اقدار کچھ عرصے تک جاری رہتی ہیں۔
اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:
اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:
خطرات کو مندرجہ ذیل طریقوں سے کم کیا جاسکتا ہے:
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:
خلاصہ یہ ہے کہ ، یہ ای ایم اے کراس اوور حکمت عملی ایک سادہ اور عملی رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ اہم رجحان کی سمت کا تعین کرنے کے لئے ای ایم اے لائنز کا استعمال کرتا ہے ، جس میں تجارتی فیصلے کرنے کے لئے قیمت میں اتار چڑھاؤ فلٹرنگ کے ساتھ مل کر استعمال ہوتا ہے۔ پیرامیٹرز کو سمجھنا اور ایڈجسٹ کرنا آسان ہے ، درمیانی مدتی تجارت میں موافقت پذیر ہے۔ مزید اصلاحات کے ساتھ ، یہ طویل مدتی کے لئے رکھنے کے لئے ایک قابل قدر مقداری حکمت عملی بن سکتی ہے۔
/*backtest start: 2024-01-15 00:00:00 end: 2024-01-22 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("PierceMAStrat", overlay=true) lenMA0 = input(title="Length 0",defval=2) lenMA1=input(title="Length 1",defval=10) lenMA2=input(title="Length 2", defval=20) lenMA3 = input(title = "Length3", defval =50) emaLen0 = ema(close, lenMA0) emaLen1 = ema(close, lenMA1) emaLen2 = ema(close, lenMA2) emaLen3 = ema(close, lenMA3) ascent = if emaLen1[1] < emaLen1[0] true else false descent = if emaLen1[1] > emaLen1[0] true else false TimeSinceAscensionStart = if ascent == true barssince(descent == true) else 0 StartUp = if TimeSinceAscensionStart < 1 true else false StartDown = if TimeSinceAscensionStart < 1 false else true AscentBarCounter = barssince(StartUp == true) DescentBarCounter = barssince(StartDown == true) MaxAscent = if AscentBarCounter[1] > AscentBarCounter[0] and AscentBarCounter[1] > 10 true else false MaxDescent = if DescentBarCounter[1] > DescentBarCounter[0] and DescentBarCounter[1] > 5 true else false longCond = if crossover(emaLen1, emaLen2) and barssince(MaxDescent == true) > 3 true else false shortCond = if crossunder(emaLen1, emaLen2) and barssince(MaxAscent == true) > 3 true else false //longCond = (crossover(emaLen1, emaLen2) and (emaLen2 > emaLen3)) //shortCond = crossunder(emaLen1, emaLen2) and (emaLen2 < emaLen3) if longCond == true strategy.entry("LONG", strategy.long) if shortCond == true strategy.entry("SHORT", strategy.short) plotshape(series=MaxAscent, title="MaximaReached", style=shape.triangledown, location=location.abovebar, color=green, text="MaximaReached", size=size.small) plotshape(series=MaxDescent, title="MinimaReached", style=shape.triangleup, location=location.belowbar, color=red, text="MinimaReached", size=size.small) //plotshape(series=StartUp, title="StartUp", style=shape.triangleup, location=location.belowbar, color=red, text="StartUp", size=size.tiny) //plotshape(series=StartDown, title="StartDown", style=shape.triangleup, location=location.belowbar, color=green, text="StartDown", size=size.tiny) //plotshape(series=(crossover(emaLen1, emaLen3)), title="GBXOVER", style=shape.triangleup, location=location.belowbar, color=green, text="GBXO", size=size.small) //plotshape(series=(crossover(emaLen2, emaLen3)), title="RBXOVER", style=shape.triangledown, location=location.abovebar, color=orange, text="RBXO", size=size.small) //plotshape(series=(crossover(emaLen1, emaLen2)), title="GRXOVER", style=shape.triangledown, location=location.abovebar, color=teal, text="GRXO", size=size.small) //plotshape(series=(crossunder(emaLen1, emaLen2)), title="GRXUNDER", style=shape.triangledown, location=location.abovebar, color=purple, text="GRXU", size=size.small) //plotshape(series=(crossunder(emaLen1, emaLen3)), title="GBXOVER", style=shape.triangleup, location=location.belowbar, color=yellow, text="GBXU", size=size.small) //plotshape(series=(crossunder(emaLen2, emaLen3)), title="RBXOVER", style=shape.triangledown, location=location.abovebar, color=yellow, text="RBXU", size=size.small) //plotshape(convergence, color=lime, style=shape.arrowup, text="CROSS") plot(emaLen1, color=green, transp=0, linewidth=2) plot(emaLen2, color=red, transp=30, linewidth=2) plot(emaLen3, color=blue, transp=30, linewidth=2)