وزنی حرکت پذیر اوسط کراس اوور پر مبنی مقداری تجارتی حکمت عملی


تخلیق کی تاریخ: 2023-12-06 12:05:01 آخر میں ترمیم کریں: 2023-12-06 12:05:01
کاپی: 0 کلکس کی تعداد: 626
1
پر توجہ دیں
1619
پیروکار

وزنی حرکت پذیر اوسط کراس اوور پر مبنی مقداری تجارتی حکمت عملی

جائزہ

اس حکمت عملی کا نام ہےوزن کی مقدار میں منتقل اوسط کراسنگ کی حکمت عملی(Weighted Quantitative Moving Average Crossover Strategy) ، اس کا بنیادی نظریہ قیمت ، تجارت کے حجم اور دیگر متعدد اشارے کو جوڑ کر ، تیز لائن اور سست لائن ڈیزائن کرنا ہے ، اور جب وہ گولڈ فورک اور ڈیڈ فورک ہوتے ہیں تو خریدنے اور بیچنے کے سگنل بھیجتے ہیں۔

حکمت عملی کا اصول

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

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

طاقت کا تجزیہ

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

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

خطرے کا تجزیہ

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

  1. ٹرانزیکشن لاگت اور سلائڈ پوائنٹس کو بڑھانے کے لئے اکثر شارٹ لائن آپریشن
  2. پیرامیٹرز کو زیادہ بہتر بنانے کے نتیجے میں ممکنہ طور پر منحنی فٹ ہونا
  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