একটি দ্রুত EMA এবং একটি ধীর EMA গণনা করুন। দ্রুত EMA এর জন্য ডিফল্ট পরামিতি 12 এবং ধীর EMA এর জন্য 25। এগুলি বাজারের বৈশিষ্ট্য এবং ট্রেডিং ফ্রিকোয়েন্সির উপর ভিত্তি করে সামঞ্জস্য করা যেতে পারে।
বাউলিশ/বেয়ারিশ ট্রেন্ড নির্ধারণ করুনঃ
প্রবণতা নিশ্চিতকরণঃ একটি উত্থান / হ্রাস সংকেত প্রদর্শিত হওয়ার পরে, প্রবণতা নিশ্চিত করতে পরপর 2 টি উত্থান / হ্রাস মোমবাতি প্রয়োজন। এটি মিথ্যা সংকেতগুলি ফিল্টার করতে সহায়তা করে।
স্টোকাস্টিক আরএসআই ব্যবহার করুন একটি সহায়ক রায় হিসাবেঃ
বিভিন্ন সময়কালের দুটি EMA ব্যবহার করে, কৌশলটি প্রবণতা ক্যাপচারের সংবেদনশীলতা এবং নির্ভরযোগ্যতাকে আরও ভালভাবে ভারসাম্য করতে পারে। বিশ্লেষণ দেখায় যে 12/25 সময়ের EMA সংমিশ্রণটি মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতার জন্য ভাল সম্পাদন করে।
প্রবণতা নিশ্চিতকরণ প্রক্রিয়া কার্যকরভাবে বেশিরভাগ মিথ্যা সংকেত ফিল্টার করতে পারে এবং জয়ের হার উন্নত করতে পারে।
স্টোকাস্টিক আরএসআই একটি সহায়ক বিচার হিসাবে কাজ করে, প্রাথমিক পর্যায়ে প্রবণতার শক্তি মূল্যায়ন করতে এবং শেষ পর্যায়ে সম্ভাব্য বিপরীতমুখী সতর্কতা দিতে সহায়তা করে।
কৌশলগত যুক্তিটি সহজ, কয়েকটি পরামিতি সহ, এটি বোঝা এবং বাস্তবায়ন করা সহজ করে তোলে। এটি বিভিন্ন বাজার এবং সরঞ্জামগুলিতেও প্রযোজ্য।
ইএমএগুলি হ'ল পিছিয়ে থাকা সূচক এবং প্রবণতা বিপরীত হওয়ার শুরুতে উল্লেখযোগ্য স্লিপিংয়ের কারণ হতে পারে।
প্রবণতা অনুসরণকারী কৌশলগুলি সাধারণত অস্থির বাজারে দুর্বল হয়। এই কৌশলটির পরিসীমা-বদ্ধ অবস্থার জন্য নির্দিষ্ট বিচার নেই।
স্টোকাস্টিক আরএসআই বাজারের চরম অস্থিরতার সময় বিভ্রান্তিকর সংকেত তৈরি করতে পারে, যা বিচার মানকে প্রভাবিত করে।
স্থির পরামিতিগুলি সমস্ত বাজারের অবস্থার সাথে মানিয়ে নিতে পারে না, বাজারের বৈশিষ্ট্যগুলির উপর ভিত্তি করে গতিশীল সমন্বয় প্রয়োজন।
ইএমএ প্যারামিটারগুলিকে গতিশীলভাবে সামঞ্জস্য করতে এবং বিভিন্ন বাজারের গতির সাথে মানিয়ে নিতে এটিআর-এর মতো অস্থিরতা সূচক প্রবর্তন করা।
ব্যাপ্তি-সীমাবদ্ধ বাজারগুলির জন্য বিচার যোগ করুন, যেমন বোলিংজার ব্যান্ডের প্রস্থের সংমিশ্রণ, অস্থির অবস্থার মধ্যে ঘন ঘন ট্রেড এড়ানোর জন্য।
সিগন্যাল নির্ভরযোগ্যতা উন্নত করতে স্টোকাস্টিক আরএসআই-এর উপরে আরও সহায়ক মানদণ্ড অন্তর্ভুক্ত করুন, যেমন ভলিউমের পরিবর্তন।
বাজারের সংশ্লিষ্টতা বিবেচনা করুন এবং সিস্টেমের ঝুঁকি প্রতিরোধ ক্ষমতা বাড়ানোর জন্য মাল্টি-অ্যাসেট ইন্টারমার্কেট সিগন্যাল প্রবর্তন করুন।
এই কৌশলটি প্রবণতা অনুসরণ এবং গতি বিপরীত উপর ভিত্তি করে একটি মাঝারি থেকে দীর্ঘমেয়াদী ট্রেডিং পদ্ধতির গঠনের জন্য ইএমএ এবং স্টোকাস্টিক আরএসআই এর শক্তি কার্যকরভাবে ব্যবহার করে। এটি ইএমএ ক্রসওভারের মাধ্যমে প্রবণতা ক্যাপচার করে, স্টোকাস্টিক আরএসআই এর সাথে প্রবণতা শক্তি নিশ্চিত করে এবং বিপরীতের সতর্ক করে এবং প্রবণতা নিশ্চিতকরণ প্রক্রিয়াগুলির সাথে সংকেতের গুণমান উন্নত করে। তিনটি উপাদান একটি সহজ এবং কার্যকর পরিমাণগত ট্রেডিং কৌশল কাঠামো তৈরি করতে জৈবিকভাবে একত্রিত হয়। এর প্রধান সুবিধা হ'ল এর সংক্ষিপ্ত যুক্তি, কয়েকটি পরামিতি, কম বাস্তবায়ন অসুবিধা এবং বিস্তৃত প্রয়োগযোগ্যতা। তবে কৌশলটির মধ্যে বড় স্লিপ এবং অস্থির বাজারে অভিযোজিত হওয়ার অক্ষমতা যেমন অন্তর্নিহিত সীমাবদ্ধতা রয়েছে। ভবিষ্যতের উন্নতিগুলি গতিশীল পরামিতি অপ্টিমাইজেশান, আরও সহায়ক মানদণ্ড প্রবর্তন এবং আন্তঃ-বাজার লিঙ্ক প্রক্রিয়া তৈরিতে মনোনিবেশ করতে পারে। সামগ্রিকভাবে
/*backtest start: 2023-03-02 00:00:00 end: 2024-03-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('[Jacky] Trader XO Macro Trend Scanner', overlay=true) // Variables var ok = 0 var countBuy = 0 var countSell = 0 src = input(close, title='OHLC Type') i_fastEMA = input(12, title='Fast EMA') i_slowEMA = input(25, title='Slow EMA') i_defEMA = input(25, title='Consolidated EMA') // Allow the option to show single or double EMA i_bothEMAs = input(title='Show Both EMAs', defval=true) // Define EMAs v_fastEMA = ta.ema(src, i_fastEMA) v_slowEMA = ta.ema(src, i_slowEMA) v_biasEMA = ta.ema(src, i_defEMA) // Color the EMAs emaColor = v_fastEMA > v_slowEMA ? color.green : v_fastEMA < v_slowEMA ? color.red : #FF530D // Plot EMAs plot(i_bothEMAs ? na : v_biasEMA, color=emaColor, linewidth=3, title='Consolidated EMA') plot(i_bothEMAs ? v_fastEMA : na, title='Fast EMA', color=emaColor) plot(i_bothEMAs ? v_slowEMA : na, title='Slow EMA', color=emaColor) // Colour the bars buy = v_fastEMA > v_slowEMA sell = v_fastEMA < v_slowEMA if buy countBuy += 1 countBuy if buy countSell := 0 countSell if sell countSell += 1 countSell if sell countBuy := 0 countBuy buysignal = countBuy < 2 and countBuy > 0 and countSell < 1 and buy and not buy[1] sellsignal = countSell > 0 and countSell < 2 and countBuy < 1 and sell and not sell[1] barcolor(buysignal ? color.green : na) barcolor(sellsignal ? color.red : na) // Strategy backtest if (buysignal) strategy.entry("Buy", strategy.long) if (sellsignal) strategy.entry("Sell", strategy.short) // Plot Bull/Bear plotshape(buysignal, title='Bull', text='Bull', style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), textcolor=color.new(color.black, 0), size=size.tiny) plotshape(sellsignal, title='Bear', text='Bear', style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.black, 0), size=size.tiny) bull = countBuy > 1 bear = countSell > 1 barcolor(bull ? color.green : na) barcolor(bear ? color.red : na) // Set Alerts alertcondition(ta.crossover(v_fastEMA, v_slowEMA), title='Bullish EMA Cross', message='Bullish EMA crossover') alertcondition(ta.crossunder(v_fastEMA, v_slowEMA), title='Bearish EMA Cross', message='Bearish EMA Crossover') // Stoch RSI code smoothK = input.int(3, 'K', minval=1) smoothD = input.int(3, 'D', minval=1) lengthRSI = input.int(14, 'RSI Length', minval=1) lengthStoch = input.int(14, 'Stochastic Length', minval=1) rsi1 = ta.rsi(src, lengthRSI) k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = ta.sma(k, smoothD) bandno0 = input.int(80, minval=1, title='Upper Band', group='Bands (change this instead of length in Style for Stoch RSI colour to work properly)') bandno2 = input.int(50, minval=1, title='Middle Band', group='Bands (change this instead of length in Style for Stoch RSI colour to work properly)') bandno1 = input.int(20, minval=1, title='Lower Band', group='Bands (change this instead of length in Style for Stoch RSI colour to work properly)') // Alerts crossoverAlertBgColourMidOnOff = input.bool(title='Crossover Alert Background Colour (Middle Level) [ON/OFF]', group='Crossover Alerts', defval=false) crossoverAlertBgColourOBOSOnOff = input.bool(title='Crossover Alert Background Colour (OB/OS Level) [ON/OFF]', group='Crossover Alerts', defval=false) crossoverAlertBgColourGreaterThanOnOff = input.bool(title='Crossover Alert >input [ON/OFF]', group='Crossover Alerts', defval=false) crossoverAlertBgColourLessThanOnOff = input.bool(title='Crossover Alert <input [ON/OFF]', group='Crossover Alerts', defval=false) maTypeChoice = input.string('EMA', title='MA Type', group='Moving Average', options=['EMA', 'WMA', 'SMA', 'None']) maSrc = input.source(close, title='MA Source', group='Moving Average') maLen = input.int(200, minval=1, title='MA Length', group='Moving Average') maValue = if maTypeChoice == 'EMA' ta.ema(maSrc, maLen) else if maTypeChoice == 'WMA' ta.wma(maSrc, maLen) else if maTypeChoice == 'SMA' ta.sma(maSrc, maLen) else 0 crossupCHECK = maTypeChoice == 'None' or open > maValue and maTypeChoice != 'None' crossdownCHECK = maTypeChoice == 'None' or open < maValue and maTypeChoice != 'None' crossupalert = crossupCHECK and ta.crossover(k, d) and (k < bandno2 or d < bandno2) crossdownalert = crossdownCHECK and ta.crossunder(k, d) and (k > bandno2 or d > bandno2) crossupOSalert = crossupCHECK and ta.crossover(k, d) and (k < bandno1 or d < bandno1) crossdownOBalert = crossdownCHECK and ta.crossunder(k, d) and (k > bandno0 or d > bandno0) aboveBandalert = ta.crossunder(k, bandno0) belowBandalert = ta.crossover(k, bandno1) bgcolor(color=crossupalert and crossoverAlertBgColourMidOnOff ? #4CAF50 : crossdownalert and crossoverAlertBgColourMidOnOff ? #FF0000 : na, title='Crossover Alert Background Colour (Middle Level)', transp=70) bgcolor(color=crossupOSalert and crossoverAlertBgColourOBOSOnOff ? #fbc02d : crossdownOBalert and crossoverAlertBgColourOBOSOnOff ? #000000 : na, title='Crossover Alert Background Colour (OB/OS Level)', transp=70) bgcolor(color=aboveBandalert and crossoverAlertBgColourGreaterThanOnOff ? #ff0014 : crossdownalert and crossoverAlertBgColourMidOnOff ? #FF0000 : na, title='Crossover Alert - K > Upper level', transp=70) bgcolor(color=belowBandalert and crossoverAlertBgColourLessThanOnOff ? #4CAF50 : crossdownalert and crossoverAlertBgColourMidOnOff ? #FF0000 : na, title='Crossover Alert - K < Lower level', transp=70) alertcondition(crossupalert or crossdownalert, title='Stoch RSI Crossover', message='STOCH RSI CROSSOVER')