
یہ حکمت عملی ایک عام حرکت پذیر اوسط کراسنگ حکمت عملی ہے ، جس میں ایک ہی وقت میں اوسط کی دو سیٹیں ، ایک تیز اوسط ، اور ایک سست اوسط کا ایک گروپ استعمال کیا جاتا ہے۔ جب تیز اوسط لائن پر سست اوسط لائن سے گزرے تو خریدنے کا اشارہ پیدا ہوتا ہے۔ جب تیز اوسط لائن کے نیچے سست اوسط لائن سے گزرے تو فروخت کا اشارہ پیدا ہوتا ہے۔ یہ حکمت عملی ایک ساتھ ای ایم اے اور ایس ایم اے دونوں اوسط لائنوں کا استعمال کرتی ہے ، جس میں دو سیٹیں تیز اور سست اوسط لائن ہوتی ہیں۔
اس حکمت عملی کا بنیادی منطق دو سیٹوں کی تیز اور آہستہ اوسط لائنوں کے کراسنگ کی بنیاد پر انٹری اور آؤٹ ٹائمنگ کا فیصلہ کرنا ہے۔
سب سے پہلے ، ہم دو سیٹوں کے حساب لگاتے ہیں:
اس کے بعد ، فیصلہ کریں کہ آیا فاسٹ ای ایم اے نے گولڈ فورک یا ڈیڈ فورک سست SMA کیا ہے:
جعلی سگنلوں کو فلٹر کرنے کے لئے، ای ایم اے اور ایس ایم اے کی تصدیق کے دوسرے گروپ کو شامل کیا گیا ہے:
اس طرح، دو سیٹ تیز رفتار اور مساوی لائن کی تصدیق کے ذریعے، بہت سے جعلی سگنل کو فلٹر کیا جا سکتا ہے، جس سے سگنل کی وشوسنییتا میں اضافہ ہوتا ہے.
جب فیصلہ خریدنے کا اشارہ کرتا ہے تو ، زیادہ اندراج کریں۔ جب فیصلہ بیچنے کا اشارہ کرتا ہے تو ، اندراج کرنا۔
اس کے علاوہ ، اس حکمت عملی میں ایک اسٹاپ اسٹاپ لوجسٹک بھی ہے۔ جب پوزیشن رکھی جاتی ہے تو ، اس کی تعیناتی کے مطابق اسٹاپ اور اسٹاپ نقصان کی قیمتوں کا سراغ لگایا جاتا ہے۔
اس حکمت عملی کے درج ذیل فوائد ہیں:
اس حکمت عملی کے کچھ خطرات بھی ہیں:
خطرے کو کنٹرول کرنے کے لئے، یہ مشورہ دیا جاتا ہے:
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
مجموعی طور پر ، اس دوہری مساوی لکیری فورک اور ڈائی فورک حکمت عملی میں ٹریڈنگ سگنل کی تشکیل ہوتی ہے جس میں تیزی سے اور آہستہ آہستہ مساوی لکیروں کی کراسنگ ہوتی ہے ، اسٹاپ اور نقصان کے کنٹرول کا خطرہ ہوتا ہے۔ یہ حکمت عملی آسان ، بدیہی اور آسانی سے قابل عمل ہے۔ یہ حکمت عملی مارکیٹ اور طلب کے مطابق پیرامیٹرز کو بہتر بنا سکتی ہے ، اور یہ دوسرے تکنیکی اشارے یا حکمت عملی کے مجموعے کے ساتھ بھی استعمال کی جاسکتی ہے۔
/*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)