Strategi Crossover SMA


Tanggal Pembuatan: 2024-03-28 17:50:00 Akhirnya memodifikasi: 2024-03-28 17:50:00
menyalin: 1 Jumlah klik: 587
1
fokus pada
1617
Pengikut

Strategi Crossover SMA

Ringkasan

Strategi ini adalah strategi silang rata-rata SMA sederhana. Strategi ini menggunakan rata-rata bergerak sederhana dari dua periode yang berbeda (SMA) dan melakukan overposisi ketika garis cepat melintasi garis lambat dari bawah ke atas, dan melakukan overposisi ketika garis cepat melintasi garis lambat dari atas ke bawah. Strategi ini dapat menyesuaikan panjang kedua garis rata-rata, serta tanggal awal dan akhir pengukuran ulang.

Strategi utama ini adalah memanfaatkan karakteristik tren garis rata dan karakteristik sinyal yang bersilang dengan garis rata untuk melakukan perdagangan. Bila garis cepat di atas garis lambat, menunjukkan bahwa saat ini sedang dalam tren naik, harus memegang posisi multihead; Bila garis cepat di bawah garis lambat, menunjukkan bahwa saat ini sedang dalam tren menurun, harus melihat posisi kosong.

Prinsip Strategi

  1. Untuk menghitung SMA dari dua periode yang berbeda, panjang periode dapat disesuaikan.
  2. Periksa apakah saat ini berada dalam jendela waktu pengembalian, jika tidak, tidak melakukan operasi apapun.
  3. Jika garis cepat melewati garis lambat dari bawah ke atas, maka Anda harus melakukan lebih banyak.
  4. Jika garis cepat melintasi garis lambat dari atas ke bawah, maka semua posisi multipel dihapus.
  5. Dalam kasus lain, tidak ada operasi.

Analisis Keunggulan

  1. Ini adalah bahasa yang mudah dipahami, logis, dan cocok untuk dipelajari dan digunakan oleh pemula.
  2. Garis rata adalah indikator teknis yang digunakan secara luas, dengan karakteristik tren yang lebih jelas, dapat lebih baik mencerminkan tren pasar saat ini.
  3. Garis tengah adalah sinyal pelacakan tren klasik yang dapat menangkap perubahan tren dengan cepat.
  4. Periode rata-rata dan jendela waktu pengembalian dapat disesuaikan, dengan fleksibilitas yang lebih besar.
  5. Cocok untuk varietas dan periode waktu yang memiliki tren yang kuat.

Analisis risiko

  1. Garis rata-rata memiliki keterlambatan tertentu, di pasar berfluktuasi besar, tren berulang, mungkin akan terjadi sering sinyal silang, menyebabkan terlalu banyak transaksi, biaya biaya tambahan.
  2. Strategi ini hanya dapat menangkap pergerakan naik satu sisi dan tidak dapat melakukan apa pun terhadap pergerakan goyah dan pergerakan turun satu sisi.
  3. Pilihan parameter garis rata-rata perlu dioptimalkan berdasarkan varietas dan periode waktu yang berbeda, dan parameter yang berbeda dapat menunjukkan perbedaan yang besar.
  4. Strategi ini tidak memiliki langkah-langkah untuk menghentikan kerugian, dan mungkin menghadapi risiko penarikan yang lebih besar ketika pasar sangat berfluktuasi.

Arah optimasi

  1. Anda dapat mempertimbangkan untuk menambahkan langkah-langkah stop loss yang tepat, seperti stop loss mobile berbasis ATR, untuk mengontrol kerugian maksimum dalam satu transaksi.
  2. Anda dapat mempertimbangkan untuk menambahkan beberapa kriteria filter, seperti volume transaksi, volatilitas, dan lain-lain, untuk memfilter beberapa sinyal palsu.
  3. Optimalisasi parameter dapat dipertimbangkan, misalnya dengan menggunakan algoritma cerdas seperti algoritma genetik untuk mencari kombinasi parameter yang optimal.
  4. Anda dapat mempertimbangkan untuk menggabungkan indikator teknis lainnya atau sinyal perdagangan dengan crossover rata-rata, seperti MACD, RSI, dan lain-lain, untuk meningkatkan keandalan dan efektivitas strategi.

Meringkaskan

Strategi SMA adalah strategi pelacakan tren yang mudah dipahami dan praktis, cocok untuk pemula. Strategi ini memanfaatkan karakteristik tren garis lurus dan karakteristik sinyal garis lurus yang dapat menangkap perubahan tren pasar dengan cepat. Namun, strategi ini juga memiliki beberapa keterbatasan dan risiko, seperti keterlambatan, perdagangan yang sering, kurangnya stop loss, dll.

Kode Sumber Strategi
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 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/
// © j0secyn

//@version=5
strategy("MA Cross", overlay=true, margin_long=100, margin_short=100, default_qty_value=100, default_qty_type=strategy.percent_of_equity, initial_capital=10000)

// === INPUT BACKTEST RANGE ===
fromDay   = input.int(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input.int(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear  = input.int(defval = 2018,title = "From Year", minval = 1970)
thruDay   = input.int(defval = 30, title = "Thru Day", minval = 1, maxval = 31)
thruMonth = input.int(defval = 9, title = "Thru Month", minval = 1, maxval = 12)
thruYear  = input.int(defval = 2024, title = "Thru Year", minval = 1970)

slow_ma_length = input.int(defval = 100, title = "Slow MA lenght")
fast_ma_length = input.int(defval = 30, title = "Fast MA lenght")

// === FUNCTION EXAMPLE ===
start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)            // backtest start  window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)            // backtest finish window
window()  => true

// === LOGIC ===
crossOv = ta.crossover(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length))
crossUn = ta.crossunder(ta.sma(close, fast_ma_length), ta.sma(close, slow_ma_length))

// === EXECUTION ===
// strategy.entry("L", strategy.long, when = window() and crossOv)        // enter long when "within window of time" AND crossover
// strategy.close("L", when = window() and crossUn)                       // exits long when "within window of time" AND crossunder         
strategy.entry("L", strategy.long, when = window() and crossOv)        // enter long when "within window of time" AND crossover
strategy.close("L", when = window() and crossUn)                       // exits long when "within window of time" AND crossunder