ডাবল মুভিং এভারেজ ক্রসওভার কৌশল


সৃষ্টির তারিখ: 2023-12-01 18:18:16 অবশেষে সংশোধন করুন: 2023-12-01 18:18:16
অনুলিপি: 2 ক্লিকের সংখ্যা: 668
1
ফোকাস
1619
অনুসারী

ডাবল মুভিং এভারেজ ক্রসওভার কৌশল

ওভারভিউ

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

যখন দ্রুত এসএমএ ধীর ভিডাব্লুএমএ অতিক্রম করে, তখন একটি কেনার সংকেত উত্পন্ন হয়; যখন দ্রুত এসএমএ ধীর ভিডাব্লুএমএ অতিক্রম করে, তখন একটি বিক্রির সংকেত উত্পন্ন হয়।

কৌশল নীতি

এই কৌশলটির মূল যুক্তিটি দ্বিগুণ সমান্তরাল ক্রস সিস্টেমের উপর ভিত্তি করে। বিশেষত, এটি একই সাথে নিম্নলিখিত প্রযুক্তিগত সূচকগুলি ব্যবহার করেঃ

  1. সরল চলমান গড় ((SMA): সর্বশেষ n দিনের ক্লোজিং মূল্যের গড় গড়, যা সাম্প্রতিক সময়ের গড় মূল্যকে প্রতিফলিত করে।
  2. ওজনযুক্ত মুভিং এভারেজ (VWMA): সাম্প্রতিক n দিনের ক্লোজিং প্রাইসের ওজনযুক্ত গড়, যা সাম্প্রতিক মূল্যকে আরও বেশি ওজন দেয় এবং দামের পরিবর্তনের জন্য আরও দ্রুত প্রতিক্রিয়া জানায়।

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

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

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

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

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

  1. ডাবল মিডল লাইন কৌশলগুলি একাধিক বাজারের জন্য মিথ্যা সংকেত তৈরি করতে পারে
  2. সঠিক প্যারামিটার নির্বাচন করুন, ভুল সেটআপের ফলে ক্ষতি হতে পারে
  3. মাঝে মাঝে মাথাব্যাথা হতে পারে মার্কেটের আকস্মিক ঘটনার ফলে ক্ষতি হতে পারে

ঝুঁকি নিয়ন্ত্রণের উপায়ঃ

  1. প্রবণতা ফিল্টারিং সূচক ব্যবহার করে নিশ্চিতকরণ
  2. অপ্টিমাইজেশন প্যারামিটার সেটিং
  3. একক ক্ষতির উপর নিয়ন্ত্রণ আনতে ক্ষতি বন্ধের কৌশল গ্রহণ করুন

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-28 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//strategy(title="Bitlinc Entry v0.1 VWMA / SMA / MRSI SQQQ 94M", overlay=true, initial_capital=10000, currency='USD')

strategy(title="Bitlinc Entry v0.1 VWMA / SMA / MRSI SQQQ 94M", overlay=true)

// Credit goes to this developer for the "Date Range Code"
// https://www.tradingview.com/script/62hUcP6O-How-To-Set-Backtest-Date-Range/

// === GENERAL INPUTS ===
// short ma
maFastSource   = input(defval = close, title = "Simple MA Source")
maFastLength   = input(defval = 6, title = "Simple MA Length", minval = 1)
// long ma
maSlowSource   = input(defval = high, title = "VW MA Source")
maSlowLength   = input(defval = 7, title = "VW MA Period", minval = 1)


// === SERIES SETUP ===
// a couple of ma's...
maFast = sma(maFastSource, maFastLength)
maSlow = vwma(maSlowSource, maSlowLength)


// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = color.green, linewidth = 2, style = plot.style_line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = color.red, linewidth = 2, style = plot.style_line, transp = 30)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, 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"

// === LOGIC ===
enterLong = crossover(maFast, maSlow)
exitLong = crossover(maSlow, maFast)
//enterLong = crossover(maSlow, maFast)
//exitLong = crossover(maFast, maSlow)

// Entry //
strategy.entry(id="Long Entry", long=true, when=window() and enterLong)
strategy.entry(id="Short Entry", long=false, when=window() and exitLong)

// === FILL ====
fill(fast, slow, color = maFast > maSlow ? color.green : color.red)

// === MRSI ===
//
//

basis = rsi(close, input(50))

ma1 = ema(basis, input(2))
ma2 = ema(basis, input(27))

oversold = input(32.6)
overbought = input(63)

//plot(ma1, title="RSI EMA1", color=blue)
//plot(ma2, title="RSI EMA2", color=yellow)

obhist = ma1 >= overbought ? ma1 : overbought
oshist = ma1 <= oversold ? ma1 : oversold

//plot(obhist, title="Overbought Highligth", style=columns, color=color.maroon, histbase=overbought)
//plot(oshist, title="Oversold Highligth", style=columns, color=color.yellow, histbase=oversold)

//i1 = hline(oversold, title="Oversold Level", color=white)
//i2 = hline(overbought, title="Overbought Level", color=white)

//fill(i1, i2, color=olive, transp=100)

// === LOGIC ===
enterLongMrsi = crossover(ma1, oversold)
exitLongMrsi = crossover(ma1, overbought)

// Entry //
strategy.entry(id="MRSI Long Entry", long=true, when=window() and enterLongMrsi)
strategy.entry(id="MRSI Short Entry", long=false, when=window() and exitLongMrsi)

//hline(50, title="50 Level", color=white)