ایک نمایاں چلتی اوسط پر مبنی رفتار کراس اوور حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-23 14:18:26
ٹیگز:

img

جائزہ

یہ حکمت عملی مختلف ادوار کے ساتھ ای ایم اے لائنوں کے کراس اوور کی بنیاد پر رجحان کی سمت کا تعین کرتی ہے اور اس کے مطابق طویل اور مختصر سگنل تیار کرتی ہے۔ یہ بنیادی طور پر دو چلتی اوسط - 10 دن کی ای ایم اے اور 20 دن کی ای ایم اے کا استعمال کرتی ہے۔ جب 10 دن کی ای ایم اے 20 دن کی ای ایم اے سے نیچے عبور کرتی ہے تو ، ایک مختصر سگنل متحرک ہوجاتا ہے۔ جب 10 دن کی ای ایم اے 20 دن کی ای ایم اے سے اوپر عبور کرتی ہے تو ، ایک طویل سگنل متحرک ہوجاتا ہے۔ یہ حکمت عملی درمیانی مدتی تجارتی حکمت عملیوں سے تعلق رکھتی ہے۔

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

یہ حکمت عملی دو ای ایم اے لائنوں کا استعمال کرتی ہے ، جن میں 10 دن کا ای ایم اے اور 20 دن کا ای ایم اے شامل ہے۔ ای ایم اے لائنیں قیمتوں کے رجحان کو مؤثر طریقے سے ظاہر کرسکتی ہیں۔ جب قلیل مدتی ای ایم اے لائن طویل مدتی ای ایم اے لائن سے اوپر سے گزرتی ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ قیمت کا رجحان زوال سے بڑھ رہا ہے ، جو ایک طویل سگنل ہے۔ جب قلیل مدتی ای ایم اے لائن طویل مدتی ای ایم اے لائن سے نیچے سے گزرتی ہے تو ، اس سے یہ ظاہر ہوتا ہے کہ قیمت کا رجحان اضافہ سے زوال کی طرف بڑھ رہا ہے ، جو ایک مختصر سگنل ہے۔

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

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

فوائد کا تجزیہ

اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:

  1. رجحان کی سمت کا تعین کرنے کے لئے ای ایم اے لائنز کا استعمال مارکیٹ کی نقل و حرکت کو مؤثر طریقے سے ٹریک کرسکتا ہے
  2. مختلف ادوار کی ای ایم اے لائنوں کا امتزاج درمیانی مدت میں تجارتی مواقع کو حاصل کرسکتا ہے
  3. انتہائی اقدار کی طرف سے سگنل فلٹرنگ کچھ شور کو دور کر سکتے ہیں اور کھوئے ہوئے تجارتی مواقع سے بچنے کے
  4. منطق سادہ اور واضح ہے، سمجھنے اور تبدیل کرنے کے لئے آسان ہے
  5. پیرامیٹرز کو مختلف مصنوعات اور تجارتی ترجیحات کے لئے ایڈجسٹ کیا جاسکتا ہے ، جس میں مضبوط موافقت ظاہر ہوتی ہے

خطرے کا تجزیہ

اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:

  1. ای ایم اے لائنز خود ہی تاخیر کا اثر رکھتے ہیں ، قلیل مدتی رجحان کی تبدیلیوں کو نظر انداز کرسکتے ہیں
  2. شور فلٹرنگ ناقص ہے، کچھ غلط تجارت ہو سکتی ہے
  3. پیرامیٹرز کو مختلف مارکیٹ کے ماحول کے مطابق مناسب ایڈجسٹمنٹ کی ضرورت ہے

خطرات کو مندرجہ ذیل طریقوں سے کم کیا جاسکتا ہے:

  1. ای ایم اے لائن میں تاخیر کے مسائل سے بچنے کے لئے سگنل کی تصدیق کے لئے دیگر اشارے شامل کرنا
  2. سگنل کی وشوسنییتا کو بہتر بنانے کے لئے انتہائی قدر فلٹرنگ کے حالات کو بہتر بنانا
  3. حکمت عملی کو بہتر بنانے کے لئے بیک ٹسٹ کے نتائج پر مبنی پیرامیٹرز کو ایڈجسٹ کرنا

بہتر بنانے کے لیے ہدایات

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

  1. سگنل کی درستگی کو بہتر بنانے کے لئے دیگر تکنیکی اشارے جیسے MACD اور KD شامل کریں
  2. مخصوص مصنوعات کو بہتر بنانے کے لئے ای ایم اے لائن پیرامیٹرز کو بہتر بنائیں
  3. قیمتوں کے اتار چڑھاؤ کا بہتر اندازہ کرنے کے لئے انتہائی قیمت کے پیرامیٹرز کو بہتر بنائیں
  4. ہر تجارت میں زیادہ سے زیادہ نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان کے طریقہ کار کو شامل کریں
  5. موافقت کا اندازہ کرنے کے لئے مختلف مصنوعات پر حکمت عملی کا تجربہ کریں

خلاصہ

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


/*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)



مزید