দ্রুত এবং ধীর EMA গোল্ডেন ক্রস অগ্রগতি কৌশল বাজার প্রবণতা ট্র্যাক করার জন্য একটি সহজ এবং কার্যকর কৌশল। এটি ক্রয় এবং বিক্রয় সংকেত উত্পন্ন করতে বিভিন্ন চক্রের EMA এর ক্রসওভার ব্যবহার করে। মৌলিক ধারণাটি হলঃ যখন স্বল্প চক্র EMA দীর্ঘ চক্র EMA এর উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়; যখন স্বল্প চক্র EMA দীর্ঘ চক্র EMA এর নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।
কৌশলটি মূলত ৫-চক্র, ৮-চক্র এবং ১৩-চক্রের ইএমএগুলির তুলনা করে ট্রেডিং সংকেত তৈরি করে। এর মধ্যে রয়েছেঃ
এটি মাঝারি এবং দীর্ঘমেয়াদী প্রবণতা ট্র্যাকিংয়ের প্রভাব উপলব্ধি করে। যখন সংক্ষিপ্ত চক্র চলমান গড় দীর্ঘ চক্র চলমান গড়ের উপরে অতিক্রম করে, এর অর্থ হল যে স্বল্পমেয়াদী প্রবণতা উত্থানমুখী হয়ে উঠেছে এবং কেনা যেতে পারে; যখন সংক্ষিপ্ত চক্র চলমান গড় দীর্ঘ চক্র চলমান গড়ের নীচে অতিক্রম করে, এর অর্থ হল যে স্বল্পমেয়াদী প্রবণতা bearish হয়ে গেছে এবং বিক্রি করা উচিত।
এই কৌশলটির প্রধান সুবিধাগুলো হল:
এই কৌশলের কিছু ঝুঁকিও রয়েছেঃ
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
সংক্ষেপে, দ্রুত এবং ধীর EMA গোল্ডেন ক্রস ব্রেকথ্রো কৌশলটির অপারেশন মসৃণ, সংকেতগুলি আরও নির্ভরযোগ্য, ড্রডাউনটি উচ্চ নয় এবং এটি মাঝারি এবং দীর্ঘমেয়াদী প্রবণতা ট্র্যাকিংয়ের জন্য উপযুক্ত। প্যারামিটার অপ্টিমাইজেশন এবং উন্নত নিয়মের মাধ্যমে আরও ভাল কৌশল ফলাফল অর্জন করা যেতে পারে।
/*backtest start: 2023-11-23 00:00:00 end: 2023-11-30 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © gregoirejohnb // @It is modified by ttsaadet. // Moving average crossover systems measure drift in the market. They are great strategies for time-limited people. // So, why don't more people use them? // // strategy(title="EMA Crossover Strategy by TTS", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000) // === GENERAL INPUTS === //strategy start date start_year = input(defval=2020, title="Backtest Start Year") // === LOGIC === short_period = input(type=input.integer,defval=5,minval=1,title="Length") mid_period = input(type=input.integer,defval=8,minval=1,title="Length") long_period = input(type=input.integer,defval=13,minval=1,title="Length") rsi_period = input(type=input.integer,defval=14,minval=1,title="Length") longOnly = input(type=input.bool,defval=false,title="Long Only") shortEma = ema(close,short_period) midEma = ema(close,mid_period) longEma = ema(close,long_period) rsi = rsi(close, rsi_period) [diplus, diminus, adx] = dmi(short_period, short_period) plot(shortEma,linewidth=2,color=color.red,title="Fast") plot(midEma,linewidth=2,color=color.orange,title="Fast") plot(longEma,linewidth=2,color=color.blue,title="Slow") longEntry = crossover(shortEma,midEma) and crossover(shortEma,longEma) //or ((shortEma > longEma) and crossover(shortEma,midEma)))and (adx > 25) shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma)) plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle") plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle") plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign") // === STRATEGY - LONG POSITION EXECUTION === enterLong() => longEntry and time > timestamp(start_year, 1, 1, 01, 01) exitLong() => crossunder(shortEma,longEma) or crossunder(close, longEma) strategy.entry(id="Long", long=strategy.long, when=enterLong()) strategy.close(id="Long", when=exitLong()) // === STRATEGY - SHORT POSITION EXECUTION === enterShort() => not longOnly and shortEntry and time > timestamp(start_year, 1, 1, 01, 01) exitShort() => crossover(shortEma,longEma) strategy.entry(id="Short", long=strategy.short, when=enterShort()) strategy.close(id="Short", when=exitShort())