Strategi Crossover Purata Bergerak Berganda

Penulis:ChaoZhang, Tarikh: 2024-01-31 11:29:45
Tag:

img

Ringkasan

Ini adalah strategi dagangan berdasarkan crossover purata bergerak berganda. Ia menghasilkan isyarat beli dan jual apabila dua purata bergerak dengan panjang yang berbeza bersilang. Khususnya, ia pergi lama apabila MA yang lebih cepat melintasi di atas MA yang lebih perlahan, dan pergi pendek apabila MA yang lebih cepat melintasi di bawah MA yang lebih perlahan.

Logika Strategi

Logik teras strategi ini terletak pada prinsip silang antara dua purata bergerak. purata bergerak adalah harga purata aritmetik dalam tempoh masa tertentu. Ia membantu menapis bunyi pasaran dan mendedahkan trend harga yang lebih jelas.

Dalam strategi ini, MA jangka pendek menangkap trend jangka pendek manakala MA jangka panjang menangkap trend jangka panjang.

Secara khusus, strategi ini mengira MA menggunakan ta.sma selama jangka_panjang dan jangka_pendek yang ditakrifkan oleh pengguna. Kemudian ia menggunakan ta.crossover dan ta.crossunder untuk mengesan persilangan emas dan persilangan kematian antara kedua-dua MA. Apabila MA pendek melintasi di atas MA panjang, pergi panjang. Apabila MA pendek melintasi di bawah, pergi pendek.

Kelebihan

Kelebihan utama strategi ini termasuk:

  1. Logik yang mudah, mudah diikuti.
  2. Parameter yang boleh disesuaikan yang dapat disesuaikan dengan pelbagai pasaran.
  3. MA crossover menapis bunyi bising, menangkap pembalikan trend.
  4. Sensitiviti tinggi dalam menangkap titik perubahan harga.

Risiko

Terdapat juga beberapa risiko:

  1. Jurang yang terlalu kecil antara MA menyebabkan isyarat palsu.
  2. Tempoh MA yang salah terlepas trend utama.
  3. Pembalikan tidak selalu menunjukkan perubahan trend.
  4. Parameter perlu diselaraskan untuk mengelakkan pemasangan berlebihan.

Untuk mengurangkan risiko, parameter boleh disesuaikan, stop loss dan mengambil keuntungan boleh dimasukkan, atau penunjuk teknikal lain boleh ditambah.

Pengoptimuman

Terdapat ruang untuk pengoptimuman lanjut:

  1. Mengoptimumkan tempoh MA adaptif.
  2. Tambah penapis kelantangan untuk mengelakkan pecah palsu.
  3. Masukkan penunjuk lain seperti MACD, KDJ.
  4. Tambah stop loss/take profit kepada limit loss.
  5. Meningkatkan struktur kod untuk skalabiliti yang lebih baik.

Kesimpulan

Kesimpulannya, ini adalah strategi permulaan yang ideal untuk perdagangan algoritma, terima kasih kepada kesederhanaan dalam logik dan parameter sambil masih dapat menangkap pembalikan pasaran dengan berkesan.


/*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))


Lebih lanjut