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