এটি একটি সহজ ব্রেকআউট কৌশল যা দুটি ভিন্ন শূন্য বিলম্ব EMA এর মধ্যে পার্থক্য ব্যবহার করে একটি যন্ত্রের আপ বা ডাউন গতি ট্র্যাক করে। যখন পার্থক্যটি কনফিগারযোগ্য স্ট্যান্ডার্ড ডিভিয়েশন এর একটি বোলিংজার ব্যান্ড ভেঙে দেয়, তখন অন্তর্নিহিত EMA এর দিকের উপর ভিত্তি করে দীর্ঘ / সংক্ষিপ্ত সংকেত তৈরি করা হয়।
কৌশলটি নিম্নলিখিত সূত্রগুলিতে প্রদর্শিত মত উদ্বায়ীতা পার্থক্য পেতে দুটি বিশেষভাবে গণনা করা EMA সূচক ব্যবহার করেঃ
hJumper = math.max(src,ta.ema(src,lx))
lJumper = math.min(src,ta.ema(src,lx))
dif = (hJumper / lJumper) - 1
এই পার্থক্যটি দ্রুত মূল্য পরিবর্তনের প্রতিক্রিয়া দেখায়।
যখন ডিআইএফ উপরের বলিংজার ব্যান্ডের উপরে অতিক্রম করে, প্রবেশ সংকেত সক্রিয় হয়। যখন ডিআইএফ মধ্যম বলিংজার ব্যান্ডের নীচে অতিক্রম করে, প্রস্থান সংকেত সক্রিয় হয়। বেস ইএমএর দিক দীর্ঘ বা সংক্ষিপ্ত নির্ধারণ করে।
এই কৌশলটির সবচেয়ে বড় সুবিধা হ'ল বিলম্ব ছাড়াই ব্রেকআউট সংকেতগুলিতে এর দ্রুত প্রতিক্রিয়া। এটি দুটি বিশেষভাবে গণনা করা শূন্য বিলম্ব EMA ব্যবহার করে অর্জন করা যায়। এটি কৌশলটিকে তাত্ক্ষণিকভাবে মূল্যের ব্রেকআউট ইভেন্টগুলি ক্যাপচার করতে এবং উদীয়মান প্রবণতাগুলিতে প্রাথমিকভাবে প্রবেশ করতে দেয়।
আরেকটি সুবিধা হল এই কৌশলটির সরলতা। এটিতে কেবলমাত্র একটি পরামিতি lx রয়েছে। কম পরামিতি অপ্টিমাইজেশনকে সহজ করে তোলে এবং ওভারফিটিংয়ের ঝুঁকি হ্রাস করে।
এই কৌশলটির প্রধান ঝুঁকি হল সংকেতগুলির সম্ভাব্য মিথ্যা ব্রেকআউট। ধারাবাহিক মিথ্যা ব্রেকআউটগুলি ব্যাপ্তি সময়ের মধ্যে ঘটতে পারে। এই ঝুঁকি হ্রাস করার জন্য, আমরা সংকেতগুলিকে আরও স্থিতিশীল করার জন্য বোলিংজার ব্যান্ডের বহুগুণ বাড়িয়ে তুলতে পারি।
আরেকটি ঝুঁকি হ'ল অস্থির বাজারের সময় ঘন ঘন ছোট জয় / ক্ষতি। এটি প্রস্থান প্রক্রিয়াগুলি সামঞ্জস্য করে হ্রাস করা যেতে পারে, উদাহরণস্বরূপ স্টপ লস বা মুনাফা মূল্যের স্তর নির্ধারণ করে।
নিচে এই কৌশলটি যেভাবে অপ্টিমাইজ করা যায় তার কিছু দিক উল্লেখ করা হল:
প্রবেশ সংকেত যাচাই করতে এবং মিথ্যা সংকেত হ্রাস করতে ফিল্টার সূচক যুক্ত করুন।
ট্রেডগুলিকে আরও ভালভাবে পরিচালনা করার জন্য স্টপ লস এবং লাভ নিন।
ভলিউম অঙ্গীকার ছাড়াই মিথ্যা ব্রেকআউট এড়ানোর জন্য ট্রেডিং ভলিউম নিশ্চিতকরণের সন্ধান করুন।
বাজারের অস্থিরতার উপর ভিত্তি করে পরামিতিগুলি সামঞ্জস্য করার জন্য অভিযোজিত বোলিংজার ব্যান্ডগুলি গ্রহণ করুন।
মেশিন লার্নিং এর উপর ভিত্তি করে গতিশীলভাবে প্যারামিটার অপ্টিমাইজ করুন।
সংক্ষেপে, এই শূন্য বিলম্বের অস্থিরতা ব্রেকআউট ইএমএ কৌশলটি বিশেষভাবে গণনা করা ইএমএগুলি বিলম্ব ছাড়াই ব্যবহার করে দ্রুত মূল্যের গতি ধরে রাখে। পরবর্তী পদক্ষেপের অপ্টিমাইজেশনে ফিল্টার, স্টপ লস / লাভ, ভলিউম নিশ্চিতকরণ ইত্যাদি যুক্ত করা যেতে পারে যাতে কৌশলটি বিভিন্ন বাজারের পরিবেশে শক্তিশালী হয়।
/*backtest start: 2024-01-07 00:00:00 end: 2024-01-14 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © wbburgin //@version=5 strategy("Zero-lag Volatility-Breakout EMA Trend Strategy",overlay=false) tt1 = "If selected, the strategy will not close long or short positions until the opposite signal is received. This"+ " exposes you to more risk but potentially could generate larger returns." src = input.source(close,"Source") lx = input.int(200,"EMA Difference Length") bbmult = input.float(2.0,"Standard Deviation Multiple") useBinaryStrategy = input.bool(true,"Use Binary Strategy",tooltip = tt1) hJumper = math.max(src,ta.ema(src,lx)) lJumper = math.min(src,ta.ema(src,lx)) dif = (hJumper / lJumper) - 1 [bbm,bbu,bbl] = ta.bb(dif,lx,bbmult) plot(dif,color=color.white,title="Zero lag EMA Difference") plot(bbu,color=color.lime,title="Bollinger Top") plot(bbl,color=color.red,title="Bollinger Bottom") plot(bbm,color=color.yellow,title="Bollinger Middle") sigEnter = ta.crossover(dif,bbu) sigExit = ta.crossunder(dif,bbm) emaBase = ta.ema(src,lx) enterLong = sigEnter and emaBase > emaBase[1] enterShort = sigEnter and emaBase < emaBase[1] plotshape(enterLong,style=shape.labelup,location=location.bottom,color=color.green,size=size.tiny) plotshape(enterShort,style=shape.labeldown,location=location.top,color=color.red,size=size.tiny) if enterLong strategy.entry("Long",strategy.long) if enterShort strategy.entry("Short",strategy.short) if not useBinaryStrategy and sigExit strategy.close("Long") strategy.close("Short")