ডাবল ইএমএ ক্রসওভার সিস্টেম হল দুইটি এক্সপোনেন্সিয়াল মুভিং এভারেজ (ইএমএ) এর উপর ভিত্তি করে একটি ট্রেডিং সিস্টেম। এটি বর্তমান প্রবণতার দিক নির্ধারণ এবং সেই অনুযায়ী ট্রেডিং সংকেত তৈরি করতে বিভিন্ন সময়ের সাথে দুটি ইএমএ ব্যবহার করে। এর সহজ যুক্তি এবং সহজ বাস্তবায়নের সাথে, এই সিস্টেমটি বাজারের প্রবণতা কার্যকরভাবে ক্যাপচার করতে পারে এবং মাঝারি থেকে দীর্ঘমেয়াদী ব্যবসায়ীদের জন্য উপযুক্ত।
এই ব্যবস্থার মূলটি দুটি ইএমএর উপর নির্ভর করে, একটি দ্রুততম ইএমএ এবং একটি ধীরতম ইএমএ। যখন দ্রুততম ইএমএ ধীরতম ইএমএর উপরে থাকে, তখন এটি উত্থান বলে মনে করা হয়। যখন দ্রুততম ইএমএ ধীরতম ইএমএর নীচে থাকে, তখন এটি হ্রাস বলে মনে করা হয়।
উভয় EMA-র সাথে মূল্যের সম্পর্কের ভিত্তিতে, বারগুলিকে বিভিন্ন ট্রেডিং জোনে শ্রেণীবদ্ধ করা যেতে পারেঃ
যখন দ্রুত EMA ধীর EMA এর উপরে থাকে এবং দাম দ্রুত EMA (G1) এর উপরে থাকে, তখন এটি একটি শক্তিশালী কিনুন অঞ্চল, এখানে একটি দীর্ঘ অবস্থান নেওয়া যেতে পারে।
যখন দ্রুত EMA ধীর EMA এর নিচে থাকে এবং দাম দ্রুত EMA (R1) এর নিচে থাকে, তখন এটি একটি শক্তিশালী বিক্রয় অঞ্চল, এখানে একটি শর্ট পজিশন নেওয়া যেতে পারে।
যখন দুটি EMA অতিক্রম করে, তখন সতর্কতা (হলুদ) এবং রূপান্তর (অরেঞ্জ) অঞ্চলগুলি দুটি EMA এর সাথে মূল্যের সম্পর্কের ভিত্তিতে নির্ধারিত হয়। এই অঞ্চলগুলি সম্ভাব্য প্রবণতা পরিবর্তনকে নির্দেশ করে এবং অতিরিক্ত সূচক ব্যবহার করে সতর্কতার সাথে ব্যবসা করা উচিত।
ট্রেডিং সিগন্যালগুলি উত্পন্ন হয় যখন মূল্য বিভিন্ন অঞ্চলে চলে। শক্তিশালী অঞ্চল জি 1 এবং আর 1 এ, সিগন্যালগুলি সরাসরি নেওয়া যেতে পারে। সতর্কতা এবং রূপান্তর অঞ্চলগুলিতে, অতিরিক্ত সূচক নিশ্চিতকরণের প্রয়োজন হয়।
স্টোকআরএসআই সম্ভাব্য প্রবেশ এবং প্রস্থান পয়েন্টগুলি সনাক্ত করতে সহায়তা করার জন্যও বাস্তবায়িত হয়। স্টোকআরএসআই থেকে ওভারসোল্ড এবং ওভারক্রয়েড রিডিংগুলি অতিরিক্ত কিনতে এবং বিক্রয় সংকেত সরবরাহ করতে পারে।
সহজ এবং পরিষ্কার যুক্তি যা বোঝা এবং বাস্তবায়ন করা সহজ
মধ্যম ও দীর্ঘমেয়াদী প্রবণতা কার্যকরভাবে ধরা
সতর্কতা / রূপান্তর অঞ্চল থেকে শক্তিশালী অঞ্চলগুলি আলাদা করে, নির্ভরযোগ্য বাণিজ্য সংকেত উত্পাদন করে
স্টকআরএসআই-এর অন্তর্ভুক্তি প্রবেশ ও প্রস্থানের সময়সীমা আরও উন্নত করে
একটি বিশুদ্ধ প্রবণতা অনুসরণকারী সিস্টেম হিসাবে, কর্মক্ষমতা অ-প্রবণতা বাজারে ক্ষতিগ্রস্ত হতে পারে
EMA সময়ের অনুপযুক্ত সেটিংস মিথ্যা সংকেত সৃষ্টি করতে পারে
সতর্কতা এবং রূপান্তর অঞ্চলগুলি উচ্চতর বাণিজ্য ঝুঁকি নিয়ে আসে এবং সতর্কতার সাথে আচরণ করা উচিত
স্টপ লস না থাকলে ক্ষতির মাত্রা বাড়তে পারে
নিম্নলিখিত উপায়ে ঝুঁকি হ্রাস করা যেতে পারেঃ
প্রবণতা কম হলে ট্রেডিং বন্ধ করে দেওয়া এবং প্রবণতা বেশি হলে ট্রেডিং বন্ধ করে দেওয়া
মিথ্যা সংকেতকে কমিয়ে আনার জন্য EMA সময়কালকে অপ্টিমাইজ করা
সতর্কতা/পরিৱৰ্তন অঞ্চলে নিশ্চিতকরণের জন্য অতিরিক্ত সূচক প্রবর্তন
ট্রেড প্রতি ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস বাস্তবায়ন
নিম্নলিখিত ক্ষেত্রে এই ব্যবস্থা আরও উন্নত করা যেতে পারে:
সিগন্যাল নিশ্চিতকরণের জন্য এমএসিডি, কেডিজে এর মতো আরও সূচক অন্তর্ভুক্ত করুন
ট্রেডিং সাফল্যের হার বাড়ানোর জন্য ট্রেডিং জোনে ভলিউম সম্প্রসারণের মতো ফিল্টার যুক্ত করুন
অপ্টিমাইজড পরামিতিগুলির জন্য বাজারের অবস্থার উপর ভিত্তি করে গতিশীলভাবে EMA সময়কাল সামঞ্জস্য করুন
নির্দিষ্ট হ্রাস শতাংশে ট্রেড থেকে বেরিয়ে আসার জন্য স্টপ লস কৌশল বাস্তবায়ন করুন
পজিশনের আকার এবং অর্থ ব্যবস্থাপনা অপ্টিমাইজ করুন
সেরা কনফিগারেশন খুঁজে পেতে বিভিন্ন যন্ত্রের মধ্যে পরীক্ষা এবং সূক্ষ্ম সুরের পরামিতি
আরও সিগন্যাল নিশ্চিতকরণ, গতিশীল পরামিতি অপ্টিমাইজেশান, স্টপ লস এবং সঠিক অর্থ ব্যবস্থাপনা প্রবর্তন করে, সিস্টেমের স্থিতিশীলতা উন্নত করা যায় এবং আরও ভাল ফলাফলের জন্য ঝুঁকি হ্রাস করা যায়।
ডাবল ইএমএ ক্রসওভার সিস্টেম হল দুটি ইএমএ তুলনা করার উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী সিস্টেম। এটি প্রবণতার দিক নির্ধারণ এবং ট্রেডিং সংকেত তৈরির জন্য ইএমএগুলির সাথে দামের সম্পর্কের ভিত্তিতে বিভিন্ন ট্রেডিং অঞ্চল সনাক্ত করে। একটি পরিষ্কার যুক্তি এবং সহজ বাস্তবায়ন সহ একটি সিস্টেম হিসাবে, এটি কার্যকরভাবে প্রবণতা ক্যাপচার করতে পারে। যদিও ঝুঁকিগুলি বিদ্যমান রয়েছে, তবে সহায়ক সূচক, গতিশীল অপ্টিমাইজেশন, স্টপ লস এবং অর্থ পরিচালনার মাধ্যমে এগুলি হ্রাস করা যেতে পারে। সামগ্রিকভাবে, ডাবল ইএমএ ক্রসওভার সিস্টেমটি মাঝারি থেকে দীর্ঘমেয়াদী ব্যবসায়ীদের জন্য উপযুক্ত একটি শক্ত প্রবণতা অনুসরণকারী সিস্টেম।
/*backtest start: 2023-01-01 00:00:00 end: 2023-10-25 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/ // © Vvaz_ //base-on CDC ActionZone By Piriya a simple 2EMA and is most suitable for use with medium volatility market //@version=4 strategy(title="Vin's Playzone" ,shorttitle="VPz", overlay=true, margin_long=4, margin_short=2) //variable srcf = input(title="Source",type=input.source,defval=close) tffix = input(title="Fixed Timeframe",type=input.bool,defval=true) tfn = input(title="Timeframe in",type=input.resolution,defval="D") ema1 = input(title="Fast EMA",type=input.integer,defval=12) ema2 = input(title="Slow EMA",type=input.integer,defval=26) ema3 = input(title="EMA 100",type=input.bool,defval=true) smooter =input(title="Smoothing period (1 = no smoothing)",type=input.integer,defval=2) fillbar =input(title="Fill Bar Color",type=input.bool,defval=true) emasw = input(title="Show EMA",type=input.bool,defval=true) bssw = input(title="Show Buy-Sell signal",type=input.bool,defval=true) plotmm = input(title="Show Buy-Sell Momentum",type=input.bool,defval=true) plotmmsm = input(title="RSI Smoothing",type=input.integer,defval=0,minval=0,maxval=2) //math xcross =ema(srcf,smooter) efast = tffix ? ema(security(syminfo.tickerid,tfn,ema(srcf,ema1), gaps = barmerge.gaps_off,lookahead = barmerge.lookahead_on),smooter) :ema(xcross,ema1) eslow = tffix ? ema(security(syminfo.tickerid,tfn,ema(srcf,ema2), gaps = barmerge.gaps_off,lookahead = barmerge.lookahead_on),smooter) :ema(xcross,ema2) ema3x = ema(xcross,100) //Zone Bull = efast > eslow Bear = efast < eslow G1 = Bull and xcross > efast //buy G2 = Bear and xcross > efast and xcross > eslow //pre-buy1 G3 = Bear and xcross > efast and xcross < eslow //pre-buy2 R1 = Bear and xcross < efast //sell R2 = Bull and xcross < efast and xcross < eslow //pre-sell1 R3 = Bull and xcross < efast and xcross > eslow //pre-sell2 //color bcl = G1 ? color.green : G2 ? color.yellow : G3 ? color.orange :R1 ? color.red :R2 ? color.orange : R3 ? color.yellow : color.black barcolor(color=fillbar ? bcl : na ) //plots line1 = plot(ema3 ? ema3x : na ,"EMA100",color=color.white) line2 = plot(emasw ? efast : na ,"Fast EMA",color=color.green) line3 = plot(emasw ? eslow : na ,"Slow EMA",color=color.red) fillcl = Bull ? color.green : Bear ? color.red : color.black fill(line2,line3,fillcl) //actions buywhen = G1 and G1[1]==0 sellwhen = R1 and R1[1]==0 bullish = barssince(buywhen) < barssince(sellwhen) bearish = barssince(sellwhen) < barssince(buywhen) buy = bearish[1] and buywhen sell = bullish[1] and sellwhen bullbearcl = bullish ? color.green : bearish ? color.red : color.black //plot trend plotshape(bssw ? buy : na ,style=shape.arrowup,title="BUY",location=location.belowbar,color=color.green) plotshape( bssw ? sell : na ,style=shape.arrowdown ,title="Sell",location=location.abovebar,color=color.red) // Momentum Signal using StochRSI smoothK = input(5,"StochRSI smooth K",type=input.integer,minval=1) smoothD = input(4,"StochRSI smooth D",type=input.integer,minval=1) RSIlen = input(14,"RSI length",type=input.integer,minval=1) STOlen = input(14,"Stochastic length",type=input.integer,minval=1) SRsrc = input(close,"Source for StochasticRSI",type=input.source) OSlel = input(20,"Oversold Threshold",type=input.float,minval=0.00) OBlel = input(80,"Oversold Threshold",type=input.float,minval=0.00) rsil = rsi(SRsrc,RSIlen) K = sma(stoch(rsil,rsil,rsil,STOlen),smoothK) D = sma(K,smoothD) buymore = iff( bullish ,iff(D < OSlel and crossover(K,D), 2, iff(D > OSlel and crossover(K,D), 1,0)),0) sellmore = iff( bearish,iff(D > OBlel and crossunder(K,D), 2, iff(D < OBlel and crossunder(K,D), 1,0)),0) //plot momentum plotshape(plotmm ? buymore > plotmmsm ? buymore : na : na ,"Buy More!" ,style=shape.triangleup,location=location.belowbar,color=color.green) plotshape(plotmm ? sellmore > plotmmsm ? sellmore : na : na ,"Sell More!" ,style=shape.triangledown,location=location.abovebar,color=color.red) // === INPUT BACKTEST RANGE === FromYear = input(defval = 2009, title = "From Year", minval = 2009) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2009) ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" //stratgy excuter strategy.entry("Long",true,when=window() and buy or buymore) strategy.close("Long",when=window() and sell or sellmore,comment="TP Long") strategy.entry("Short",false,when=window() and sell or sellmore) strategy.close("Short",when=window() and buy or buymore,comment="TP Short")