এই কৌশলটি বিভিন্ন প্যারামিটার সেটিংসের সাথে একাধিক ইএমএ এবং ইওএম ভলিউম সূচককে একত্রিত করে একাধিক সময়সীমার মধ্যে প্রবণতা নির্ধারণ করে এবং দীর্ঘমেয়াদী এবং স্বল্পমেয়াদী উভয় বিচারের সাথে একটি ট্রেডিং কৌশল তৈরি করে। এর লক্ষ্য দীর্ঘস্থায়ী প্রবণতা প্যাটার্নগুলি উন্মোচন করতে বিভিন্ন সময়ের চলমান গড়ের বহু-সময়সীমার অনুরণনকে উত্তোলন করা।
এই কৌশলটি বিভিন্ন সময়ের পরামিতি সহ EMA এর 4 টি গ্রুপ ব্যবহার করে - 13, 21, 50 এবং 180. এই 4 টি EMA মূল্যের প্রবণতা নির্ধারণ এবং দীর্ঘমেয়াদী প্রবণতা প্যাটার্নগুলি উন্মোচন করার জন্য একাধিক সময় মাত্রা স্থাপন করে।
কৌশলটি প্রবণতা নিশ্চিত করার জন্য ইওএম ভলিউম সূচক ব্যবহার করে। ইওএম ক্রয় এবং বিক্রয় চাপ কার্যকরভাবে পরিমাপ করার জন্য ট্রেডিং ভলিউম এবং দামের অস্থিরতার পরিসীমা একত্রিত করে। কৌশলটি ইওএম শূন্যের উপরে থাকলে দীর্ঘ শর্ত এবং ইওএম শূন্যের নীচে থাকলে সংক্ষিপ্ত শর্ত নির্ধারণ করে।
কৌশলটির দুটি বিকল্প রয়েছে। বিকল্প 1 দীর্ঘ হয় যখন স্বল্প EMA দীর্ঘ EMA এর উপরে অতিক্রম করে এবং দীর্ঘ EMA এর নীচে অতিক্রম করে যখন স্বল্প EMA দীর্ঘ EMA এর নীচে অতিক্রম করে। বিকল্প 2 দীর্ঘ হয় যখন স্বল্প EMA মধ্যবর্তী EMA এর উপরে অতিক্রম করে এবং দীর্ঘ বন্ধ হয় যখন স্বল্প EMA মধ্যবর্তী EMA এর নীচে অতিক্রম করে। দুটি বিকল্প আরও বিস্তৃত প্রবণতা নিশ্চিতকরণের অনুমতি দেয়।
এই কৌশলটি প্রবণতা অনুসরণ এবং গোলমাল অপসারণের জন্য মাল্টি-টাইমফ্রেম ইএমএ প্রবণতা নির্ধারণ এবং ভলিউম সূচক ফিল্টারিংকে একীভূত করে। আরও দৃust়তা উন্নত করতে বিভিন্ন পরামিতি সংমিশ্রণ পরীক্ষা করে এবং আরও সূচক যুক্ত করে অপ্টিমাইজেশনের জন্য এখনও অনেক জায়গা রয়েছে। এদিকে, গতিশীল স্টপ লস এবং অবস্থান আকারও কার্যকারিতা উল্লেখযোগ্যভাবে অনুকূল করতে পারে।
/*backtest start: 2022-10-02 00:00:00 end: 2023-10-08 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © SoftKill21 //@version=4 strategy("4x ema + volume", overlay=true,initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent , commission_value=0.1 ) //ema x 4 ema1l=input(13) ema2l=input(21) ema3l=input(50) ema4l=input(180) ema1=ema(close,ema1l) ema2=ema(close,ema2l) ema3=ema(close,ema3l) ema4=ema(close,ema4l) long1 = close > ema1 and ema1 > ema2 and ema2> ema3 and ema3 > ema4 long2 = crossover(ema1,ema2) and crossover(ema1,ema3) short1 = close < ema1 and ema1 < ema2 and ema2< ema3 and ema3 < ema4 short2= crossunder(ema1,ema2) and crossunder(ema1,ema3) //eom length = input(14, minval=1) div = input(10000, title="Divisor", minval=1) eom = sma(div * change(hl2) * (high - low) / volume, length) option1=input(true) option2=input(false) if(option1) strategy.entry("long",1,when=long1 and eom>0) strategy.close("long",when=short1 and eom<0) if(option2) strategy.entry("long",1,when=long2 and eom>0) strategy.close("long",when=short2 and eom<0)