এই কৌশলটির নামওজনযুক্ত পরিমাণগত চলমান গড় ক্রসওভার কৌশলমূল ধারণাটি হল মূল্য, ট্রেডিং ভলিউম এবং অন্যান্য সূচকগুলির উপর ভিত্তি করে দ্রুত এবং ধীর লাইন ডিজাইন করা এবং যখন সোনার ক্রস এবং মৃত ক্রস তাদের মধ্যে ঘটে তখন ক্রয় এবং বিক্রয় সংকেত তৈরি করা।
এই কৌশলটির মূল সূচক হল পরিমাণগত চলমান গড় (QMA) । QMA একটি নির্দিষ্ট সময়ের মধ্যে ওজনযুক্ত গড় মূল্য গণনা করে প্রবণতা দিক পরিমাপ করে। নিয়মিত চলমান গড়ের বিপরীতে, QMA এর দামের ওজন (ওজন = মূল্য * ট্রেডিং ভলিউম) সময়ের সাথে সাথে হ্রাস পাবে। সুতরাং, সর্বশেষ দামগুলির বৃহত্তর ওজন রয়েছে যা বাজারের পরিবর্তনের সাথে আরও দ্রুত প্রতিক্রিয়া জানাতে পারে।
বিশেষত, এই কৌশলটি 25 দিনের সাথে দ্রুত QMA লাইন এবং 29 দিনের সাথে ধীর QMA লাইন তৈরি করে। এটি দ্রুত লাইনটি ধীর লাইনের উপরে অতিক্রম করার সময় ক্রয় সংকেত তৈরি করবে এবং দ্রুত লাইনটি ধীর লাইনের নীচে অতিক্রম করার সময় বিক্রয় সংকেত তৈরি করবে।
নিয়মিত চলমান গড়ের তুলনায় এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছেঃ
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
উপরের ঝুঁকিগুলি ঘনত্বের যথাযথ সমন্বয়, কঠোরভাবে অগ্রগতির বিশ্লেষণ এবং অন্যান্য সূচক অন্তর্ভুক্ত করে হ্রাস করা যেতে পারে।
এই কৌশলকে আরও উন্নত করার সুযোগ রয়েছেঃ
সাধারণভাবে, এটি একটি স্থিতিশীল স্বল্পমেয়াদী ট্রেডিং কৌশল। একক মূল্য গড়ের তুলনায়, এর সূচক বাজারে সরবরাহ-চাহিদা সম্পর্ককে আরও ভালভাবে প্রতিফলিত করতে পারে। সঠিক পরামিতি টিউনিং এবং ঝুঁকি ব্যবস্থাপনা সহ, এই কৌশলটি দীর্ঘমেয়াদে স্থিতিশীলভাবে কাজ করতে পারে এবং একটি ভাল মুনাফা অর্জন করতে পারে।
/*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