এই কৌশলটি মূল্যের প্রবণতা ট্র্যাক করার জন্য ইএমএ ক্রসওভার গ্রহণ করে। যখন দ্রুত ইএমএ ধীর ইএমএর উপরে অতিক্রম করে তখন এটি দীর্ঘ হয় এবং যখন দ্রুত ইএমএ ধীর ইএমএর নীচে অতিক্রম করে তখন অবস্থান বন্ধ হয়। মূলত সুস্পষ্ট প্রবণতা সহ পণ্যগুলির জন্য উপযুক্ত, কার্যকরভাবে প্রবণতা অনুসরণ করে এবং অতিরিক্ত রিটার্ন অর্জন করে।
এই কৌশলটির মূল সূচক হল ইএমএ। ইএমএ সূত্রটি হলঃ
EMA (t) = C (t) ×2/ (n+1) + EMA (t-1) × (n-1) / (n+1)
যেখানে t হল বর্তমান টিক, C(t) হল বর্তমান বন্ধের মূল্য, এবং n হল N পরামিতির মান। EMA একটি ওজনযুক্ত ফ্যাক্টর সহ একটি চলমান গড় কৌশল, সাম্প্রতিক মূল্যগুলিতে আরও ওজন অর্পণ করে, এইভাবে সর্বশেষ মূল্য পরিবর্তনের প্রতি দ্রুত প্রতিক্রিয়া জানায়।
কৌশলটি দ্রুত এবং ধীর EMA গঠনের জন্য এবং ধীর EMA এর উপরে দ্রুত EMA ক্রসিং কেনার সংকেত হিসাবে এবং ধীর EMA এর নীচে দ্রুত EMA ক্রসিং বিক্রয় সংকেত হিসাবে গ্রহণ করে। উপরে দ্রুত EMA ক্রসিং একটি নতুন রাউন্ডের উত্থানের সূচনা নির্দেশ করে, যখন নীচে দ্রুত EMA ক্রসিং আপসাইড প্রবণতার শেষ এবং একটি pullback এর সূচনা নির্দেশ করে।
এই কৌশলটির সুবিধাগুলো হল:
প্রধান ঝুঁকিগুলি হলঃ
উপরের ঝুঁকি কমাতে নিম্নলিখিত অপ্টিমাইজেশন ব্যবস্থা গ্রহণ করা যেতে পারেঃ
কৌশলটি নিম্নলিখিত দিক থেকে অপ্টিমাইজ করা যেতে পারেঃ
সংক্ষেপে, এটি একটি সহজ এবং ব্যবহারিক প্রবণতা অনুসরণকারী কৌশল যা মূল্যের প্রবণতা বিচার করার জন্য ইএমএ ব্যবহার করে। যুক্তিটি স্পষ্ট এবং বাস্তবায়ন করা সহজ। সুবিধাগুলি প্যারামিটারগুলি সামঞ্জস্য করতে এবং প্রবণতা কার্যকরভাবে অনুসরণ করার সরলতার মধ্যে রয়েছে। অসুবিধাগুলি মিথ্যা সংকেতগুলির জন্য প্রবণ এবং প্রকৃত কর্মক্ষমতা ব্যাকটেস্টের চেয়ে কম পারফর্ম করতে পারে। অপ্টিমাইজেশনের পরবর্তী পদক্ষেপগুলি কৌশলটিকে আরও শক্তিশালী করার জন্য ফিল্টার, গতিশীল প্যারামিটার, মডেল বিল্ডিং যুক্ত করার দিকে মনোনিবেশ করতে পারে।
/*backtest start: 2022-12-20 00:00:00 end: 2023-12-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("EMA交叉策略by GPT", format = format.inherit, overlay = true, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, currency = currency.USD, initial_capital = 1000000) // 定義回測交易開始和結束時間的變數 start_time = input(title="開始時間", type=input.time, defval=timestamp("01 Jan 2020 00:00 +0000")) end_time = input(title="結束時間", type=input.time, defval=timestamp("31 Dec 2050 23:59 +0000")) // 判斷是否在回測交易時間範圍內 in_range = true // Define input variables fast_length = input(title="Fast EMA Length", type=input.integer, defval=5) slow_length = input(title="Slow EMA Length", type=input.integer, defval=20) // Define EMAs fast_ema = ema(close, fast_length) slow_ema = ema(close, slow_length) // Define buy and sell signals buy_signal = crossover(fast_ema, slow_ema) sell_signal = crossunder(fast_ema, slow_ema) // Buy signal if in_range and buy_signal strategy.entry("Buy", strategy.long, when=in_range) // Sell signal if in_range and sell_signal strategy.close("Buy", when=sell_signal)