
এই কৌশলটি 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)