Strategi berdasarkan persilangan rata-rata pergerakan jangka pendek dan jangka panjang


Tanggal Pembuatan: 2024-02-22 15:36:49 Akhirnya memodifikasi: 2024-02-22 15:36:49
menyalin: 0 Jumlah klik: 649
1
fokus pada
1617
Pengikut

Strategi berdasarkan persilangan rata-rata pergerakan jangka pendek dan jangka panjang

Ringkasan

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.

Prinsip Strategi

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.

Analisis Keunggulan

Strategi ini memiliki beberapa keuntungan:

  1. Menggunakan aturan crossover rata-rata bergerak yang sederhana, mudah dimengerti, dan cocok untuk pemula

  2. Hanya mengidentifikasi sinyal pada periode waktu awal yang lebih banyak sinyal berkualitas tinggi, dapat menyaring sinyal palsu dari periode waktu lainnya

  3. Setting Stop Loss Condition, yang dapat menghentikan kerugian tepat waktu, mengunci sebagian keuntungan, mengurangi risiko kerugian

  4. Lebih banyak parameter yang dapat disesuaikan, dapat disesuaikan dengan pasar dan gaya pribadi

  5. Skala yang mudah, strategi yang lebih kompleks dapat dirancang berdasarkan kerangka ini dengan kombinasi metrik lain

Analisis risiko

Strategi ini juga memiliki beberapa risiko, terutama dari beberapa aspek berikut:

  1. Rata-rata bergerak itu sendiri sangat lambat dan mungkin melewatkan titik balik harga jangka pendek.

  2. Bergantung hanya pada indikator sederhana, mudah gagal dalam kondisi pasar tertentu (trend fluctuation, ranging, dll.)

  3. Penetapan posisi stop loss yang tidak tepat dapat menyebabkan kerugian yang tidak perlu

  4. Pengaturan parameter yang tidak tepat (periode moving average, periode memegang posisi, dll.) juga dapat mempengaruhi kinerja strategi

Solusi yang sesuai:

  1. Meningkatkan sensitivitas terhadap perubahan jangka pendek, dikombinasikan dengan indikator-indikator terdepan lainnya

  2. Meningkatkan kondisi penyaringan untuk menghindari dampak sinyal libur di pasar bergolak dan berjangka

  3. Mengoptimalkan logika stop loss, menyesuaikan jangkauan stop loss secara dinamis sesuai dengan fluktuasi pasar

  4. Optimalisasi parameter multi-kombinasi, mencari pengaturan parameter yang optimal

Arah optimasi

Strategi ini juga memiliki ruang untuk pengoptimalan yang besar, terutama dari beberapa aspek berikut:

  1. Menambahkan kondisi penyaringan lainnya untuk menghindari dampak dari sinyal libur di pasar bergoyang dan interval

  2. Menggabungkan strategi metrik dinamis untuk mengidentifikasi sinyal terobosan yang lebih kuat

  3. Mengoptimalkan parameter periodik dari moving average, mencari kombinasi parameter yang optimal

  4. Optimalkan Stop Loss Secara Otomatis Berdasarkan Fluktuasi Pasar

  5. Mencoba mengoptimalkan seluruh strategi secara otomatis berdasarkan teknologi pembelajaran mesin

  6. Mencoba menggabungkan strategi dengan strategi lain untuk merancang sistem multi-strategi yang lebih kompleks

Meringkaskan

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.

Kode Sumber Strategi
/*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)