Berdasarkan strategi pindah silang purata bergerak berganda


Tarikh penciptaan: 2024-03-11 12:06:22 Akhirnya diubah suai: 2024-03-11 12:06:22
Salin: 0 Bilangan klik: 646
1
fokus pada
1617
Pengikut

Berdasarkan strategi pindah silang purata bergerak berganda

Gambaran Keseluruhan Strategi

Strategi persilangan dua rata-rata adalah strategi penjejakan trend klasik. Strategi ini menggunakan purata bergerak dari dua tempoh yang berbeza untuk menangkap trend pasaran, menghasilkan isyarat lebih banyak apabila ia melintasi rata-rata perlahan pada rata-rata cepat, dan menghasilkan isyarat kosong apabila ia melintasi rata-rata perlahan di bawah rata-rata cepat.

Prinsip Strategi

Dua purata bergerak digunakan dalam kod strategi, satu adalah purata bergerak cepat (default 14th period) dan satu adalah purata bergerak perlahan (default 28th period). Jenis purata bergerak boleh dipilih sebagai purata bergerak sederhana (SMA), purata bergerak indeks (EMA), purata bergerak bertimbangan (WMA) dan purata bergerak relatif (RMA).

Logik utama strategi ini ialah:

  1. Mengira nilai rata-rata laju dan rata-rata laju
  2. Jika anda melintasi garis rata-rata laju yang perlahan, anda akan mendapat lebih banyak isyarat dan anda akan membuka lebih banyak kedudukan.
  3. Jika laju rata-rata melintasi laju rata-rata di bawah garis laju rata-rata, dan dibenarkan untuk melakukan shorting (allowShorting=true), isyarat shorting akan dihasilkan, membuka kedudukan shorting
  4. Jika laju rata-rata melintasi laju rata-rata di bawah garis laju rata-rata, dan tidak membenarkan shorting (), anda akan meratakan kedudukan yang lebih tinggi

Dengan logik seperti itu, strategi dapat mengesan trend utama pasaran, memegang kedudukan berganda dalam trend menaik, memegang kedudukan kosong atau menunggu posisi kosong dalam trend menurun. Periode dan jenis garis rata dapat disesuaikan dan dioptimumkan mengikut pasaran dan jenis perdagangan yang berbeza.

Kelebihan Strategik

  1. Logik yang mudah difahami dan dilaksanakan
  2. Berlaku untuk pasaran yang sedang trending, yang dapat menangkap trend jangka menengah dan jangka panjang pasaran dengan berkesan
  3. Parameter boleh disesuaikan untuk pasaran dan jenis perdagangan yang berbeza
  4. Bolehkah pilihan fleksibel dibenarkan berdasarkan ciri-ciri pasaran dan keutamaan peribadi
  5. Moving Average adalah satu indikator analisis teknikal klasik yang digunakan dan disahkan secara meluas.

Risiko Strategik

  1. Dalam pasaran yang bergolak, persilangan garis rata yang kerap boleh menyebabkan perdagangan yang kerap dan meningkatkan kos transaksi
  2. Pilihan garis laju terlalu pendek, atau pilihan garis laju terlalu panjang, boleh menyebabkan isyarat terlewat dan terlepas masa perdagangan terbaik
  3. Strategi yang boleh menyebabkan kerugian berturut-turut apabila trend pasaran berubah
  4. Parameter kitaran purata tetap, mungkin tidak sesuai dengan perubahan dinamik pasaran

Langkah-langkah berikut boleh diambil untuk menangani risiko ini:

  1. Mengoptimumkan parameter kitaran garis purata mengikut ciri-ciri pasaran, memilih panjang garis purata pantas dan perlahan yang sesuai
  2. Dalam pasaran yang bergolak, anda boleh mempertimbangkan untuk menambah syarat penapisan, seperti penapisan ATR, atau penapisan sudut silang linear.
  3. Menetapkan Stop Loss Bar dan Mengendalikan Risiko Perdagangan Tunggal
  4. Penilaian berkala, menyesuaikan parameter strategi mengikut perubahan pasaran

Pengoptimuman Strategi

  1. Memperkenalkan lebih banyak petunjuk teknikal seperti MACD, RSI dan lain-lain untuk membina strategi pelbagai faktor dan meningkatkan ketepatan isyarat
  2. Mengoptimumkan pengurusan kedudukan, seperti mempertimbangkan faktor seperti ATR atau kadar turun naik, secara dinamik menyesuaikan saiz kedudukan
  3. Untuk pasaran yang bergolak, pertimbangkan untuk memperkenalkan penunjuk trend seperti ADX dan lain-lain untuk mengelakkan perdagangan yang kerap
  4. Menggunakan pembelajaran mesin atau algoritma pengoptimuman untuk mencari kombinasi parameter yang optimum secara automatik

Pengoptimuman ini dapat meningkatkan kebolehan beradaptasi dan kestabilan strategi, lebih baik menyesuaikan diri dengan keadaan pasaran yang berbeza. Namun, perlu diingat bahawa pengoptimuman berlebihan boleh menyebabkan strategi terlalu sesuai dan tidak berfungsi dengan baik di dunia nyata.

ringkaskan

Strategi persilangan dua garis sejajar adalah strategi penjejakan trend klasik yang menghasilkan isyarat perdagangan melalui persilangan purata bergerak melalui dua kitaran yang berbeza. Logikanya mudah, mudah dilaksanakan, dan sesuai untuk pasaran yang sedang tren. Tetapi dalam pasaran yang bergolak, mungkin terdapat keadaan perdagangan yang kerap dan kerugian berturut-turut. Oleh itu, apabila menggunakan strategi ini, anda perlu mengoptimumkan parameter kitaran sejajar mengikut ciri-ciri pasaran, dan menetapkan stop loss yang munasabah.

Kod sumber strategi
/*backtest
start: 2024-02-09 00:00:00
end: 2024-03-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © z4011

//@version=5
strategy("#2idagos", overlay=true, margin_long=100, margin_short=100)
allowShorting = input.bool(true, "Allow Shorting")
fastMALength = input.int(14, "Fast MA Length")
slowMALength = input.int(28, "Slow MA Length")
fastMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"])
slowMAType = input.string("Simple", "Fast MA Type", ["Simple", "Exponential", "Weighted", "Relative"]) 

float fastMA = switch fastMAType
    "Simple" => ta.sma(close, fastMALength)
    "Exponential" => ta.ema(close, fastMALength)
    "Weighted" => ta.wma(close, fastMALength)
    "Relative" => ta.rma(close, fastMALength)

plot(fastMA, color = color.aqua, linewidth = 2)

float slowMA = switch slowMAType
    "Simple" => ta.sma(close, slowMALength)
    "Exponential" => ta.ema(close, slowMALength)
    "Weighted" => ta.wma(close, slowMALength)
    "Relative" => ta.rma(close, slowMALength)

plot(slowMA, color = color.blue, linewidth = 2)


longCondition = ta.crossover(fastMA, slowMA)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = ta.crossunder(fastMA, slowMA) and allowShorting
if (shortCondition)
    strategy.entry("Short", strategy.short)

closeCondition = ta.crossunder(fastMA, slowMA) and not allowShorting
if (closeCondition)
    strategy.close("Long", "Close")