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


সৃষ্টির তারিখ: 2024-02-19 14:36:37 অবশেষে সংশোধন করুন: 2024-02-19 14:36:37
অনুলিপি: 1 ক্লিকের সংখ্যা: 590
1
ফোকাস
1617
অনুসারী

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

ওভারভিউ

ডাবল ডায়নামিক ইক্যুয়ালাইন ট্রেডিং কৌশল হল একটি কৌশল যা OTT সূচক এবং ওয়েভেট্রেন্ড ওসিলেটর সূচক ব্যবহার করে। এটি Anıl Özekşi শিক্ষকের দ্বারা বিকাশিত OTT সূচক এবং lonestar108 এর ওয়েভেট্রেন্ড ওসিলেটর সূচক ব্যবহার করে একটি সফল ট্রেডিং সূচক গঠন করে। এই কৌশলটি দ্বিপাক্ষিক বাজারে একাধিক বিয়ার অপারেশন করতে পারে।

কৌশল নীতি

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

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

এই কৌশলটি একই সাথে Wavetrend সূচক ব্যবহার করে মূল্য প্রবণতা দিক নির্ধারণ করে, যদি এটি একটি নেমে যাওয়া প্রবণতা হিসাবে বিচার করা হয় তবে এটি খুব বেশি কাজ করে না; যদি এটি একটি উত্থিত প্রবণতা হিসাবে বিচার করা হয় তবে এটি খুব বেশি কাজ করে না।

সামর্থ্য বিশ্লেষণ

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

বিশেষ করে, এই কৌশলটির প্রধান সুবিধাগুলি হলঃ

  1. স্বয়ংক্রিয়ভাবে স্টপ লেভেল সামঞ্জস্য করতে পারে এবং ঝুঁকি নিয়ন্ত্রণ করতে পারে
  2. ওটিটি সূচকগুলি বিপরীত দিকটি আরও সঠিকভাবে নির্ধারণ করতে পারে
  3. প্রবণতা নির্ধারণের সূচকগুলিকে একত্রিত করে বাজারের অস্থিরতা এড়াতে
  4. নিয়মগুলি তুলনামূলকভাবে সহজ, সুস্পষ্ট এবং ব্যবহার করা সহজ।

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

ডাবল ডায়নামিক এনার্জি ওয়ান-লাইন ট্রেডিং কৌশলও কিছু ঝুঁকি নিয়ে আসে, যা মূলত নিম্নলিখিত দিকগুলিতে কেন্দ্রীভূত হয়ঃ

  1. স্টপ লিনিয়ারের তীব্রতার সময়, স্টপ লিনিয়ারটি অতিক্রম করা যেতে পারে, যার ফলে বড় ক্ষতি হতে পারে
  2. ওটিটি সূচকগুলির মধ্যে বিপরীত সিগন্যালগুলি সঠিক হতে পারে না, বা ত্রুটিযুক্ত হতে পারে
  3. ট্রেন্ডিংয়ে ভুল হতে পারে এবং নিম্নমুখী ধাক্কা মারার সময় বেশি ক্ষতি হতে পারে
  4. ভুল প্যারামিটার সেট করাও পলিসির কার্যকারিতাকে প্রভাবিত করতে পারে

এর প্রতিকার হিসেবে বলা যেতে পারেঃ

  1. স্টপ লস প্রস্থটি যথাযথভাবে প্রশস্ত করুন যাতে স্টপ লাইনটি সহজেই সক্রিয় না হয়
  2. ওটিটি সিগন্যালের নির্ভরযোগ্যতা নির্ধারণের জন্য অন্যান্য সূচকগুলির সাথে মিলিত হয়ে ভুয়া সংকেত এড়ানো
  3. প্রবণতা নির্ণয়ের জন্য সঠিকভাবে প্যারামিটারগুলি সামঞ্জস্য করুন
  4. প্যারামিটার অপ্টিমাইজ করুন, সর্বোত্তম প্যারামিটার সমন্বয় খুঁজুন

অপ্টিমাইজেশান দিক

ডাবল ডায়নামিক এনার্জি ওয়ান-লাইন ট্রেডিং কৌশলটি আরও উন্নত করার সুযোগ রয়েছেঃ

  1. অন্যান্য সূচকগুলির সাথে সংমিশ্রণ বিবেচনা করা যেতে পারে, যা সংকেত বিচারকে আরও নির্ভুল করে তোলে
  2. স্বনির্ধারিত স্টপ অ্যালগরিদমগুলি গবেষণা করা যেতে পারে যাতে স্টপ লাইনগুলি বাজারের অস্থিরতার সাথে সামঞ্জস্য করতে পারে
  3. কম পরিমাণে ভুয়া ব্রেকডাউন এড়াতে লেনদেনের পরিমাণের সূচক যুক্ত করা যেতে পারে
  4. আপনি বিভিন্ন ধরণের মুভিং এভারেজ পরীক্ষা করতে পারেন এবং সবচেয়ে বেশি মিলে যাওয়া গড় খুঁজে পেতে পারেন।
  5. মেশিন লার্নিং এবং অন্যান্য পদ্ধতি ব্যবহার করে প্যারামিটারগুলিকে স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করা যায়

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Bugra trade strategy", shorttitle="Bugra trade strategy", overlay=true)

// Kullanıcı Girdileri
length = input(5, title="Period", minval=1)
percent = input(1, title="Sihirli Yüzde", type=input.float, step=0.1, minval=0)
mav = input(title="Hareketli Ortalama Türü", defval="VAR", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"])
wt_n1 = input(10, title="Kanal Periyodu")
wt_n2 = input(21, title="Averaj Uzunluğu")
src = close

// Tarih Aralığı Girdileri
startDate = input(20200101, title="Başlangıç Tarihi (YYYYMMDD)")
endDate = input(20201231, title="Bitiş Tarihi (YYYYMMDD)")

// Tarih Filtresi Fonksiyonu
isDateInRange() => true
// Özel Fonksiyonlar
Var_Func(src, length) =>
    valpha = 2 / (length + 1)
    vud1 = src > src[1] ? src - src[1] : 0
    vdd1 = src < src[1] ? src[1] - src : 0
    vUD = sum(vud1, length)
    vDD = sum(vdd1, length)
    vCMO = (vUD - vDD) / (vUD + vDD)
    varResult = 0.0
    varResult := nz(valpha * abs(vCMO) * src + (1 - valpha * abs(vCMO)) * nz(varResult[1]))
    varResult

Wwma_Func(src, length) =>
    wwalpha = 1 / length
    wwma = 0.0
    wwma := wwalpha * src + (1 - wwalpha) * nz(wwma[1])
    wwma

Zlema_Func(src, length) =>
    zxLag = floor(length / 2)
    zxEMAData = src + (src - src[zxLag])
    zlema = ema(zxEMAData, length)
    zlema

Tsf_Func(src, length) =>
    lrc = linreg(src, length, 0)
    lrs = lrc - linreg(src, length, 1)
    tsf = lrc + lrs
    tsf

getMA(src, length) =>
    ma = mav == "SMA" ? sma(src, length) :
         mav == "EMA" ? ema(src, length) :
         mav == "WMA" ? wma(src, length) :
         mav == "TMA" ? sma(sma(src, ceil(length / 2)), floor(length / 2) + 1) :
         mav == "VAR" ? Var_Func(src, length) :
         mav == "WWMA" ? Wwma_Func(src, length) :
         mav == "ZLEMA" ? Zlema_Func(src, length) :
         mav == "TSF" ? Tsf_Func(src, length) : na

// Strateji Hesaplamaları
MAvg = getMA(src, length)
fark = MAvg * percent * 0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop = MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop

dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir==1 ? longStop: shortStop
OTT = MAvg > MT ? MT*(200+percent)/200 : MT*(200-percent)/200

plot(OTT, title="BugRA", color=color.rgb(251, 126, 9))

// Alım ve Satım Koşulları
longCondition = crossover(src, OTT) and isDateInRange()
shortCondition = crossunder(src, OTT) and isDateInRange()

// Strateji Giriş ve Çıkış Emirleri
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.close("Long")