হোল্ড গ্রাইল কৌশল হল একটি পরিমাণগত ট্রেডিং কৌশল যা ADX সূচকের সাথে একটি দ্বৈত চলমান গড় সিস্টেমকে একত্রিত করে। এটি প্রবণতার দিকনির্দেশ এবং শক্তি সনাক্ত করতে এবং প্রবণতা বিপরীত সময়ে বাণিজ্য করার লক্ষ্যে।
এই কৌশলটি প্রবেশের সুযোগগুলি চিহ্নিত করতে ২০ দিনের এক্সপোনেন্সিয়াল মুভিং এভারেজ (ইএমএ) এবং এডিএক্স সূচক উভয়ই ব্যবহার করে। বিশেষত, এটি নিম্নলিখিত দুটি ক্ষেত্রে ট্রেডিং সংকেত জারি করবেঃ
যখন ADX মান 30 এর নিচে থাকে (এটি একটি দুর্বল প্রবণতা নির্দেশ করে) এবং দাম 20 দিনের EMA এর নিচে থেকে ভেঙে যায়, তখন লম্বা হয়;
যখন ADX মান 30 এর উপরে থাকে (এটি একটি শক্তিশালী প্রবণতা নির্দেশ করে) এবং দাম উপরে থেকে 20 দিনের EMA অতিক্রম করে, শর্ট যান।
এটি দেখা যায় যে এই কৌশলটি প্রবণতার শক্তি এবং দিক নির্ধারণের জন্য এডিএক্সের উপর নির্ভর করে এবং তারপরে বিপরীতমুখী সুযোগগুলি সন্ধান করার জন্য চলমান গড়ের সমর্থন এবং প্রতিরোধের সংমিশ্রণ করে। এটি প্রবণতা অনুসরণ এবং গড় বিপরীতমুখী ধারণাগুলিকে সংহত করে।
হোল্ড গ্রাইল কৌশলটির সবচেয়ে বড় সুবিধা হল যে এটি প্রবণতার দিক এবং শক্তি উভয়কেই বিবেচনা করে, যা কার্যকরভাবে মিথ্যা ব্রেকআউট এড়াতে এবং স্টপ লস হওয়ার সম্ভাবনা হ্রাস করতে পারে। বিশেষত, এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছেঃ
হোল্ড গ্রাইল স্ট্র্যাটেজিতে কিছু ঝুঁকিও রয়েছে, প্রধানত নিম্নলিখিত ক্ষেত্রেঃ
উপরের ঝুঁকিগুলি হ্রাস করার জন্য, সর্বোত্তম প্রভাব অর্জনের জন্য পরামিতিগুলি সামঞ্জস্য করা যেতে পারে। একক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লসও সেট করা যেতে পারে। তদতিরিক্ত, বিভিন্ন জাত এবং চক্রগুলিতে কৌশলগুলি পরীক্ষা করাও প্রয়োজনীয়।
হোল্ড গ্রাইল কৌশলটির জন্য এখনও অনেক অপ্টিমাইজেশান দিক রয়েছেঃ
প্যারামিটারগুলি সামঞ্জস্য করা বা নতুন সূচক যুক্ত করা কৌশলটির লাভজনকতা বা জয়ের হার বাড়িয়ে তুলতে পারে। তবে কোনও অপ্টিমাইজেশনের জন্য এর দৃust়তা নিশ্চিত করার জন্য পর্যাপ্ত ব্যাকটেস্টিং প্রয়োজন।
সংক্ষেপে, হোল্ড গ্রাইল কৌশলটি ডাবল মুভিং এভারেজ এবং এডিএক্স সূচকের সুবিধাগুলি একত্রিত করে এবং প্রবণতা বিপরীতমুখী ক্যাপচার করার জন্য পরিষ্কার ট্রেডিং নিয়ম ব্যবহার করে। এটি ভাল সম্পাদন করার সম্ভাবনা রয়েছে। তবে, ব্যবসায়ীদের এখনও বিভিন্ন বাজারের পরিবেশে অভিযোজিত হওয়ার জন্য প্যারামিটার সংমিশ্রণ এবং স্টপ লস নিয়মগুলি অনুকূল করতে হবে। তদতিরিক্ত, যতই উন্নত হোক না কেন, স্টপ লস সম্পূর্ণরূপে এড়ানো অসম্ভব, যা প্রতিটি ট্রেডিং কৌশল দ্বারা সম্মুখীন একটি দ্বিধা।
/*backtest start: 2022-11-24 00:00:00 end: 2023-11-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("LAT Holy Grail v3", overlay=true) /////////////TEST TIME //////////////////////// testStartYear = input(2018, "Backtest Start Year") testStartMonth = input(4, "Backtest Start Month") testStartDay = input(15, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2018, "Backtest Stop Year") testStopMonth = input(5, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false ////////////////////////////////////////////////////////////////////// myema= ema(close, 20) plot(myema, color=green, title="eMA", linewidth=3) //longCondition = (crossover(close, myema)) //and adx3 < target //if (longCondition) //strategy.entry("My Long Entry Id", strategy.long) //shortCondition = (crossunder(close, myema)) //and adx3 > target //if (shortCondition) //strategy.entry("My Short Entry Id", strategy.short) ////////////////////////////////////////////////////////// /////////////////////////////////////// DMI /////////////////////////////////////////////// len3 = input(14, minval=1, title="DI Length") ///////////////////// lensig3 = input(14, title="ADX Smoothing", minval=1, maxval=50) //////////////////// up3 = change(high) /////////////////// down3 = -change(low) ////////////////// plusDM3 = na(up3) ? na : (up3 > down3 and up3 > 0 ? up3 : 0) ///////////////// minusDM3 = na(down3) ? na : (down3 > up3 and down3 > 0 ? down3 : 0) //////////////// trur3 = rma(tr, len3) /////////////// plus3 = fixnan(100 * rma(plusDM3, len3) / trur3) ////////////// minus3 = fixnan(100 * rma(minusDM3, len3) / trur3) ///////////// sum3 = plus3 + minus3 //////////// adx3 = 100 * rma(abs(plus3 - minus3) / (sum3 == 0 ? 1 : sum3), lensig3) /////////// //plot(plus3, color=green, style=circles, linewidth=2, title="+DI") ////////// //plot(minus3, color=red, style=circles, linewidth=2, title="-DI") ///////// plot(adx3, color=aqua, style=line, linewidth=3, title="ADX") //////// target = input(30, title=" ADX Target Line") /////// plot(target, color=yellow, title="ADX Target Line") ////// ///////////////////////////////////////////////////////////////////////////////////////////////// plot(hl2) /////////////////////////////////////////////// eMA SIGNAL LINE /////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////// HOLY GRAIL STRATEGY /////////////////////////////////////////////////////////////////// if (adx3 <= target) and crossover(close, myema) strategy.entry("HolyGrail", strategy.long, comment="Long") if (adx3 >= target) and crossunder(close, myema) strategy.entry("HolyGrail", strategy.short, comment="Short")