
چلتی اوسط کی کراسنگ حکمت عملی ایک سادہ اور موثر مقدار کی تجارت کی حکمت عملی ہے جو چلتی اوسط پر مبنی ہے۔ یہ حکمت عملی تیزی سے چلتی اوسط اور آہستہ چلتی اوسط کے کراسنگ کو خرید و فروخت کے اشارے کے طور پر استعمال کرتی ہے۔ جب تیز لائن نیچے کی طرف سے سست لائن کو توڑتی ہے تو خریدنے کا اشارہ پیدا ہوتا ہے۔ جب تیز لائن اوپر کی طرف سے نیچے کی طرف سے سست لائن کو توڑتی ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔
اس حکمت عملی کی بنیادی منطق یہ ہے کہ مارکیٹ کے رجحانات کا فیصلہ کرنے کے لئے حرکت پذیر اوسط کا استعمال کیا جائے۔ حرکت پذیر اوسط خود ہی ہلچل اور بے ترتیب مارکیٹ کے شور کا کام کرتا ہے۔ تیز رفتار حرکت پذیر اوسط قیمت میں ہونے والی تبدیلیوں کا زیادہ تیزی سے جواب دیتا ہے اور تازہ ترین رجحانات کی عکاسی کرتا ہے۔ جبکہ سست رفتار حرکت پذیر اوسط قیمت میں ہونے والی تازہ ترین تبدیلیوں کا جواب دینے میں سست ہے اور درمیانی اور طویل مدتی رجحانات کی نمائندگی کرتا ہے۔ سست لائن کو توڑنے کا مطلب یہ ہے کہ قلیل مدتی رجحانات مڑ جاتے ہیں اور درمیانی اور طویل مدتی کے مطابق ہوجاتے ہیں ، اور اس طرح ایک تجارتی سگنل پیدا ہوتا ہے۔
خاص طور پر ، حکمت عملی نے پہلے تیزی سے چلنے والی اوسط sig1 اور آہستہ چلنے والی اوسط sig2 کی وضاحت کی ہے۔ اس کے بعد ، sig1 اور sig2 کے مابین کراس ریلیشنز کے مطابق خرید و فروخت کے مقامات کا فیصلہ کیا گیا۔ جب sig1 نیچے سے sig2 کو توڑتا ہے تو خریدنے کا اشارہ longCondition پیدا ہوتا ہے۔ جب sig1 اوپر سے نیچے سے sig2 کو توڑتا ہے تو بیچنے کا اشارہ shortCondition پیدا ہوتا ہے۔ حکمت عملی اس کے بعد خرید و فروخت کے حالات کو پورا کرنے کے لئے آرڈر دیتی ہے ، اور اسٹاپ نقصان اور اسٹاپ آؤٹ آرڈر قائم کرتی ہے۔
اس حکمت عملی کے فوائد واضح ہیں:
اس حکمت عملی میں کچھ خطرات بھی ہیں:
اصلاح کے اقدامات:
ایک متحرک اوسط کراسنگ حکمت عملی مجموعی طور پر ایک منطقی سادہ ، عملی طور پر قابل عمل مقدار کی حکمت عملی ہے۔ پیرامیٹرز کو ایڈجسٹ کرنے اور مناسب طریقے سے بہتر بنانے کے ذریعے ، یہ مارکیٹ کے مختلف ماحول میں مستحکم منافع بخش ہے۔ یہ قابل قدر ہے کہ اس کا مطالعہ اور اس کا اطلاق قابل قدر تاجروں کی طرف سے کیا جائے۔
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-16 04:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// Simple yet effective MA cross strategy.
// You'll have to tune the parameters to get an optimal win ratio.
// If JPY or XAU or any other currency with pips defined as the
// second decimal digit are involved, do not forget to set the respective flag on.
//
// Created by vitelot/yanez/Vts, who's the same fellow with different user names
// December 2018 -- Merry Xmas
//
strategy("MA cross strategy Vts", overlay=true, initial_capital=1000, currency="EUR", pyramiding=0)
yr = input(2016, title="Starting year to analyse")
src = input(close, title="Source")
maType = input( defval="EMA", title="MA Type", options=["SMA","EMA","HMA","McG","WMA"])
//
isJPY = input(false, title="Is JPY or XAU involved?") // JPY and Gold have the pips defined as the 2 decimal digit
maPar1 = input(26, minval=1, title="MA fast period")
maPar2 = input(51, minval=2, title="MA slow period")
atrPar = input(14,minval=1, title="ATR period")
atrMulSL = input(1.5, title="SL ATR multiplicator")
atrMulTP = input(1.0, title="TP ATR multiplicator")
hma(sig, n) => // Hull moving average definition
wma( 2*wma(sig,round(n/2))-wma(sig,n), round(sqrt(n)))
mcg(sig,length) => // Mc Ginley MA definition
mg = 0.0
mg := na(mg[1]) ? ema(sig, length) : mg[1] + (sig - mg[1]) / (length * pow(sig/mg[1], 4))
ma(t,sig,len) =>
if t =="SMA"
sma(sig,len)
else
if t == "EMA"
ema(sig,len)
else
if t == "HMA"
hma(sig,len)
else
if t == "McG" // Mc Ginley
mcg(sig,len)
else
wma(sig,len)
sig1 = ma(maType, src, maPar1)
sig2 = ma(maType, src, maPar2)
tickFactor = isJPY? 1e3: 1e5
sl = atrMulSL*atr(atrPar)*tickFactor
tp = atrMulTP*atr(atrPar)*tickFactor
plot(sig1, color=aqua, title="MA1", linewidth=2)
plot(sig2, color=orange, title="MA2", linewidth=2)
longCondition = crossunder(sig2, sig1) and year>=yr // change the >= to == if you like exact years not a range
if (longCondition)
strategy.entry("Long", strategy.long, qty=1) // exit trade when SL and TP are hit
strategy.exit("Exit Long", "Long", loss=sl, profit=tp)
if (crossunder(sig1, sig2)) // or when the short condition is met
strategy.close("Long")
shortCondition = crossover(sig2,sig1) and year>=yr // change the >= to == if you like exact years not a range
if (shortCondition)
strategy.entry("Short", strategy.short, qty=1)
strategy.exit("Exit Short", "Short", loss=sl, profit=tp)
if (crossover(sig1,sig2))
strategy.close("Short")