دوہری توسیعی اوسط چلتی کراس اوور الگورتھمک ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-25 14:04:23
ٹیگز:

img

جائزہ

حکمت عملی منطق

اس حکمت عملی کا بنیادی منطق دوہری ای ایم اے کراس اوورز پر مبنی ہے۔ اشارے 1 20 دن کا ای ایم اے ہے اور اشارے 2 50 دن کا ای ایم اے ہے۔ خرید کا اشارہ اس وقت پیدا ہوتا ہے جب مختصر مدت کا ای ایم اے نیچے سے طویل مدتی ای ایم اے کو عبور کرتا ہے۔ فروخت کا اشارہ اس وقت پیدا ہوتا ہے جب مختصر مدت کا ای ایم اے اوپر سے طویل مدتی ای ایم اے سے نیچے عبور کرتا ہے۔ لہذا مختلف پیرامیٹرز والے ای ایم اے کا کراس اوور مارکیٹ میں داخلے اور باہر نکلنے کے مقامات کا تعین کرنے کے لئے استعمال ہوتا ہے۔

اس کے علاوہ ، ورٹیکس اشارے کا استعمال رجحان کی نشاندہی کرنے اور تجارتی سگنل پیدا کرنے میں مدد کے لئے کیا جاتا ہے۔ ورٹیکس اشارے 1 دن اور 3 دن کی مدت میں ، سب سے زیادہ قیمت اور کل کی بندش ، اور سب سے کم قیمت اور کل کی کھلنے کے درمیان فرق کا موازنہ کرکے تیزی یا bearish رفتار کا تعین کرتا ہے۔ ورٹیکس کا استعمال ای ایم اے کراسز سے کچھ کم اہم سگنل کو فلٹر کرنے میں مدد کرسکتا ہے۔

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

فوائد کا تجزیہ

  1. اسٹریٹجی میں دوہری ای ایم اے کراس اوورز اور ورٹیکس اشارے کو ضم کیا گیا ہے تاکہ دونوں کا فائدہ اٹھایا جاسکے ، اس طرح سگنل کی درستگی میں بہتری آئی ہے۔

  2. خودکار تجارتی نظام جذباتی انسانی غلطیوں کو ختم کرتا ہے اور خطرات کو کم سے کم کرتا ہے

  3. آٹو سٹاپ نقصان / منافع لے لو افعال ہر تجارت کے لئے زیادہ سے زیادہ نقصان کی حد

  4. منی مینجمنٹ ماڈیول ہر تجارت کے لئے دارالحکومت کی الاٹمنٹ کو کنٹرول کرتا ہے ، اس طرح مجموعی خطرات کا انتظام کرتا ہے

خطرے کا تجزیہ

  1. بلیک سوان واقعات کھلی پوزیشنوں پر بڑے نقصانات کا باعث بن سکتے ہیں.

  2. یہ حکمت عملی ڈراؤونگ کو کنٹرول کرنے کے لئے اسٹاپ نقصانات پر انحصار کرتی ہے۔ اگر روک دیا جائے تو ، نقصانات توقعات سے تجاوز کر سکتے ہیں۔

بہتری کے مواقع:

  1. سگنل کے معیار کو بہتر بنانے کے لئے ای ایم اے پیرامیٹرز کو مزید بہتر بنایا جاسکتا ہے

  2. مشین لرننگ الگورتھم پیرامیٹرز کو خودکار طور پر بہتر بنانے میں مدد کرسکتے ہیں

نتیجہ


/*backtest
start: 2023-01-18 00:00:00
end: 2024-01-24 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/
// © smottybugger 

//@version= 5
strategy("The  Averages Moving_X_Vortex", shorttitle="2.5billion BTC lol" , calc_on_order_fills=true, calc_on_every_tick=true, commission_type=strategy.commission.percent, commission_value=0.02, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=100, margin_long=0, margin_short=0,overlay=true)
// Dual Vortex
period_1 = input(15, "short Time")
period_2 = input(25, "long time")
VMP = math.sum(math.abs(high - low[3]), period_1)
VMM = math.sum(math.abs(low - high[1]), period_2)
STR = math.sum(ta.atr(1), period_1)
STR2 = math.sum(ta.atr(1), period_2)
VXpower= (input(5,"Vortex Power")/10000)*close
shorterV =(VMP / STR)*VXpower
longerV = (VMM / STR2)*VXpower

// MACross
shortlen = input(20, "ShortMa")
longlen = input(29, "LongMA")
shorterMA = ta.sma(close, shortlen)
longerMA = ta.sma(close, longlen)

// Vortex "MACross Stabilized"
Varance = input(1, "Vortex Stabilize")
Vpercent = (Varance / 100)
shortV= ((((shorterMA-close)* Vpercent)+shorterV)/2)+close
longV = ((((longerMA -close )*Vpercent)+longerV)/2)+close

//MAcross vortex stabilized
Marance = input(1, "MACross Stabilize")
MApercent = Marance / 100
shortMA = ((((shorterMA-close)*MApercent)+shorterV)/2)+close
longMA = ((((longerMA-close)*MApercent)+longerV)/2)+close

//VMXadveraged Moving cross adveraged
VMXL=(longV+longMA)/2
VMXS=(shortV+shortMA)/2
VXcross= ta.cross(VMXS,VMXL) ? VMXS : na
VMXcross= ta.cross(VMXS,VMXL)

//plot
plot(VMXS,"BUY",color=#42D420)
plot(VMXL,"SELL",color=#e20420)
crossV= ta.cross(shortV, longV) ? shortV : na
plot(shortV ,"shortV", color=#42D420)
plot(longV,"longV", color=#e20420)
plot(crossV,"crossV", color=#2962FF, style=plot.style_cross, linewidth=4)
crossMA = ta.cross(shortMA, longMA) ? shortMA : na
plot(shortMA,"shortMA", color=#42D420)
plot(longMA,"longMA", color=#e20420)
plot(crossMA,"crossMA", color=#2962FF, style=plot.style_cross, linewidth=4)
plot(VXcross,"VMXcross",color=#2962FF, style= plot.style_cross,linewidth=4)
plot(close,color=#999999)

// Vortex Condistyle
is_Vlong =shortV< longV
is_Vshort =shortV>longV


// Vortex commands
Vlong =  ta.crossunder(longV, shortV)
Vshort =ta.crossover(shortV,longV)
VorteX = ta.cross(longV, shortV)

// MACross Conditions
is_MAlong = shortMA < longV
is_MAshort = shortMA > shortV


//VMX Conditions
is_VMXlong=VMXS<VMXL
is_VMXshort=VMXS>VMXL

// MA commands
MAlong = ta.crossunder(shortMA, longV)
MAshort =ta.crossover(shortMA, shortV)
MAcross =  ta.cross(shortMA, longMA)
 
//VMX COMMANss
VMXBUY=ta.crossover( VMXS,VMXL)
VMXSELL=ta.crossunder(VMXS,VMXL)

// Close Crossing PositionLMXs

CS=is_MAshort or is_VMXshort
CL= is_MAlong or is_VMXlong
OS=MAshort or VMXSELL
OL=MAlong or VMXBUY


if VMXcross
    strategy.close_all ("closed")

//if CS and  OL
    strategy.close("Short",comment="Short Closed")


//if CL and  OS
    strategy.close("Long",comment="Long Closed" ) 

//CA1= is_MAcross and is_VorteX
//if CA1
   // strategy.close_all(comment="X2X")

// Defalongyntry qty

if is_VMXlong and VMXSELL
    strategy.entry("sell",strategy.short)


if is_VMXshort and VMXBUY
    strategy.entry("buy",strategy.long)



// Stop Losses & Taking Profit
sllp = input(0, "Stop Loss Long")
sll = (1 - sllp / 100) * strategy.position_avg_price
is_sll = input(true, "Stop Long")

tplp = input(0, "Take Profit Long")
tpl = (1 + tplp / 100) * strategy.position_avg_price
is_tpl = input(true, "Take Long")

slsp = input(0, "Stop Loss Short")
sls = (1 + slsp / 100) * strategy.position_avg_price
is_sls = input(true, "Stop Short")

tpsp = input(0, "Take Profit Short")
tps = (1 - tpsp / 100) * strategy.position_avg_price
is_tps = input(true, "Take Short")

if (is_sll or is_sls) 
    strategy.close("Stop Losses", qty_percent=100)

if (is_tpl or is_tps) 
    strategy.close("Take Profits", qty_percent=100)


 //Strategy Backtest
//plot(strategy.equity, "Equity", color=color.red, linewidth=2, style=plot.style_areabr)


مزید