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

مصنف:چاؤ ژانگ، تاریخ: 2023-12-06 12:05:01
ٹیگز:

img

جائزہ

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

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

اس حکمت عملی کا بنیادی اشارے مقداری متحرک اوسط (QMA) ہے۔ QMA ایک مدت کے دوران وزن شدہ اوسط قیمت کا حساب لگاتے ہوئے رجحان کی سمت کی پیمائش کرتا ہے۔ باقاعدہ متحرک اوسط کے برعکس ، QMA میں قیمتوں کے وزن (وزن = قیمت * تجارتی حجم) وقت کے ساتھ ساتھ گر جائیں گے۔ اس طرح ، تازہ ترین قیمتوں میں بڑے وزن ہوتے ہیں جو مارکیٹ کی تبدیلی کا تیزی سے جواب دے سکتے ہیں۔

خاص طور پر ، اس حکمت عملی میں 25 دن کی تیز QMA لائن اور 29 دن کی سست QMA لائن بنائی گئی ہے۔ جب تیز لائن سست لائن سے تجاوز کرتی ہے تو یہ خرید کا اشارہ پیدا کرے گی ، اور جب تیز لائن سست لائن سے نیچے گزرتی ہے تو سگنل فروخت کرے گی۔

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

باقاعدہ حرکت پذیر اوسط کے مقابلے میں اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:

  1. مارکیٹ پر تیزی سے ردعمل ظاہر کریں، جس سے اسے قلیل مدتی مواقع حاصل کرنے میں مدد ملے گی۔
  2. قیمت اور تجارتی حجم سمیت متعدد جہتوں کو یکجا کریں، جو اسے زیادہ مستحکم بناتا ہے۔
  3. لچکدار پیرامیٹر کی ترتیبات مختلف مارکیٹ کے ماحول کو اپنانے کے لئے.

خطرے کا تجزیہ

اس حکمت عملی میں کچھ خطرات بھی ہیں:

  1. مختصر مدت کے لین دین کی اعلی تعدد، جس سے ٹرانزیکشن لاگت اور سلائڈج میں اضافہ ہوسکتا ہے۔
  2. بہت زیادہ پیرامیٹر کی اصلاح کی وجہ سے overfitting.
  3. اشارے کا اثر اس صورت میں متاثر ہوسکتا ہے جب تجارتی حجم ناکافی ہو۔

مذکورہ بالا خطرات کو فریکوئنسی کو مناسب طریقے سے ایڈجسٹ کرکے ، سختی سے واک فارورڈ تجزیہ کرکے اور دیگر اشارے شامل کرکے کم کیا جاسکتا ہے۔

بہتری کی ہدایات

اس حکمت عملی کو مزید بہتر بنانے کے لئے ابھی بھی گنجائش ہے:

  1. متحرک طور پر QMA کے پیرامیٹرز کو ایڈجسٹ کریں تاکہ اسے مارکیٹ کی اتار چڑھاؤ کے مطابق خود کو اپنانا پڑے۔
  2. تجارتی مواقع کو اتار چڑھاؤ اور تجارتی حجم جیسے اشارے کے ساتھ فلٹر کریں۔
  3. واحد نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان کی حکمت عملی شامل کریں.

نتیجہ

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


/*backtest
start: 2022-11-29 00:00:00
end: 2023-12-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Brad VWMACD Strategy 2233", overlay=false, max_bars_back=500,default_qty_type=strategy.percent_of_equity,commission_type=strategy.commission.percent, commission_value=0.18, default_qty_value=100)

// === INPUT BACKTEST RANGE === 
FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

// === INPUT SMA === 
//fastMA    = input(defval = 16, type = integer, title = "FastMA", minval = 1 )
//slowMA    = input(defval = 23, type = integer, title = "SlowMA", minval = 1)

fastMA    = input(defval = 25, title = "FastMA", minval = 1 )
slowMA    = input(defval = 29,  title = "SlowMA", minval = 1)

Long_period = slowMA
Short_period = fastMA
Smoothing_period = input(9, minval=1)
xLongMAVolPrice = ema(volume * close, Long_period) 
xLongMAVol = ema(volume, Long_period) 
xResLong = (xLongMAVolPrice * Long_period) / (xLongMAVol * Long_period)
xShortMAVolPrice = ema(volume * close, Short_period) 
xShortMAVol = ema(volume, Short_period) 
xResShort = (xShortMAVolPrice * Short_period) / (xShortMAVol * Short_period)
xVMACD = xResShort - xResLong
xVMACDSignal = ema(xVMACD, Smoothing_period)
nRes = xVMACD - xVMACDSignal
//plot(nRes*20+slowMA, color=blue, style = line )
//plot(3000, color=red, style = line )


// === SERIES SETUP ===

buy  = crossover( xVMACD,xVMACDSignal)     // buy when fastMA crosses over slowMA
sell = crossunder( xVMACD,xVMACDSignal)  // sell when fastMA crosses under slowMA


// === SERIES SETUP === 

//buy  = crossover(vwma(close, fastMA),7+vwma(close, slowMA))     // buy when fastMA crosses over slowMA
//sell = crossunder(vwma(close, fastMA),vwma(close, slowMA)-7)    // sell when fastMA crosses under slowMA

// === EXECUTION ===
strategy.entry("L", strategy.long, when = window() and buy)  // buy long when "within window of time" AND crossover
strategy.close("L", when = window() and sell)                // sell long when "within window of time" AND crossunder         

// === EXECUTION ===
strategy.entry("S", strategy.short, when = window() and sell)  // buy long when "within window of time" AND crossover
strategy.close("S", when = window() and buy)                // sell long when "within window of time" AND crossunder         

plotshape(window() and buy, style=shape.triangleup, color=green, text="up")
plotshape(window() and sell, style=shape.triangledown, color=red, text="down")
plot(xVMACD*100, title = 'FastMA', color = orange, linewidth = 2, style = line)  // plot FastMA
plot(xVMACDSignal*100, title = 'SlowMA', color = aqua, linewidth = 2, style = line)    // plot SlowMA


مزید