یہ حکمت عملی ایک عام حرکت پذیر اوسط کراس اوور حکمت عملی ہے جو دو سیٹ حرکت پذیر اوسط ، ایک تیز اور ایک سست استعمال کرتی ہے۔ جب تیز رفتار حرکت پذیر اوسط سست حرکت پذیر اوسط سے تجاوز کرتا ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ جب تیز رفتار سست سے نیچے عبور کرتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔ یہ حکمت عملی حرکت پذیر اوسط کے لئے ای ایم اے اور ایس ایم اے دونوں کا استعمال کرتی ہے ، جس میں ای ایم اے تیز رفتار لائنوں اور ایس ایم اے کو سست لائنوں کے طور پر استعمال کرتی ہے۔ متعدد حرکت پذیر اوسط کا استعمال غلط سگنل کو فلٹر کرنے اور وشوسنییتا کو بہتر بنانے میں مدد مل سکتی ہے۔
بنیادی منطق داخلہ اور باہر نکلنے کا تعین کرنے کے لئے تیز رفتار اور سست حرکت پذیر اوسط لائنوں کے درمیان کراس اوورز پر انحصار کرتی ہے۔
خاص طور پر، تیز رفتار اور سست حرکت پذیر اوسط کے دو سیٹ کا حساب لگایا جاتا ہے:
اس کے بعد تیز EMAs اور سست SMAs کے درمیان کراس اوورز کی جانچ پڑتال کی جاتی ہے:
جھوٹے سگنلز کو فلٹر کرنے کے لیے تصدیق کے لیے دوسرا EMA/SMA کراس اوور درکار ہوتا ہے۔
دو تیز / سست MA کراس اوورز کی ضرورت سے ، بہت سے جھوٹے سگنل فلٹر کیے جاسکتے ہیں اور وشوسنییتا کو بہتر بنایا جاسکتا ہے۔
جب سگنل ٹرگرز خریدیں، تو طویل جائیں۔ جب سگنل ٹرگرز فروخت کریں، تو مختصر جائیں۔
حکمت عملی میں ایک بار پوزیشن میں داخل ہونے کی قیمت سے ان پٹ فیصد کی بنیاد پر منافع لینے اور نقصان کو روکنے کا بھی تعین کیا جاتا ہے۔
اس حکمت عملی کے فوائد میں شامل ہیں:
حکمت عملی کے خطرات:
خطرات پر قابو پانے کے لیے:
اسٹریٹیجی کو مزید بہتر بنایا جاسکتا ہے:
خلاصہ یہ ہے کہ ، ڈبل ایم اے کراس اوور حکمت عملی تیز / سست ایم اے کراس کے ساتھ سگنل تیار کرتی ہے ، سیٹ منافع لے اور خطرات کو کنٹرول کرنے کے لئے نقصان کو روکتی ہے ، اور یہ آسان ، بدیہی اور لاگو کرنا آسان ہے۔ پیرامیٹرز کو بہتر کارکردگی کے ل other دوسرے اشارے کے ساتھ ملایا جاسکتا ہے۔ یہ مقداری تجارت میں بہت مفید ہے۔
/*backtest start: 2023-02-20 00:00:00 end: 2024-02-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © JMLSlop //@version=4 src = close strategy("Crossover moving averages", shorttitle="Cross MA-EMA", overlay=true, calc_on_order_fills=false) // first fast EMA len = input(8, "Length", type=input.integer, minval=1) doma1 = input(true, title="EMA") out1 = ema(src, len) //Second fast EMA len2 = input(21, minval=1, title="Length") doma2 = input(true, title="EMA") out2 = ema(src, len2) //First slow MA len3 = input(50, minval=1, title="Length") doma3 = input(true, title="SMA") out3 = sma(src, len3) //Second slow MA len4 = input(200, minval=1, title="Length") doma4 = input(true, title="SMA") out4 = sma(src, len4) // Profit profit = input(8, "Profit/lost %", type=input.float, minval=1) * 0.01 plot(doma1 and out1 ? out1: na, color=color.blue, linewidth=1, title="1st EMA") plot(doma2 and out2 ? out2: na, color=color.red, linewidth=1, title="2nd EMA") plot(doma3 and out3 ? out3: na, color=color.green, linewidth=2, title="1st MA") plot(doma4 and out4 ? out4: na, color=color.orange, linewidth=3, title="2nd MA") // Orders config takeProfitPrice = (strategy.position_size > 0) ? strategy.position_avg_price + open*profit : (strategy.position_size < 0) ? strategy.position_avg_price - (open*profit) : na longStopPrice = strategy.position_avg_price * (1 - profit) shortStopPrice = strategy.position_avg_price * (1 + profit) longCondition2 = (out2>out3 and (crossover(out1, out4) or crossover(out1[1], out4[1]) or crossover(out1[2], out4[2]) or (crossover(out1[3], out4[3]))) or (out2>out3 and (crossover(out1, out3) or crossover(out1[1], out3[1]) or crossover(out1[2], out3[2]) or crossover(out1[3], out3[3])))) if (longCondition2) strategy.entry("Enter L", strategy.long) shortCondition2 = (out2<out3 and (crossunder(out1, out4) or crossunder(out1[1], out4[1]) or crossunder(out1[2], out4[2]) or crossunder(out1[3], out4[3]))) or (out2<out3 and (crossunder(out1, out3) or crossunder(out1[1], out3[1]) or crossunder(out1[2], out3[2]) or crossunder(out1[3], out3[3]))) if (shortCondition2) strategy.entry("Enter S", strategy.short) if (strategy.position_size > 0) strategy.exit("Exit L", limit=takeProfitPrice, stop=longStopPrice) if (strategy.position_size < 0) strategy.exit("Exit S", limit=takeProfitPrice, stop=shortStopPrice)