এই কৌশলটি একটি দ্বৈত-রেল সিস্টেম তৈরি করতে দ্রুত এবং ধীর চলমান গড় ব্যবহার করে, ট্রেন্ড বিচার করার জন্য ট্রেন্ড সূচক এডিএক্স এবং ট্রেন্ডের দিকনির্দেশ নির্ধারণের জন্য ডিএমআই দিকনির্দেশক সূচকের সাথে মিলিত হয়, এটি প্রতিষ্ঠিত হওয়ার পরে প্রবণতাটি ট্র্যাক করতে এবং প্রবণতা বিপরীত হওয়ার সময় সময় বেরিয়ে আসতে, শীর্ষস্থানগুলি তাড়া করা এবং নীচে বিক্রি করা এড়ানো। এটি বিভিন্ন সময়ের মধ্যে কৌশলটির কার্যকারিতা ব্যাকটেস্ট করার জন্য সময়সীমা পরীক্ষা অন্তর্ভুক্ত করে।
দ্রুত এবং ধীর চলমান গড় একটি দ্বৈত-রেল চ্যানেল সিস্টেম তৈরি করে। যখন দ্রুত এমএ ধীর এমএ অতিক্রম করে, এটি দীর্ঘ সময়ের জন্য একটি সোনার ক্রস এন্ট্রি সংকেত। যখন দ্রুত এমএ ধীর এমএ এর নীচে অতিক্রম করে, এটি একটি মৃত্যু ক্রস প্রস্থান সংকেত।
এডিএক্স একটি প্রবণতার অস্তিত্ব এবং শক্তি বিচার করে। যখন এডিএক্স মূল স্তরের উপরে থাকে, তখন এটি নির্দেশ করে যে একটি প্রবণতা বিদ্যমান এবং শক্তিশালী। ট্রেডিং সংকেতগুলি কেবল তখনই উত্পন্ন হয় যখন প্রবণতা শক্তিশালী হয়।
ডিএমআই এর ডিআই + প্রবণতার দিক নির্ধারণ করে। যখন ডিআই + ইতিবাচক হয়, তখন এটি একটি উত্থান প্রবণতা নির্দেশ করে। যখন ডিআই + নেতিবাচক হয়, তখন এটি একটি নেতিবাচক প্রবণতা নির্দেশ করে। ট্রেডিং সংকেতগুলি কেবল তখনই উত্পন্ন হয় যখন প্রবণতার দিকটি মেলে।
সময়সীমা পরীক্ষা যাচাই করার জন্য বিভিন্ন সময়সীমার মধ্যে কৌশলটির কার্যকারিতা ব্যাকটেস্ট করে।
ডুয়াল-রেল সিস্টেম মিথ্যা সংকেত এড়াতে breakouts ফিল্টার।
এডিএক্স একটি প্রবণতা প্রয়োজন দ্বারা একীকরণের সময় অত্যধিক ট্রেডিং এড়ানো হয়।
ডিএমআই নিশ্চিত করে যে ট্রেডগুলি প্রবণতার দিকের সাথে মেলে, যা বিপরীত প্রবণতার ট্রেডগুলিকে প্রতিরোধ করে।
টাইম রেঞ্জ টেস্টিং প্যারামিটার যাচাই করে এবং সেটিংস অপ্টিমাইজ করে।
চ্যানেলগুলি ফাঁদ তৈরি করতে পারে, যাতে হুইপসোগুলি এড়ানোর জন্য থামার প্রয়োজন হয়।
ADX বিলম্বগুলি প্রাথমিক সুযোগগুলি মিস করতে পারে, যার জন্য একটি নিম্ন কী স্তরের প্রয়োজন হয়।
ডিএমআই দিকের বিলম্বগুলিও প্রাথমিক প্রবণতা মিস করতে পারে, স্বল্প সময়ের প্রয়োজন হয়।
সময়সীমার মধ্যে পরামিতিগুলি সামঞ্জস্য করতে হবে।
সর্বোত্তম সেটিংস খুঁজে পেতে প্যারামিটার সমন্বয় পরীক্ষা করুন।
সিগন্যালের গুণমানের জন্য বোলিংজার ব্যান্ডের মতো ফিল্টার যুক্ত করুন।
হ্রাস সীমাবদ্ধ করার জন্য স্টপ লস অন্তর্ভুক্ত করুন।
মেশিন লার্নিং দিয়ে স্বয়ংক্রিয়ভাবে প্যারামিটার অপ্টিমাইজ করুন।
আরও কিছু বিষয় অন্তর্ভুক্ত করুন যেমন অনুভূতি এবং খবর।
এই কৌশলটি প্রবণতা সনাক্ত এবং ট্র্যাক করার জন্য চলমান গড়, প্রবণতা সূচক এবং দিকনির্দেশক সূচকগুলির শক্তি একত্রিত করে। পরামিতি বৈধতা যাচাই করার সময়, পরিমাণগত ব্যবসায়ের পদ্ধতি অনুসরণ করে এটি একটি নির্ভরযোগ্য প্রবণতা সরবরাহ করে।
/*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