
یہ حکمت عملی ای ایم اے کی اوسط لائن کے مختلف ادوار کے کراسنگ پر مبنی رجحان کی سمت کا تعین کرتی ہے اور اس کے مطابق زیادہ مختصر تجارت کا اشارہ بناتی ہے۔ بنیادی طور پر 2 اوسط لائنیں استعمال کی جاتی ہیں ، 10 دن کی لائن اور 20 دن کی لائن۔ جب 10 دن کی لائن اوپر سے نیچے سے 20 دن کی لائن کو عبور کرتی ہے تو ، کم ہوجائیں۔ جب 10 دن کی لائن نیچے سے اوپر کی طرف سے 20 دن کی لائن کو عبور کرتی ہے تو ، زیادہ کریں۔ یہ حکمت عملی درمیانی مختصر تجارت کی حکمت عملی میں شامل ہے۔
اس حکمت عملی میں 2 ای ایم اے اوسط لائنیں استعمال کی گئیں ، جن میں 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)