
Strategi ini adalah strategi perdagangan lintas rata-rata bergerak sederhana yang didasarkan pada persilangan rata-rata bergerak jangka pendek dan jangka panjang. Ini menggunakan rata-rata bergerak 34 siklus dan 89 siklus dan mengamati persimpangan mereka sebagai sinyal beli dan jual pada periode waktu perdagangan pagi.
Logika inti dari strategi ini adalah berdasarkan pada persilangan rata-rata bergerak pendek dan panjang sebagai sinyal perdagangan. Secara khusus, strategi ini mendefinisikan rata-rata bergerak sederhana pendek dan panjang 34 siklus dan 89 siklus (SMA). Hanya pada periode waktu perdagangan pagi (08:00 - 10:00), perhatikan persilangan kedua SMA.
Setelah menerima sinyal beli atau jual, strategi akan masuk ke posisi dan menetapkan kondisi untuk keluar dari posisi, yaitu setelah masuk memegang jumlah garis K akar yang ditentukan (default 3 akar) dan kemudian melakukan stop loss. Dengan demikian, sebagian keuntungan dapat dikunci dan kerugian dapat dihindari.
Perlu dicatat bahwa strategi ini hanya mengidentifikasi sinyal silang pada periode awal perdagangan. Ini karena pada periode ini volume perdagangan pasar lebih besar dan sinyal konversi tren lebih dapat diandalkan. Sementara pada periode lain, pasar lebih berfluktuasi dan mudah menghasilkan sinyal yang salah.
Strategi ini memiliki beberapa keuntungan:
Menggunakan aturan crossover rata-rata bergerak yang sederhana, mudah dimengerti, dan cocok untuk pemula
Hanya mengidentifikasi sinyal pada periode waktu awal yang lebih banyak sinyal berkualitas tinggi, dapat menyaring sinyal palsu dari periode waktu lainnya
Setting Stop Loss Condition, yang dapat menghentikan kerugian tepat waktu, mengunci sebagian keuntungan, mengurangi risiko kerugian
Lebih banyak parameter yang dapat disesuaikan, dapat disesuaikan dengan pasar dan gaya pribadi
Skala yang mudah, strategi yang lebih kompleks dapat dirancang berdasarkan kerangka ini dengan kombinasi metrik lain
Strategi ini juga memiliki beberapa risiko, terutama dari beberapa aspek berikut:
Rata-rata bergerak itu sendiri sangat lambat dan mungkin melewatkan titik balik harga jangka pendek.
Bergantung hanya pada indikator sederhana, mudah gagal dalam kondisi pasar tertentu (trend fluctuation, ranging, dll.)
Penetapan posisi stop loss yang tidak tepat dapat menyebabkan kerugian yang tidak perlu
Pengaturan parameter yang tidak tepat (periode moving average, periode memegang posisi, dll.) juga dapat mempengaruhi kinerja strategi
Solusi yang sesuai:
Meningkatkan sensitivitas terhadap perubahan jangka pendek, dikombinasikan dengan indikator-indikator terdepan lainnya
Meningkatkan kondisi penyaringan untuk menghindari dampak sinyal libur di pasar bergolak dan berjangka
Mengoptimalkan logika stop loss, menyesuaikan jangkauan stop loss secara dinamis sesuai dengan fluktuasi pasar
Optimalisasi parameter multi-kombinasi, mencari pengaturan parameter yang optimal
Strategi ini juga memiliki ruang untuk pengoptimalan yang besar, terutama dari beberapa aspek berikut:
Menambahkan kondisi penyaringan lainnya untuk menghindari dampak dari sinyal libur di pasar bergoyang dan interval
Menggabungkan strategi metrik dinamis untuk mengidentifikasi sinyal terobosan yang lebih kuat
Mengoptimalkan parameter periodik dari moving average, mencari kombinasi parameter yang optimal
Optimalkan Stop Loss Secara Otomatis Berdasarkan Fluktuasi Pasar
Mencoba mengoptimalkan seluruh strategi secara otomatis berdasarkan teknologi pembelajaran mesin
Mencoba menggabungkan strategi dengan strategi lain untuk merancang sistem multi-strategi yang lebih kompleks
Strategi ini secara keseluruhan relatif sederhana dan praktis, cocok untuk belajar referensi pemula. Ini mencerminkan model khas dari strategi lintas kelas rata-rata bergerak, dengan pengaturan stop loss untuk mengendalikan risiko. Namun, strategi ini dapat dioptimalkan lebih lanjut, membuat operasinya lebih efektif, dan beradaptasi dengan lebih banyak lingkungan pasar.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("34 89 SMA Crossover Strategy", overlay=true)
// Define the length for the SMAs
short_length = input(34, title="Short SMA Length")
long_length = input(89, title="Long SMA Length")
exit_candles = input(3, title="Exit after how many candles?")
exit_at_open = input(true, title="Exit at Open?")
// Define morning session
morning_session = input("0800-1000", "Morning Session")
// Calculate SMAs
short_sma = ta.sma(close, short_length)
long_sma = ta.sma(close, long_length)
// Function to check if current time is within specified session
in_session(session) =>
session_start = na(time(timeframe.period, "0800-1000")) ? na : true
session_start
// Condition for buy signal (short SMA crosses over long SMA) within specified trading hours
buy_signal = ta.crossover(short_sma, long_sma)
// Condition for sell signal (short SMA crosses under long SMA) within specified trading hours
sell_signal = ta.crossunder(short_sma, long_sma)
// Function to exit the trade after specified number of candles
var int trade_entry_bar = na
var int trade_exit_bar = na
if (buy_signal or sell_signal)
trade_entry_bar := bar_index
if (not na(trade_entry_bar))
trade_exit_bar := trade_entry_bar + exit_candles
// Exit condition
exit_condition = (not na(trade_exit_bar) and (exit_at_open ? bar_index + 1 >= trade_exit_bar : bar_index >= trade_exit_bar))
// Execute trades
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.entry("Sell", strategy.short)
if (exit_condition)
strategy.close("Buy")
strategy.close("Sell")
// Plot SMAs on the chart
plot(short_sma, color=color.blue, linewidth=1)
plot(long_sma, color=color.red, linewidth=1)