دوہری حرکت پذیر اوسط کراس اوور ٹریکنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-11 15:27:45
ٹیگز:

یہ حکمت عملی ٹریکنگ تجارت کے لئے مارکیٹ کے رجحان کی سمت کا تعین کرنے کے لئے SMA اور EMA کے دو گروپوں کے چلتے ہوئے اوسط کے درمیان کراس اوور کا حساب لگاتی ہے۔

یہ ایک تیز رفتار اور ایک سست حرکت پذیر اوسط جوڑی کا استعمال کرتا ہے۔ جب تیز لائن سست لائن سے اوپر گزرتی ہے تو یہ طویل ہوجاتا ہے ، اور نیچے کی طرف کراس اوور پر مختصر ہوجاتا ہے۔ جب قیمت سست لائن سے نیچے گرتی ہے یا تیز لائن سے اوپر بڑھتی ہے تو باہر نکل جاتا ہے۔ ایم اے لمبائی ، بار بندش وغیرہ کی تخصیص پیرامیٹر کی اصلاح کی اجازت دیتی ہے۔

اس دوہری ایم اے حکمت عملی کا فائدہ دو متحرک ایم اے پر مبنی آسان اور واضح اصول ہیں۔ ای ایم اے کا استعمال معاوضوں کو پکڑنے میں زیادہ حساسیت فراہم کرتا ہے۔ لیکن رینج سے منسلک مارکیٹوں کے دوران بھی آسانی سے وِپساؤس ہوتے ہیں۔

عام طور پر ، ڈبل ایم اے کراس اوور ٹریکنگ حکمت عملی رفتار کی سمت میں تجارت کے لئے رجحان سازی کی مارکیٹوں کے لئے موزوں ہے۔ لیکن پیرامیٹرز کی مناسب ترتیب ، سخت اسٹاپ نقصان اور پوزیشن سائزنگ اس حکمت عملی کے طویل مدتی استحکام کے لئے انتہائی ضروری ہے۔


/*backtest
start: 2023-08-11 00:00:00
end: 2023-09-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// strategy("Moving Average Strategy of BiznesFilosof", shorttitle="MAS of BiznesFilosof", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.15, pyramiding=0)

//Period
startY = input(title="Start Year", defval = 2011)
startM = input(title="Start Month", defval = 1, minval = 1, maxval = 12)
startD = input(title="Start Day", defval = 1, minval = 1, maxval = 31)
finishY = input(title="Finish Year", defval = 2050)
finishM = input(title="Finish Month", defval = 12, minval = 1, maxval = 12)
finishD = input(title="Finish Day", defval = 31, minval = 1, maxval = 31)
//finish = input(2019, 02, 28, 00, 00)
timestart = timestamp(startY, startM, startD, 00, 00)
timefinish = timestamp(finishY, finishM, finishD, 23, 59)
window = time >= timestart and time <= timefinish ? true : false // Lenghth strategy

lma1 = input(title="Length MA1", defval = 21, minval=1)
exponential1 = input(false, title="exponential")
lma2 = input(title="Length MA2", defval = 1, minval=1)
exponential2 = input(false, title="exponential")
lbars = input(title="Length bars close", defval = 0, minval=0)

ma1 = exponential1 ? ema(close, lma1) : sma(close, lma1)
ma2 = exponential2 ? ema(close, lma2) : sma(close, lma2)

//source = close
source = ma2

//open
strategy.entry("LongEntryID", strategy.long, comment="LONG", when = crossover(ma2, ma1) and window)
strategy.entry("ShortEntryID", strategy.short, comment="SHORT", when = crossunder(ma2, ma1) and window)

if crossunder(source, ma1) and strategy.position_size > 0
    strategy.close_all()
if crossunder(ma2[lbars], ma1[lbars]) and strategy.position_size > 0 and lbars != 0
    strategy.close_all()    
if crossover(source, ma1) and strategy.position_size < 0
    strategy.close_all()
if crossover(ma2[lbars], ma1[lbars]) and strategy.position_size < 0 and lbars != 0
    strategy.close_all()      

src = close
src1 = high
src2 = low
maH = exponential1 ? ema(src1, lma1) : sma(src1, lma1)
maL = exponential1 ? ema(src2, lma1) : sma(src2, lma1)
maColor = src>maH ? green : src<maL ? red : blue

plot(ma1, title="MA1", color=maColor, linewidth=2, style=line)
plot(ma2, title="MA2", color=gray, linewidth=1, style=line)



مزید