এই কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য ইম্পোমেন্টাম স্মুথ মুভিং এভারেজ লাইন (এএলএমএ) এবং দুটি এক্সপোনেনশিয়াল মুভিং এভারেজ লাইন (ইএমএ) এর ক্রসওভার ব্যবহার করে। একই সাথে, কৌশলটি অত্যধিক কেনা বেচা এড়াতে স্টোকাস্টিক আরএসআইকেও অন্তর্ভুক্ত করে।
কৌশলটি মূল্যের প্রবণতা বিচার করার জন্য ALMA কে প্রধান সূচক হিসাবে ব্যবহার করে। ALMA এর মূল্যের ডেটা মসৃণ করার কার্যকারিতা রয়েছে এবং দামের এলোমেলো অস্থিরতা ফিল্টার করতে পারে। ALMA এর সময়কাল, অফসেট মান এবং সিগমা পরামিতিগুলি সামঞ্জস্য করে এটিকে আরও সংবেদনশীল বা স্থিতিশীল করা যেতে পারে। যখন দাম বৃদ্ধি পায়, ALMA সবুজ দেখায়, এবং যখন দাম কমে যায়, ALMA লাল দেখায়।
কৌশলটি বিভিন্ন দৈর্ঘ্যের দুটি ইএমএ লাইন ব্যবহার করে। যখন দ্রুত ইএমএ লাইন ধীর ইএমএ লাইনের উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন দ্রুত ইএমএ লাইন ধীর ইএমএর নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। ইএমএ ক্রসওভারের ভাল প্রবণতা বিচার করার ক্ষমতা রয়েছে। দ্রুত এবং ধীর ইএমএর সময়কাল বিভিন্ন ট্রেডিং জাত এবং চক্রের সাথে খাপ খাইয়ে নেওয়ার জন্য পরামিতিগুলির মাধ্যমে সামঞ্জস্য করা যেতে পারে।
স্টোকাস্টিক আরএসআই সূচকটির ভূমিকা হ'ল ওভারকোপড এবং ওভারসোল্ড অঞ্চলে ট্রেডিং সংকেত প্রকাশ করা এড়ানো। এটি আরএসআই এবং স্টোকাস্টিক সূচক উভয়ের সুবিধাগুলি একত্রিত করে, এবং শিখর এবং নীচের অঞ্চলগুলি আরও ভালভাবে নির্ধারণ করতে পারে। যখন স্টোকাস্টিক আরএসআই সূচকটি ওভারকোপড বা ওভারসোল্ড হয়, তখন কৌশলটি বিদ্যমান দীর্ঘ বা সংক্ষিপ্ত অর্ডার বাতিল করবে।
এই কৌশলটি প্রবণতা ট্রেডিং বাস্তবায়নের জন্য প্রধান দীর্ঘ এবং সংক্ষিপ্ত সুযোগগুলি সনাক্ত করার জন্য ALMA সূচকের সাথে মিলিত, মূল্য প্রবণতার দিক নির্ধারণের জন্য EMA ক্রসওভারকে সম্পূর্ণরূপে ব্যবহার করে।
EMA এবং ALMA পরামিতিগুলির সময়কাল সামঞ্জস্যযোগ্য স্থান সরবরাহ করে। ব্যবহারকারীরা বিভিন্ন বাজারের পরিবেশে কৌশলটিকে আরও ভালভাবে অভিযোজিত করতে তাদের প্রয়োজন অনুসারে পরামিতিগুলি অনুকূল করতে পারেন।
কৌশলটিতে অন্তর্নির্মিত স্টপ লস এবং লাভের সেটিংস রয়েছে। ভাসমান স্টপ লস ব্যবহার করে স্টপ লসের তাড়া করার সম্ভাবনা হ্রাস করতে পারে; লাভ গ্রহণের সেটিংস লাভকে লক করতে পারে এবং মুনাফা স্পুট করা এড়াতে পারে।
জটিল বাজারে, ইএমএ এবং এলএমএ লাইন ভুল সংকেত দিতে পারে।
যদি পরামিতিগুলি ভুলভাবে সেট করা হয়, তাহলে ইএমএ এবং এলএমএ লাইন সঠিকভাবে কাজ করতে পারে না, যা ট্রেডিং ঝুঁকি বাড়িয়ে তুলবে। সেরা পরামিতি সমন্বয় নির্বাচন করার জন্য পরীক্ষা এবং অপ্টিমাইজেশান প্রয়োজন।
সর্বোত্তম পরামিতি নির্বাচন করার জন্য EMA এবং ALMA এর পরামিতি সেটিং পরীক্ষা করুন এবং অপ্টিমাইজ করুন।
সিগন্যালগুলি ফিল্টার করতে এবং ভুল সিগন্যালগুলির কারণে ক্ষতি এড়াতে অন্যান্য সূচকগুলি অন্তর্ভুক্ত করুন। যেমন এমএসিডি, কেডিজে ইত্যাদি।
ঝুঁকি নিয়ন্ত্রণ এবং লাভজনকতার মধ্যে ভারসাম্য খুঁজে বের করার জন্য স্টপ লস আকারকে অনুকূল করুন।
কৌশলটি আরও বেশি বাজারে প্রয়োগ করার জন্য বিভিন্ন জাত এবং চক্রের পরামিতি পরীক্ষা করুন।
সামগ্রিকভাবে, এটি একটি সহজ এবং ব্যবহারিক প্রবণতা ট্র্যাকিং কৌশল। এটি প্রবণতা দিক নির্ধারণের জন্য ইএমএ ক্রসওভার, অ্যাড-অন পয়েন্টগুলি সনাক্ত করতে ALMA সূচক, ওভারকপ এবং ওভারসোল্ডের ঝুঁকি এড়াতে স্টোকাস্টিক আরএসআই ব্যবহার করে, ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস এবং লাভ গ্রহণ সেট করে। প্যারামিটার সমন্বয় এবং সূচক অপ্টিমাইজেশনের মাধ্যমে, এই কৌশলটি ভাল ফলাফল অর্জন করতে পারে। এটি বোঝা এবং ব্যবহার করা সহজ, এবং একটি নির্দিষ্ট অভিযোজনযোগ্যতাও রয়েছে।
/*backtest start: 2022-11-20 00:00:00 end: 2023-11-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 ////Arranged by @ClassicScott //Strategy Created by @CheatCode1 strategy('ALMA/EMA Strategy', shorttitle='ALMA/EMA Strategy', overlay=true ) ////Source Selection & ALMA Variables //Dominant Momentum ALMA dsource = input.source(close, title='Source', group='Dominant ALMA') dperiod = input.int(title='Period', defval=130, group='Dominant ALMA') doffset = input.float(title='Offset', step=0.025, defval=0.775, group='Dominant ALMA') dsigma = input.float(title='Sigma', step=0.5, defval=4.5, group='Dominant ALMA') dalma = ta.alma(dsource, dperiod, doffset, dsigma) dalma_up_color = input.color(#66bb6a, 'Going Up!', group='Dominant ALMA', inline = '1') dalma_down_color = input.color(#ef5350, 'Going Down :(', group='Dominant ALMA', inline = '1') dcolor = close[1] > dalma ? dalma_up_color : dalma_down_color ////ALMA Plots plot(dalma, color=dcolor, style=plot.style_stepline, linewidth=2, title='Dominant Momentum MA') //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 cheatcode = input.bool(true, '-----------CHEATC0DE1------------', group = 'Strategy Inputs', confirm = true) //Variable Declerations/Plot Assingments inp1 = input.int(49, 'Slow Ema Length', 1, 100, group = 'Strategy Inputs', confirm = true) inp2 = input.int(9, 'Fast Ema Length', 1, 200, group = 'Strategy Inputs', confirm = true) inp3 = int(200) sma1 = ta.sma(close, inp3) ema1 = ta.ema(close, inp1) ema2 = ta.ema(close, inp2) eplot1 = plot(ema1, 'Slow Ema', color.aqua, 1, plot.style_linebr) eplot2 = plot(ema2, 'Fast Ema', color.yellow, 1, plot.style_linebr) splot1 = plot(sma1, 'Long MA', close[1] < sma1 ? color.red:color.green, 1, plot.style_line, display = display.none) cross1 = ta.crossover(ema1, ema2) cross2 = ta.crossunder(ema1, ema2) plotchar(cross1, '', '↑', location.belowbar, close[1] > dalma and dalma > sma1 ? na:color.green, size = size.normal, editable = false) plotchar(cross2, '', '↓', location.abovebar, close[1] < dalma and dalma < sma1 ? na:color.red, size = size.normal, editable = false) bgcolor(cross1 and close[1] > dalma ? color.new(color.green, 80):cross2 and close[1] < dalma ? color.new(color.red, 80):na) valueL = ta.valuewhen(cross1 and close[1] > dalma, close, 0) valueS = ta.valuewhen(cross2 and close[1] < dalma, close, 0) //Entries if cross1 and close[2] > dalma[2] and close[1] > dalma[1] strategy.entry('Long', strategy.long) if cross2 and close[2] < dalma[2] and close[1] < dalma[1] strategy.entry('Short', strategy.short) //StochRsi smoothK = input.int(3, "K", minval=1) smoothD = input.int(15, "D", minval=1) lengthRSI = input.int(14, "RSI Length", minval=1) lengthStoch = input.int(8, "Stochastic Length", minval=1) src = input(close, title="RSI Source") rsi1 = ta.rsi(src, lengthRSI) k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = ta.sma(k, smoothD) //Cancellations if k > 75 strategy.cancel('Long') if k < 25 strategy.cancel('Short') //Closures if ta.crossunder(k, d) and k > 92 strategy.close('Long') if ta.crossover(k,d) and k < 8 strategy.close('Short') //Exit Percents takeP = input.float(3, title='Take Profit', group = 'Take Profit and Stop Loss') / 100 stopL = input.float(5.49, title = 'Stop Loss', group = 'Take Profit and Stop Loss')/100 // Pre Directionality Stop_L = strategy.position_avg_price * (1 - stopL) Stop_S = strategy.position_avg_price * (1 + stopL) Take_S= strategy.position_avg_price * (1 - takeP) Take_L = strategy.position_avg_price * (1 + takeP) //Post Excecution if strategy.position_size > 0 strategy.exit("Flat", limit=Take_L, stop = Stop_L) if strategy.position_size < 0 strategy.exit("Flat", limit=Take_S, stop = Stop_S)