
এই কৌশলটি একটি গতিশীল চলমান গড় সমন্বয় কৌশল যা একাধিক সময়কালের সাথে সম্পর্কিত। এটি বিভিন্ন দৈর্ঘ্যের সূচকীয় চলমান গড় (ইএমএ) ব্যবহার করে প্রবণতা বিচার এবং প্রবেশ এবং প্রস্থান করার জন্য। কৌশলটির নামের মধ্যে থাকা MAX নির্দেশ করে যে একাধিক ইএমএ ব্যবহার করা হয়েছে এবং গতিশীল ইএমএ দৈর্ঘ্যটি সামঞ্জস্যযোগ্য
এই কৌশলটি 7 টি ভিন্ন গতির ইএমএ ব্যবহার করে, যা দ্রুততম থেকে ধীরতম পর্যন্তঃ 3 টি চক্র, 15 টি চক্র, 19 টি চক্র, 50 টি চক্র, 100 টি চক্র, 150 টি চক্র এবং 200 টি চক্রের ইএমএ। এই 7 টি ইএমএ একটি ধাপে ধাপে সজ্জিত করে। দীর্ঘ এবং সংক্ষিপ্ত অবস্থানের সংকেত নির্ধারণ করার জন্য, ক্লোজের দামটি 7 টি ইএমএকে ক্রমান্বয়ে ভেঙে ফেলতে হবে, যাতে প্রবণতা পরিবর্তনের পরে শক্তি প্রবেশের বিষয়টি নিশ্চিত করা যায়।
এছাড়াও, কৌশলটি দীর্ঘ অবস্থানের সংকেত নিশ্চিত করার জন্য দামের উদ্ভাবনী উচ্চতা এবং বন্ধের দামের breaking historical highs এর দুটি শর্তের সমন্বয় করে, এবং একটি ছোট অবস্থানের সংকেত নিশ্চিত করার জন্য উদ্ভাবনী নিম্ন এবং বন্ধের দামের breaking historical lows ব্যবহার করে, যাতে ভুয়া ব্রেকডাউন এড়ানো যায়।
সমতল অবস্থার শর্তটি হল যে বন্ধ মূল্যটি ধীরে ধীরে দ্রুত ইএমএ থেকে ধীর ইএমএ থেকে বিরতি দেয়, যা প্রবণতা বিপরীত হওয়ার ইঙ্গিত দেয়; অথবা সর্বশেষ কে লাইনের সর্বনিম্ন বা সর্বোচ্চ মূল্য 4 টি ইএমএ অতিক্রম করে, যা ইঙ্গিত দেয় যে লেনদেনটি অবিলম্বে সমতল হওয়া উচিত।
সমাধানঃ
এই কৌশলটি সামগ্রিকভাবে সুস্পষ্ট, 7 টি বিভিন্ন গতির ইএমএ ব্যবহার করে প্রবণতা নির্ধারণ করে এবং দ্বিগুণ সমতল অবস্থার শর্ত রয়েছে, যা প্রবণতা বিপরীত হওয়ার বিষয়ে আরও সংবেদনশীল বিচার করতে পারে। তবে কৌশলটি নিজেই স্টপ লস সেট করে না, ক্ষতির ঝুঁকি রয়েছে, অতিরিক্তভাবে তাড়াতাড়ি ছাড়ার সমস্যা সৃষ্টি করতে পারে। ভবিষ্যতে স্টপ লস, প্যারামিটার অপ্টিমাইজেশন, সূচক ফিল্টারিং ইত্যাদির মতো একাধিক মাত্রায় কৌশলটির উন্নতি করা প্রয়োজন যাতে এটি একটি স্থিতিশীল এবং নির্ভরযোগ্য পরিমাণযুক্ত ট্রেডিং সিস্টেম হয়।
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Crypto MAX Trend", shorttitle="Crypto MAX", overlay = true )
Length = input(3, minval=1)
Length2 = input(15, minval=1)
Length3 = input(19, minval=1)
//Length33 = input(25, minval=1)
Length4 = input(50, minval=1)
Length44 = input(100, minval=1)
Length5 = input(150, minval=1)
Length6 = input(171, minval=1)
Length66 = input(172, minval=1)
xPrice = input(close)
xEMA1 = ema(xPrice, Length)
xEMA2 = ema(xPrice, Length2)
xEMA3 = ema(xPrice, Length3)
//xEMA33 = ema(xPrice, Length33)
xEMA4 = ema(xPrice, Length4)
xEMA44 = ema(xPrice, Length44)
xEMA5 = ema(xPrice, Length5)
xEMA6 = ema(xPrice, Length6)
xEMA66 = ema(xPrice, Length66)
// plot(xEMA1, color=color.white)
// plot(xEMA2, color=color.red)
// plot(xEMA3, color=color.green)
// plot(xEMA4, color=color.purple)
// plot(xEMA44, color=color.gray)
// plot(xEMA5, color=color.maroon)
// plot(xEMA6, color=color.blue)
// plot(xEMA66, color=color.orange)
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
long = close > xEMA1 and xEMA1 > xEMA2 and xEMA2 > xEMA3 and xEMA3 > xEMA4 and xEMA4 > xEMA44 and xEMA44 > xEMA5 and xEMA5> xEMA6 and xEMA6> xEMA66 and close > high[1] and high[1] > high[2] and close > high[3] and close > high[4] and close > high[5] and high[5] > high[6] and time_cond
short = close < xEMA1 and xEMA1 < xEMA2 and xEMA2 < xEMA3 and xEMA3 < xEMA4 and xEMA4 < xEMA44 and xEMA44 < xEMA5 and xEMA5< xEMA6 and xEMA6< xEMA66 and close < low[1] and low[1] < low[2] and close < low[3] and close < low[4] and close< low[5] and low[5] < low[6] and time_cond
notlong = close < xEMA1
strategy.entry("long",1,when=long)
strategy.entry("short",0,when=short)
exitlong1 = xEMA1 < xEMA2 and xEMA2 < xEMA3 and xEMA3 < xEMA4
exitlong2 = crossunder(low,xEMA1) and crossunder(low,xEMA2) and crossunder(low,xEMA3) and crossunder(low,xEMA4)
exitshort1 = xEMA1 > xEMA2 and xEMA2 > xEMA3 and xEMA3 > xEMA4
exitshort2 = crossover(high,xEMA1) and crossover(high,xEMA2) and crossover(high,xEMA3) and crossover(high,xEMA4)
strategy.close("long", when = exitlong1 or exitlong2)
strategy.close("short", when= exitshort1 or exitshort2)