মাল্টি-ইন্ডিকেটর ইএমএ কৌশল একটি প্রবণতা অনুসরণকারী কৌশল যা ট্রেডিং সংকেত তৈরির জন্য ইএমএ, এমএসিডি, দোলক, আরএসআই, স্টোকাস্টিক, বলিংজার ব্যান্ডের মতো একাধিক সূচককে অন্তর্ভুক্ত করে। একাধিক সূচকের উপর ভিত্তি করে একটি যৌগিক সংকেত গণনা করে, এটি নির্ধারণ করে যে বাজারটি একটি আপট্রেন্ড বা ডাউনট্রেন্ডে রয়েছে কিনা।
কৌশলটি প্রথমে নিম্নলিখিত সূচকগুলি গণনা করেঃ
EMA: একটি নির্দিষ্ট সময়ের মধ্যে এক্সপোনেনশিয়াল মুভিং এভারেজ।
এমএসিডিঃ এমএসিডি ডিআইএফ এবং ডিইএ লাইন।
ওসিলেটরঃ একটি সময়ের মধ্যে বন্ধ এবং খোলা মধ্যে পার্থক্য।
আরএসআই: একটি সময়ের মধ্যে আপেক্ষিক শক্তি সূচক।
স্টোকাস্টিকঃ পরামিতি সহ স্টোকাস্টিক K এবং D মান।
বোলিংজার ব্যান্ডঃ একটি সময়ের মধ্যে উপরের, মাঝের এবং নীচের ব্যান্ড।
তারপরে প্রতিটি সূচককে তার বর্তমান অবস্থার উপর ভিত্তি করে একটি মান নির্ধারণ করা হয়। উদাহরণস্বরূপ, 20 এর নীচে স্টোকাস্টিক 2 নির্ধারণ করা হয়, 80 এর উপরে আরএসআই -2 নির্ধারণ করা হয়।
সূচক মান একটি যৌগিক সংকেত ট্রিগার প্রাপ্ত করতে যোগ করা হয়। যদি ট্রিগার >= 7, একটি দীর্ঘ সংকেত উত্পন্ন হয়। যদি ট্রিগার <= -7, একটি সংক্ষিপ্ত সংকেত উত্পন্ন হয়।
একাধিক সূচক থেকে সংকেত একত্রিত করে, কৌশলটি প্রবণতার দিকটি আরও সঠিকভাবে নির্ধারণ করতে পারে এবং নির্ভরযোগ্য ট্রেডিং সংকেত তৈরি করতে পারে।
এই মাল্টি-ইন্ডিক্টর কৌশলটির মূল সুবিধা হল এটি একাধিক সূচকের শক্তিকে একত্রিত করে আরও ব্যাপক এবং সঠিক মূল্যায়ন করে, পৃথক সূচক থেকে মিথ্যা সংকেত এড়ায়।
বিশেষ করে, এর সুবিধাগুলি হলঃ
একাধিক সূচককে একত্রিত করা আরও নির্ভরযোগ্য প্রবণতা নির্ধারণের ব্যবস্থা করে। পৃথক সূচকগুলি বিভ্রান্তিকর সংকেত দিতে পারে যখন একাধিক সূচকগুলি একে অপরকে যাচাই করতে পারে এবং ত্রুটিগুলি হ্রাস করতে পারে।
বিভিন্ন সূচকগুলি তাদের বৈশিষ্ট্যগুলির উপর ভিত্তি করে একটি প্রবণতার বিভিন্ন পর্যায়ে সনাক্ত করতে পারে। উদাহরণস্বরূপ, প্রবণতা শুরু করার জন্য MACD, ওভারকোপড / ওভারসোল্ড স্ট্যাটাসের জন্য RSI।
বিভিন্ন প্যারামিটার সহ সূচকগুলি বিভিন্ন সময়সীমার বৈশিষ্ট্যগুলি ক্যাপচার করতে পারে। উদাহরণস্বরূপ, দ্রুত এবং ধীর EMA সময়কাল।
প্রতিটি সূচকের ওজন কাস্টমাইজ করা যায়। আরও গুরুত্বপূর্ণ সূচকগুলিকে উচ্চতর ওজন দেওয়া যেতে পারে।
সূচক মিশ্রণ এবং ওজন আরও ভাল পারফরম্যান্সের জন্য ব্যাকটেস্টিংয়ের মাধ্যমে অপ্টিমাইজ করা যেতে পারে।
একাধিক সূচক ব্যবহার করা সত্ত্বেও, কিছু ঝুঁকি বিদ্যমানঃ
সূচকগুলির ভুল সংমিশ্রণ দুর্বলতাগুলি কাজে লাগাতে ব্যর্থ হতে পারে বা দ্বন্দ্ব সৃষ্টি করতে পারে। সূচকগুলির প্রয়োগযোগ্যতার সঠিক বোঝার প্রয়োজন।
অযৌক্তিক ওজন বিতরণ সূচক গুরুত্বকে ভুলভাবে উপস্থাপন করতে পারে। ওজনগুলি পুনরাবৃত্তিমূলক পরীক্ষা এবং সুরক্ষা প্রয়োজন।
একক প্যারামিটার সেট ওভারফিটিং হতে পারে। মাল্টি-টাইমফ্রেম বৈধতা ব্যবহার করা উচিত।
স্ট্যাটিক সূচক ওজন/প্যারামিটার পরিবর্তনশীল বাজারের অবস্থার সাথে মানিয়ে নিতে পারে না। গতিশীল সমন্বয় প্রক্রিয়া প্রয়োজন।
সূচক সংকেতগুলি বিলম্বিত হতে পারে। স্টপ লস টাইমিং নির্ধারণের জন্য অন্যান্য কৌশল ব্যবহার করা উচিত।
একাধিক সূচক থেকে কৌশল জটিলতা বৃদ্ধি পর্যাপ্ত ঐতিহাসিক তথ্য এবং বৃহত্তর পরামিতি মিটিং অসুবিধা প্রয়োজন।
কৌশল উন্নত করার কিছু উপায়:
বর্তমান বাজারের অবস্থার প্রতি সংবেদনশীল কিছু সূচক খুঁজে বের করার জন্য আরও সূচক পরীক্ষা করুন।
বিভিন্ন সময়সীমার মধ্যে প্রবণতা ক্যাপচার করার জন্য সূচক সময়ের অপ্টিমাইজ করুন।
আপেক্ষিক গুরুত্বকে আরও ভালভাবে উপস্থাপন করার জন্য সূচক ওজনগুলি অনুকূলিত করুন।
পরিবর্তনশীল বাজারের অবস্থার সাথে খাপ খাইয়ে নেওয়ার জন্য রিয়েল-টাইমে প্যারামিটার এবং ওজনের অপ্টিমাইজ করার জন্য গতিশীল সমন্বয় যুক্ত করুন।
হ্রাস সীমাবদ্ধ করার জন্য যুক্তিসঙ্গত স্টপ লস পয়েন্ট সহ স্টপ লস কৌশল অন্তর্ভুক্ত করুন।
একক টাইমফ্রেমে অতিরিক্ত ফিটিং এড়াতে মাল্টি-টাইমফ্রেম ভ্যালিডেশন যুক্ত করুন।
সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পেতে ধাপে ধাপে এবং সংমিশ্রণ অপ্টিমাইজেশান ব্যবহার করুন।
আরও স্মার্ট গতিশীল সূচক ওজন জন্য মেশিন লার্নিং যোগ করুন।
ট্রেডিং প্রবণতা ট্র্যাকিং এবং ওভারট্রেডিং এড়ানোর ভারসাম্য বজায় রাখতে প্রবেশ এবং প্রস্থান লজিককে অনুকূল করুন।
মাল্টি-ইন্ডিকেটর ইএমএ কৌশলটি বাজারের প্রবণতার দিকনির্দেশ নির্ধারণ এবং ট্রেডিং সংকেত তৈরি করতে ইএমএ, এমএসিডি, আরএসআই এবং আরও অনেক কিছুর সম্মিলিত শক্তি ব্যবহার করে। একক সূচক কৌশলগুলির তুলনায়, এটি আরও বিস্তৃত বাজার বিশ্লেষণ সরবরাহ করে এবং মিথ্যা সংকেত হ্রাস করে। প্যারামিটার টিউনিংয়ের মতো আরও অপ্টিমাইজেশনের সাথে এটি জটিল পরিবর্তিত বাজারের অবস্থার সাথে খাপ খাইয়ে নেওয়া যায়। সামগ্রিকভাবে, মাল্টি-ইনডিকেটর ইএমএ কৌশলটি একটি অত্যন্ত কার্যকর প্রবণতা অনুসরণকারী কৌশল।
/*backtest start: 2023-08-28 00:00:00 end: 2023-09-27 00:00:00 period: 4h basePeriod: 15m 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/ // © ally17 //@version=4 // strategy("ELIA MULTI STRATEGY",overlay=true,initial_capital=1000, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.00, default_qty_value=25) //INPUT start = timestamp(input(2021, "start year"), 1, 1, 00, 00) end = timestamp(input(9999, "end year"), 1, 1, 00, 00) emalen=input(80, title="Ema Len") macdfast=input(12, title="Macd Fast Len") macdslow=input(26, title="Macd Fast Len") macdsig=input(12, title="Macd Signal Len") occlen=input(15, title="Occ Len") rsilen=input(2, title="Rsi Len") stochklen=input(11, title="Stk K Len") stochdlen=input(3, title="Stk D Len") stochlen=input(3, title="Stk Smooth Len") bblength = input(10, minval=1, title="BB Len") mult = input(2.0, minval=0.001, maxval=50, title="BB Std Dev") momlen=input(10, title="Mom Len") //CALCOLI var trigger = 0.0 var emavar = 0.0 var macdvar = 0.0 var occvar = 0.0 var rsivar = 0.0 var stochvar = 0.0 var bbvar = 0.0 var donvar =0.0 ema = ema(close,emalen) [macdLine, signalLine, histLine] = macd(close, 12, 26, 9) // MACD occ = ema(close,occlen) - ema(open,occlen) rsi = rsi(close, rsilen) // RSI stoch = sma(stoch(close, high, low, stochklen), stochlen) // Stoch basis = sma(close, bblength) dev = mult * stdev(close, bblength) upper = basis + dev lower = basis - dev moment = mom(close, momlen) // Momentum Obv = obv // OBV //PLOT //STRATEGIA emavar := (close>ema)? 3 : -3 macdvar := (macdLine>signalLine)? 3 : -3 occvar := (occ>0)? 3 : -3 rsivar := (rsi<20)? 2 : (rsi>50 and rsi<80)? 1 : (rsi>80)? -2 : (rsi<50 and rsi>20)? -1 : 0 stochvar := (stoch<20)? 2 : (stoch>80)? -2 : 0 bbvar := (close<lower)? 2 : (close>upper)? -2 : 0 trigger := emavar+macdvar+occvar+rsivar+stochvar+bbvar longcondition = trigger>=7 closelong = trigger<3 shortcondition = trigger<=-7 closeshort = trigger >-3 trendcolor = longcondition ? color.green : shortcondition? color.red : (trigger>3 and trigger<7)? #A2E1BF : (trigger<-3 and trigger>-7)? #E19997 : na bgcolor(trendcolor, transp=80) if time > start and time < end if longcondition strategy.entry("LONG", long=strategy.long) if closelong strategy.close("LONG", comment="CLOSE LONG") if time > start and time < end if shortcondition strategy.entry("SHORT", long=strategy.short) if closeshort strategy.close("SHORT", comment="CLOSE SHORT") //plotshape(longcondition, color=color.green, text="L", size=size.small, style=shape.triangledown) //plotshape(shortcondition, color=color.red, "S"(trigger), size=size.small, style=shape.triangledown) //plotshape(closelong, color=color.purple, text="LC", size=size.small, style=shape.triangledown) //plotshape(closeshort, color=color.purple, text="SC", size=size.small, style=shape.triangledown)