
خلاصہ: یہ حکمت عملی ایک کلاسیکی ٹریڈنگ حکمت عملی ہے جو اوسط لائن کراسنگ پر مبنی ہے۔ اشارے دو اوسط لائنوں کا انتخاب کرتے ہیں ، بشمول سادہ منتقل اوسط ((SMA) ، اشاریہ منتقل اوسط ((EMA) ، لکیری وزن والے منتقل اوسط ((VWMA) اور ہلکا پھلکا وزن والے منتقل اوسط ((HMA)) ۔
اصول: حکمت عملی کی بنیادی منطق دوہری اوسط لائن کراسنگ ہے۔ دو مختلف پیرامیٹرز کی اوسط لائنوں کا حساب کتاب کرکے ، جب تیز اوسط لائن پر سست اوسط لائن سے گزرے تو خریدنے کا اشارہ پیدا ہوتا ہے۔ جب تیز اوسط لائن کے نیچے سست اوسط لائن سے گزرے تو فروخت کا اشارہ پیدا ہوتا ہے۔ اوسط لائن کراسنگ قیمتوں کے قلیل مدتی اور طویل مدتی رجحانات کی تبدیلی کی نمائندگی کرتی ہے۔
فوائد کا تجزیہ: ڈبل مساوی لائن کراس حکمت عملی کا فائدہ بنیادی طور پر آسان اور آسان آپریشن میں ہے ، ایک سگنل کے ذریعہ سب سے بنیادی رجحانات کا فیصلہ کیا جاسکتا ہے ، بہت زیادہ پیرامیٹرز کو منتخب کرنے اور ایڈجسٹ کرنے کی ضرورت نہیں ہے ، جو نوسکھئیے تاجروں کے لئے بہت موزوں ہے۔ اور مختلف اقسام کی مساوی لائنوں کی جانچ پڑتال کی جاتی ہے ، آپ مختلف مجموعوں کو بہتر بنانے کے لئے منتخب کرسکتے ہیں۔
خطرے کا تجزیہ: اس حکمت عملی کا بنیادی خطرہ یہ ہے کہ عام اوسط لائن کراسنگ حکمت عملی میں بہت سارے جھوٹے سگنل ہوں گے ، جس سے چھوٹے منافع کے ل multiple کئی پوزیشنوں کا مسئلہ پیدا ہوتا ہے ، جس سے مجموعی منافع متاثر ہوتا ہے۔ اس کے علاوہ ، مقررہ تیز اور سست اوسط لائن کی لمبائی کی ترتیب بھی کچھ ادوار کے تحت ناکام ہوجاتی ہے۔
اصلاح کی سمت: 1) مختلف سائیکل ٹیسٹنگ کی کوشش کریں ، بہترین اوسط لائن کراسنگ سائیکل کا مجموعہ طے کریں۔ 2) اوسط لائن کے دوسرے سیٹ کے پیرامیٹرز کو متعارف کرانے پر غور کریں اور RSI اشارے کے معاون فیصلے سے جھوٹے سگنل کو کم کریں۔ 3) سادہ کراسنگ کے بجائے ایم اے اشارے میں اضافے کی تبدیلی پر مبنی شرائط کا تعین متعارف کروائیں ، اور زیادہ قابل اعتماد کراسنگ فیصلے حاصل کریں۔
خلاصہ: اس حکمت عملی میں روایتی مساوی لائن کراسنگ حکمت عملی کا فریم ورک استعمال کیا گیا ہے ، جس میں بہترین مساوی مدت کا مجموعہ تلاش کرنے کے لئے دوہری مساوی ٹیسٹ کیا گیا ہے ، اور مساوی ROC اور قیمت پر مبنی اسٹاپ نقصان کا فیصلہ بھی شامل کیا گیا ہے۔ مجموعی طور پر ایک آسان اور استعمال میں آسان دوہری مساوی حکمت عملی ہے جو مقدار کی تجارت کے منطق کے مطابق ہے۔ اس کے علاوہ ، بہت سارے اصلاحاتی نظریات اس حکمت عملی کے بعد کی ترقی کے لئے جگہ فراہم کرتے ہیں۔
/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//study(title="MA Crossover Strategy", overlay = true)
strategy("MA Crossover Strategy with MA Turning Point Exits", overlay=true)
src = input(close, title="Source")
price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(5, title="1st MA Length")
type1 = input("HMA", "1st MA Type", options=["SMA", "EMA", "HMA", "VWMA"])
ma2 = input(7, title="2nd MA Length")
type2 = input("HMA", "2nd MA Type", options=["SMA", "EMA", "HMA", "VWMA"])
f_hma(_src, _length)=>
_return = wma((2*wma(_src, _length/2))-wma(_src, _length), round(sqrt(_length)))
price1 = if (type1 == "SMA")
sma(price, ma1)
else
if (type1 == "EMA")
ema(price, ma1)
else
if (type1 == "VWMA")
vwma(price, ma1)
else
f_hma(price, ma1)
price2 = if (type2 == "SMA")
sma(price, ma2)
else
if (type2 == "EMA")
ema(price, ma2)
else
if (type2 == "VWMA")
vwma(price, ma2)
else
f_hma(price, ma2)
//plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line, title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)
longCondition = crossover(price1, price2)
if (longCondition) // and time>timestamp(2018,6,1,9,30)
strategy.entry("Long", strategy.long)
shortCondition = crossunder(price1, price2)
if (shortCondition) // and time>timestamp(2018,6,1,9,30)
strategy.entry("Short", strategy.short)
lookback1 = input(1, "Lookback 1")
roc1 = roc(price1, lookback1)
ma1up = false
ma1down = false
ma2up = false
ma2down = false
ma1up := nz(ma1up[1])
ma1down := nz(ma1down[1])
ma2up := nz(ma2up[1])
ma2down := nz(ma2down[1])
trendStrength1 = input(2, title="Minimum slope magnitude * 100", type=float) * 0.01
if crossover(roc1, trendStrength1)
ma1up := true
ma1down := false
if crossunder(roc1, -trendStrength1)
ma1up := false
ma1down := true
shortexitCondition = ma1up and ma1down[1]
if (shortexitCondition)
strategy.close("Short")
longexitCondition = ma1down and ma1up[1]
if (longexitCondition)
strategy.close("Long")