মুভিং এভারেজ ডুয়াল ট্র্যাক এবং ট্রেন্ড অনুসরণকারী কৌশল


সৃষ্টির তারিখ: 2023-11-06 15:41:23 অবশেষে সংশোধন করুন: 2023-11-06 15:41:23
অনুলিপি: 0 ক্লিকের সংখ্যা: 342

মুভিং এভারেজ ডুয়াল ট্র্যাক এবং ট্রেন্ড অনুসরণকারী কৌশল

ওভারভিউ

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

কৌশল নীতি

  1. দ্রুত চলমান গড় এবং ধীর চলমান গড় একটি দ্বৈত রেল সিস্টেম তৈরি করে। যখন দ্রুত চলমান গড়ের উপরে ধীর চলমান গড় অতিক্রম করে, তখন গোল্ডেন ফর্ক সিগন্যাল হিসাবে, আরও প্রবেশ করুন; যখন দ্রুত চলমান গড়ের নীচে ধীর চলমান গড় অতিক্রম করে, তখন মৃত ফর্ক সিগন্যাল হিসাবে, সমতল অবস্থান ত্যাগ করুন।

  2. ADX একটি প্রবণতার উপস্থিতি এবং শক্তি নির্ণয় করার জন্য ব্যবহৃত হয়। যখন ADX সেট করা মূল মানের চেয়ে বড় হয়, তখন প্রবণতা বিদ্যমান এবং প্রবণতা শক্তিশালী বলে মনে করা হয়। প্রবণতা শক্তিশালী হলেই কেবলমাত্র ট্রেডিং সংকেত তৈরি করা হয়।

  3. DMI-তে DI+ ট্রেন্ডের দিক নির্ণয়ের জন্য ব্যবহৃত হয়। যখন DI+ ইতিবাচক হয়, তখন ট্রেন্ডটি উত্থিত হয়; যখন DI+ নেতিবাচক হয়, তখন ট্রেন্ডটি হ্রাস পায়। ট্রেডিং সিগন্যালটি কেবল তখনই উত্পন্ন হয় যখন এটি ট্রেন্ডের দিকের সাথে সামঞ্জস্যপূর্ণ বলে বিবেচিত হয়।

  4. টাইম স্প্যান টেস্টের সাথে, কৌশলটি বিভিন্ন সময়সীমার মধ্যে কার্যকরভাবে পরীক্ষা করা যায়।

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

  1. দ্বৈত রেল সিস্টেম ব্যবহার করে, ভুয়া ব্রেকিংয়ের ক্ষতি এড়াতে ব্রেকিং ফিল্টার করা যেতে পারে।

  2. ADX ব্যবহার করে ট্রেন্ডের উপস্থিতি এবং তীব্রতা নির্ণয় করুন এবং অস্থিরতার সময় ঘন ঘন ট্রেডিং এড়ান।

  3. DMI ব্যবহার করে ট্রেন্ডের দিক নির্ণয় করুন, ট্রেন্ডের সাথে সামঞ্জস্য রেখে কাজ করুন এবং বিপরীতমুখী লেনদেন এড়িয়ে চলুন।

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

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

  1. দ্বৈত-রেল সিস্টেমগুলি বায়োহেড ট্র্যাপ বা মাল্টি-হেড ট্র্যাপ তৈরির জন্য সহজ, সতর্কতা মূল্য পুনরায় সমন্বয় করা বন্ধ ক্ষতির প্রয়োজন।

  2. ADX এর মতে, ট্রেন্ডের শুরুতে যে সুযোগটি মিস করা হয়েছে তা হ্রাস করার জন্য এটি একটি গুরুত্বপূর্ণ মান।

  3. DMI-এর সিদ্ধান্তের দিকটিও পিছিয়ে আছে, এবং এটি প্রবণতার প্রথম দিকে মিস করতে পারে, যা চক্রের প্যারামিটারগুলিকে সংক্ষিপ্ত করতে পারে।

  4. বিভিন্ন সময়সীমার মধ্যে প্যারামিটার সেটিং পরিবর্তন করা প্রয়োজন হতে পারে, যা পরিস্থিতির সাথে সামঞ্জস্য রেখে প্যারামিটারগুলিকে অপ্টিমাইজ করা প্রয়োজন।

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

  1. বিভিন্ন দৈর্ঘ্যের প্যারামিটার সমন্বয় পরীক্ষা করে সর্বোত্তম প্যারামিটার খুঁজে বের করা যায়।

  2. ডাবল ফিল্টারিং এর জন্য অন্যান্য সূচক যেমন বুলিন লাইন ব্যবহার করা যেতে পারে, যা সিগন্যালের গুণমানকে উন্নত করে।

  3. স্টপ লস স্ট্র্যাটেজি যুক্ত করা যেতে পারে যাতে ক্ষতির পরিমাণ বাড়তে না পারে।

  4. মেশিন লার্নিং পদ্ধতির মাধ্যমে প্যারামিটার সেটিং স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করা যায়।

  5. এই কৌশলকে আরও কার্যকর করার জন্য, মানসিকতার পরিমাপ, খবরের পৃষ্ঠাগুলি এবং আরও অনেক কিছু একত্রিত করা যেতে পারে।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// author: codachang0726
strategy(title = "(S)MA+ADX+DI+time", shorttitle = "(S)MA+ADX+DI+time", overlay = true)

// === INPUT MA LENGTHS ===
fastMA    = input(defval = 7,   title = "FastMA",          minval = 1, step = 1)
slowMA    = input(defval = 14,   title = "SlowMA",          minval = 1, step = 1)

// === 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 = 2020, title = "From Year",       minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        minval = 1, maxval = 31)
thruYear  = input(defval = 2022, title = "Thru Year",       minval = 1970)

// === INPUT SHOW PLOT ===
showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

// === FUNCTION EXAMPLE ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

// === MA LOGIC ===
crossOv   =  sma(close, fastMA) > sma(close, slowMA)     // true when fastMA over slowMA
crossUn   =  sma(close, fastMA) < sma(close, slowMA)     // true when fastMA under slowMA

// DI+ADX
adxlen      = input(14, title="ADX Smoothing")
dilen       = input(14, title="DI Period")
keyLevel    = input(20, title="Keylevel for ADX")
[diplus, diminus, adx] = dmi(dilen, adxlen)
di = (diplus - diminus)

buy = di > 0 and crossOv and adx > keyLevel
sell = di < 0 and crossUn and adx > keyLevel

buy_time = buy and not buy[1]
sell_time = sell and not sell[1]

// === EXECUTION ===
strategy.entry("L", strategy.long, when = window() and buy_time)    // enter long when "within window of time" AND crossover
strategy.close("L", when = window() and sell_time)                   // exit long when "within window of time" AND crossunder         

// === PLOTTING ===
bgcolor(color = showDate and window() ? color.gray : na, transp = 90)                                     // plot "within window of time"
plot(sma(close, fastMA), title = 'FastMA', color = color.yellow, linewidth = 2, style = plot.style_line)  // plot FastMA
plot(sma(close, slowMA), title = 'SlowMA', color = color.aqua,   linewidth = 2, style = plot.style_line)  // plot SlowMA