ট্রেন্ড ট্র্যাকিং কৌশল সহ দ্বৈত চলমান গড় চ্যানেল

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

img

সারসংক্ষেপ

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

ট্রেডিং লজিক

  1. দ্রুত এবং ধীর চলমান গড় একটি দ্বৈত-রেল চ্যানেল সিস্টেম তৈরি করে। যখন দ্রুত এমএ ধীর এমএ অতিক্রম করে, এটি দীর্ঘ সময়ের জন্য একটি সোনার ক্রস এন্ট্রি সংকেত। যখন দ্রুত এমএ ধীর এমএ এর নীচে অতিক্রম করে, এটি একটি মৃত্যু ক্রস প্রস্থান সংকেত।

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

  3. ডিএমআই এর ডিআই + প্রবণতার দিক নির্ধারণ করে। যখন ডিআই + ইতিবাচক হয়, তখন এটি একটি উত্থান প্রবণতা নির্দেশ করে। যখন ডিআই + নেতিবাচক হয়, তখন এটি একটি নেতিবাচক প্রবণতা নির্দেশ করে। ট্রেডিং সংকেতগুলি কেবল তখনই উত্পন্ন হয় যখন প্রবণতার দিকটি মেলে।

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

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

  1. ডুয়াল-রেল সিস্টেম মিথ্যা সংকেত এড়াতে breakouts ফিল্টার।

  2. এডিএক্স একটি প্রবণতা প্রয়োজন দ্বারা একীকরণের সময় অত্যধিক ট্রেডিং এড়ানো হয়।

  3. ডিএমআই নিশ্চিত করে যে ট্রেডগুলি প্রবণতার দিকের সাথে মেলে, যা বিপরীত প্রবণতার ট্রেডগুলিকে প্রতিরোধ করে।

  4. টাইম রেঞ্জ টেস্টিং প্যারামিটার যাচাই করে এবং সেটিংস অপ্টিমাইজ করে।

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

  1. চ্যানেলগুলি ফাঁদ তৈরি করতে পারে, যাতে হুইপসোগুলি এড়ানোর জন্য থামার প্রয়োজন হয়।

  2. ADX বিলম্বগুলি প্রাথমিক সুযোগগুলি মিস করতে পারে, যার জন্য একটি নিম্ন কী স্তরের প্রয়োজন হয়।

  3. ডিএমআই দিকের বিলম্বগুলিও প্রাথমিক প্রবণতা মিস করতে পারে, স্বল্প সময়ের প্রয়োজন হয়।

  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


আরো