Ini adalah strategi perdagangan yang didasarkan pada crossover rata-rata bergerak ganda. Ini menghasilkan sinyal beli dan jual ketika dua rata-rata bergerak dengan panjang yang berbeda bersilang. Secara khusus, itu panjang ketika MA yang lebih cepat melintasi di atas MA yang lebih lambat, dan pendek ketika MA yang lebih cepat melintasi di bawah MA yang lebih lambat.
Logika inti dari strategi ini terletak pada prinsip silang antara dua rata-rata bergerak. Rata-rata bergerak adalah harga rata-rata aritmatika selama periode waktu tertentu. Ini membantu menyaring kebisingan pasar dan mengungkapkan tren harga yang lebih jelas.
Dalam strategi ini, MA jangka pendek menangkap tren jangka pendek sementara MA jangka panjang menangkap tren jangka panjang.
Secara khusus, strategi ini menghitung MA menggunakan ta.sma selama periode panjang dan pendek yang ditentukan oleh pengguna. Kemudian menggunakan ta.crossover dan ta.crossunder untuk mendeteksi crossover emas dan crossover kematian antara kedua MA. Ketika MA pendek melintasi di atas MA panjang, pergi panjang. Ketika MA pendek melintasi di bawah, pergi pendek.
Keuntungan utama dari strategi ini meliputi:
Ada juga beberapa risiko:
Untuk mengurangi risiko, parameter dapat disesuaikan, stop loss dan take profit dapat dimasukkan, atau indikator teknis lainnya dapat ditambahkan.
Ada ruang untuk optimasi lebih lanjut:
Kesimpulannya, ini adalah strategi awal yang ideal untuk perdagangan algoritmik, berkat kesederhanaan logika dan parameternya sementara masih mampu secara efektif menangkap pembalikan pasar.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Cross 2 Moving Average Strategy", shorttitle="2MA Cross", overlay=true) // User-defined input for moving averages long_period = input(20, title="Long Period") short_period = input(5, title="Short Period") type_ma = input.string("SMA", title = "MA type", options = ["SMA", "EMA"]) // Calculating moving averages long_ma = ta.sma(close, long_period) short_ma = ta.sma(close, short_period) // Plot moving averages plot(long_ma, title="Long Moving Average", color=color.red) plot(short_ma, title="Short Moving Average", color=color.green) // Strategy logic for crossing of moving averages longCondition = ta.crossover(short_ma, long_ma) shortCondition = ta.crossunder(short_ma, long_ma) // Entry orders if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Optional: Add stop loss and take profit stop_loss_perc = input(1, title="Stop Loss (%)") / 100 take_profit_perc = input(2, title="Take Profit (%)") / 100 strategy.exit("Exit Long", from_entry="Long", stop=close*(1-stop_loss_perc), limit=close*(1+take_profit_perc)) strategy.exit("Exit Short", from_entry="Short", stop=close*(1+stop_loss_perc), limit=close*(1-take_profit_perc))