ট্রেডিংভিএমএ ভেরিয়েবল মুভিং মিডিয়ার ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৪-০২-২১ ১১ঃ৪৭ঃ৪৩
ট্যাগঃ

img

সারসংক্ষেপ

ট্রেডিংভিএমএ কৌশলটি পরিবর্তনশীল চলমান গড় রেখাগুলির উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল। এটি বাজারের প্রবণতা ক্যাপচার করতে এবং সেই অনুযায়ী ট্রেডিং সংকেত তৈরি করতে পরিবর্তিত চলমান গড় ব্যবহার করে।

কৌশলগত যুক্তি

ট্রেডিংভিএমএ কৌশলটির মূলটি পরিবর্তনশীল দৈর্ঘ্যের চলমান গড়ের (ভেরিয়েবল মুভিং এভারেজ, ভিএমএ) গণনা। চলমান গড় একটি বহুল পরিচিত প্রযুক্তিগত সূচক যা একটি নির্দিষ্ট সময়ের মধ্যে গড় মূল্য গণনা করে। ট্রেডিংভিএমএ কৌশলটিতে ব্যবহৃত ভিএমএর বিভিন্ন সময়ের দৈর্ঘ্য রয়েছে।

বিশেষত, কৌশলটি প্রথমে একটি মধ্যবর্তী পরিমাণের একটি সিরিজ গণনা করে, যেমন মূল্য দিকনির্দেশক আন্দোলন সূচক (পিডিএম, এমডিআইএম), মসৃণ ডেটা (পিডিএম, এমডিএম) । এই ডেটা অবশেষে সূচক শক্তি (আইএস) পেতে ব্যবহৃত হয়। এই সূচকটি দামের ওঠানামা তীব্রতা প্রতিফলিত করে।

তারপর, ট্রেডিংভিএমএ কৌশলটি সূচকের শক্তির উপর ভিত্তি করে গতিশীলভাবে চলমান গড় সময়কাল সামঞ্জস্য করে। যখন বাজারের অস্থিরতা বৃদ্ধি পায়, চলমান গড় সময়কাল ছোট হয়ে যায়, এবং বিপরীতভাবে। এটি বাজারের পরিবর্তনের দ্রুত প্রতিক্রিয়া দেয়।

অবশেষে, কৌশলটি ট্রেডিং সংকেত তৈরির জন্য বর্তমান মূল্যের সাথে ভিএমএর সাথে তুলনা করে। যখন দাম ভিএমএর উপরে থাকে তখন এটি দীর্ঘ হয় এবং যখন দাম ভিএমএর নীচে থাকে তখন সংক্ষিপ্ত হয়।

সুবিধা বিশ্লেষণ

ট্রেডিং ভিএমএ কৌশল নিম্নলিখিত প্রধান সুবিধা আছেঃ

  1. ভেরিয়েবল পিরিয়ড ফিল্টারগুলি গোলমালকে আরও স্থিতিশীল করে ভেরিয়েবল চলমান গড় সময়কাল গোলমাল ফিল্টারিং এবং আরও স্থিতিশীল প্রবণতা সংকেতগুলির জন্য বাজারের পরিবর্তনের সাথে খাপ খায়।

  2. ভেরিয়েবল মুভিং এভারেজ দ্রুত মূল্য পরিবর্তনের প্রতিক্রিয়া জানাতে পারে এবং প্রবণতা বিপরীত পয়েন্টগুলি ক্যাপচার করতে পারে।

  3. ট্রেডিং ফ্রিকোয়েন্সি হ্রাস করে কম ওভারট্রেডিং - নির্দিষ্ট সময়ের সূচকের তুলনায় ট্রেডিংভিএমএ অপ্রয়োজনীয় ট্রেডিং হ্রাস করতে পারে।

  4. কাস্টমাইজযোগ্য প্যারামিটার নমনীয়তা - কৌশলটি ব্যবহারকারীদের বিভিন্ন বাজারের পরিবেশের সাথে খাপ খাইয়ে নেওয়ার জন্য তাদের পছন্দগুলির উপর ভিত্তি করে প্যারামিটারগুলি নির্বাচন করতে দেয়।

ঝুঁকি বিশ্লেষণ

ট্রেডিং ভিএমএ কৌশলটি নিম্নলিখিত প্রধান ঝুঁকিগুলিও বহন করেঃ

  1. যখন প্রবণতা দ্রুত বিপরীত হয়, তখন ক্রমাগত সমন্বয়শীল চলমান গড় প্রতিক্রিয়া জানাতে বিলম্ব করতে পারে।

  2. বিলম্বিত পক্ষপাতিত্ব সমস্ত চলমান গড় কৌশল দীর্ঘ বা সংক্ষিপ্ত, বিলম্বিত পক্ষপাতিত্ব কিছু ডিগ্রী আছে।

  3. ভুল সংকেত TradingVMA ব্যাপ্তি সীমাবদ্ধ পার্শ্ববর্তী বাজারে ভুল দীর্ঘ / সংক্ষিপ্ত সংকেত তৈরি করতে পারে।

  4. কঠিন প্যারামিটার অপ্টিমাইজেশান সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পাওয়া চ্যালেঞ্জিং হতে পারে।

স্টপ লস, প্যারামিটার সমন্বয় ইত্যাদির মতো পদ্ধতির মাধ্যমে এই ঝুঁকিগুলি নিয়ন্ত্রণ করা যেতে পারে।

অপ্টিমাইজেশান নির্দেশাবলী

ট্রেডিং ভিএমএ কৌশলটি নিম্নলিখিত দিকগুলিতেও উন্নত করা যেতে পারেঃ

  1. অন্যান্য সূচককে একত্রিত করুন অন্যান্য প্রবণতার সাথে ব্যবহার করে, বিপরীত প্রবণতা সূচকগুলি সংকেতের গুণমান উন্নত করতে পারে।

  2. প্যারামিটার অপ্টিমাইজেশন ব্যাকটেস্টিং এবং অপ্টিমাইজেশনের মাধ্যমে সর্বোত্তম প্যারামিটার আবিষ্কার করুন।

  3. অভিযোজিত ট্রেডিং নিয়ম বিভিন্ন প্রবেশের নিয়ম ব্যবহার করুন, বাজার ব্যবস্থার জন্য হ্রাস বন্ধ করুন।

  4. সিস্টেমাইজেশন সহজতর অপ্টিমাইজেশনের জন্য কৌশলটি অ্যালগরিদমাইজ করুন এবং সিস্টেমাইজ করুন।

সিদ্ধান্ত

ট্রেডিংভিএমএ একটি অভিযোজিত পরিমাণগত কৌশল। এটি একটি বিশেষভাবে ডিজাইন করা ভিএমএ সূচক ব্যবহার করে বাজারের প্রবণতা ক্যাপচার করে, প্রতিক্রিয়াশীল এবং গোলমাল ফিল্টারিংয়ের প্রান্ত সহ। কৌশলটি আরও ভাল পারফরম্যান্সের জন্য একাধিক উপায়ে আপগ্রেড করা যেতে পারে। তবে কিছু অন্তর্নিহিত সমস্যা যেমন বিলম্বিত পক্ষপাত অব্যাহত থাকতে পারে। সামগ্রিকভাবে, ট্রেডিংভিএমএ একটি প্রতিশ্রুতিশীল প্রবণতা অনুসরণকারী কৌশল।


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-24 23:59:59
period: 1h
basePeriod: 15m
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/
// © laptevmaxim92

//@version=4
strategy("Variable Moving Average Strategy", overlay=true)

src=close
l =input(5, title="VMA Length") 
std=input(true, title="Show Trend Direction Colors")

utp = input(false, "Use take profit?")
pr = input(100, "Take profit pips")
usl = input(false, "Use stop loss?")
sl = input(100, "Stop loss pips")
fromday = input(01, defval=01, minval=01, maxval=31, title="From Day")
frommonth = input(01, defval=01, minval= 01, maxval=12, title="From Month")
fromyear = input(2000, minval=1900, maxval=2100, title="From Year")
today = input(31, defval=01, minval=01, maxval=31, title="To Day")
tomonth = input(12, defval=12, minval=01, maxval=12, title="To Month")
toyear = input(2019, minval=1900, maxval=2100, title="To Year")

use_date = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00))

k = 1.0/l
pdm = 0.0
pdm := max((src - src[1]), 0)
mdm = 0.0
mdm := max((src[1] - src), 0)
pdmS = 0.0
pdmS := ((1 - k)*nz(pdmS[1]) + k*pdm)
mdmS = 0.0
mdmS := ((1 - k)*nz(mdmS[1]) + k*mdm)
s = pdmS + mdmS
pdi = pdmS/s
mdi = mdmS/s
pdiS = 0.0
pdiS := ((1 - k)*nz(pdiS[1]) + k*pdi)
mdiS = 0.0
mdiS := ((1 - k)*nz(mdiS[1]) + k*mdi)
d = abs(pdiS - mdiS)
s1 = pdiS + mdiS
iS = 0.0
iS := ((1 - k)*nz(iS[1]) + k*d/s1)
hhv = highest(iS, l) 
llv = lowest(iS, l) 
d1 = hhv - llv
vI = (iS - llv)/d1
vma = 0.0
vma := (1 - k*vI)*nz(vma[1]) + k*vI*src
vmaC=(vma > vma[1]) ? color.lime : (vma<vma[1]) ? color.red : (vma==vma[1]) ? color.yellow : na 
plot(vma, color=std?vmaC:color.white, linewidth=3, title="VMA")

longCondition = vma > vma[1]
if (longCondition)
    strategy.entry("BUY", strategy.long and use_date)

shortCondition = vma < vma[1]
if (shortCondition)
    strategy.entry("SELL", strategy.short and use_date)

if (utp and not usl)
    strategy.exit("TP", "BUY", profit = pr)
    strategy.exit("TP", "SELL", profit = pr)
    
if (usl and not utp)
    strategy.exit("SL", "BUY", loss = sl)
    strategy.exit("SL", "SELL", loss = sl)
    
if (usl and utp)
    strategy.exit("TP/SL", "BUY", loss = sl, profit = pr)
    strategy.exit("TP/SL", "SELL", loss = sl, profit = pr)

আরো