এই কৌশলটি ট্রেডিং সিগন্যাল তৈরির জন্য 20 দিনের চলমান গড় এবং 60 দিনের চলমান গড়ের ক্রসওভার গ্রহণ করে। যখন দাম 20 দিনের এমএ এর উপরে ভেঙে যায় তখন এটি দীর্ঘ হয় এবং যখন দাম 20 দিনের এমএ এর নীচে ভেঙে যায় তখন অবস্থান বন্ধ হয়। একইভাবে, যখন দাম 60 দিনের এমএ অতিক্রম করে তখন এটি ট্রেডিং সিগন্যাল গঠন করে। এই কৌশলটি একটি সাধারণ প্রবণতা অনুসরণকারী সিস্টেমের অন্তর্গত।
উপরের নিয়মগুলি এই কৌশলটির জন্য ট্রেডিং সংকেত এবং যৌক্তিকতা সংজ্ঞায়িত করে। যখন মূল্য এমএ লাইনের ওপরে অতিক্রম করে, এটি দেখায় যে একটি নতুন প্রবণতা উদ্ভূত হচ্ছে এবং আমরা দীর্ঘ যেতে প্রবণতা অনুসরণ করতে পারি। যখন মূল্য এমএ লাইনের নীচে পড়ে, এটি দেখায় যে প্রবণতা শেষ হচ্ছে তাই আমরা অবস্থান বন্ধ করি।
ঝুঁকি সমাধানঃ
এটি একটি সাধারণ দ্বৈত চলমান গড় ক্রসওভার কৌশল। মূল ধারণাটি হ'ল যখন দাম এমএ লাইনের উপরে অতিক্রম করে তখন অবস্থান স্থাপন করে প্রবণতা অনুসরণ করা। কৌশলটি বাস্তবায়ন করা সহজ এবং ব্যবহারিক। এদিকে, আরও ভাল ফলাফল অর্জনের জন্য প্যারামিটার টিউনিং, স্টপ লস, অবস্থান আকার ইত্যাদির মাধ্যমে আরও অপ্টিমাইজেশনের জন্য জায়গা রয়েছে।
/*backtest start: 2022-12-01 00:00:00 end: 2023-12-07 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/ // © Astorhsu //@version=5 strategy("Astor SMA20/60 TW", overlay=true, margin_long=100, margin_short=100) backtest_year = input(2018, title='backtest_year') //回測開始年分 backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份 backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31) //回測開始日期 start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00) //回測開始的時間函數 //Indicators sma20 = ta.sma(close,20) sma60 = ta.sma(close,60) plot(sma20, color=color.green, title="sma(20)") plot(sma60, color=color.red, title="sma(60)") //進場條件 longCondition = ta.crossover(close, ta.sma(close, 20)) if (longCondition) and time >= start_time strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多") shortCondition = ta.crossunder(close, ta.sma(close, 20)) if (shortCondition) and time >= start_time strategy.close("open long20",comment="跌破m20平倉", qty=1) longCondition1 = ta.crossover(close, ta.sma(close, 60)) if (longCondition1) and time >= start_time strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多") shortCondition1 = ta.crossunder(close, ta.sma(close, 60)) if (shortCondition1) and time >= start_time strategy.close("open long60",comment="跌破m60平倉", qty=1)