Strategi Mengikuti Aliran Berdasarkan Persilangan Purata Pergerakan


Tarikh penciptaan: 2024-03-01 10:59:03 Akhirnya diubah suai: 2024-03-01 10:59:03
Salin: 1 Bilangan klik: 633
1
fokus pada
1617
Pengikut

Strategi Mengikuti Aliran Berdasarkan Persilangan Purata Pergerakan

Gambaran keseluruhan

Strategi ini membolehkan trend dikesan dengan mengira purata bergerak dari pelbagai kitaran dan menetapkan persimpangan mereka sebagai isyarat membeli dan menjual. Logik utamanya adalah menggunakan purata bergerak yang lebih pendek untuk mengesan trend yang lebih lama.

Prinsip Strategi

  1. Hitung purata bergerak 200 dan 100 kitaran
  2. Apabila anda menjumpai 100 pusingan purata bergerak pada 200 pusingan purata bergerak, lakukan lebih banyak.
  3. Apabila 100 pusingan purata bergerak di bawah 200 pusingan purata bergerak, kedudukan yang lebih baik
  4. Apabila 100 kitaran bergerak di bawah rata-rata bergerak 200 kitaran bergerak, kosong
  5. Apabila 100 kitaran purata bergerak melintasi 200 kitaran purata bergerak, kosong

Logik di belakang penyetelan isyarat perdagangan di atas adalah bahawa purata bergerak jangka pendek dapat bertindak balas lebih cepat terhadap perubahan harga, mencerminkan trend terkini; purata bergerak jangka panjang lebih dapat mencerminkan trend keseluruhan, menyaring kebisingan. Apabila purata bergerak jangka pendek melintasi purata bergerak jangka panjang, menunjukkan bahawa trend bertukar, maka isyarat perdagangan ditetapkan.

Analisis kelebihan strategi

  1. Strategi yang jelas, mudah difahami dan dilaksanakan
  2. Dengan menggunakan garis jangka pendek dan panjang, anda dapat menangkap titik perubahan trend yang lebih baik.
  3. Tidak perlu meramalkan arah harga yang tepat, hanya mengikuti perubahan trend, mengurangkan kesilapan
  4. Boleh menyesuaikan diri dengan keadaan pasaran yang berbeza dengan mengoptimumkan kitaran purata bergerak

Analisis risiko dan penyelesaian strategi

  1. Apabila trend bergelombang lebih besar, mungkin menghasilkan beberapa isyarat salah yang menyebabkan kerugian. Penyelesaian adalah dengan menyesuaikan parameter kitaran purata bergerak dengan betul.
  2. Strategi purata bergerak yang mudah tidak dapat bertindak balas tepat pada masanya dan mudah hilang apabila peristiwa mendadak menyebabkan pembalikan cepat. Penyelesaian adalah dengan menambah petunjuk penghakiman tambahan, seperti penunjuk peningkatan.
  3. Perdagangan mungkin terlalu kerap, meningkatkan kos dagangan dan kehilangan slip. Penyelesaian adalah dengan menyesuaikan parameter kitaran purata bergerak dengan betul, mengurangkan frekuensi perdagangan.

Arah pengoptimuman strategi

  1. Mengoptimumkan gabungan parameter kitaran purata bergerak untuk lebih banyak keadaan pasaran
  2. Menambah penapis untuk mengelakkan isyarat yang salah, seperti jumlah transaksi, MACD dan sebagainya
  3. Meningkatkan strategi penangguhan kerugian, mengawal kerugian tunggal
  4. Mengoptimumkan kombinasi parameter untuk mencari parameter optimum

ringkaskan

Strategi ini menangkap perubahan trend harga dengan cara simpang bergerak rata-rata, dan merupakan strategi trend yang tipikal. Kelebihannya adalah mudah difahami, mudah dikendalikan, dan dapat disesuaikan dengan pelbagai keadaan pasaran dengan menyesuaikan parameter. Kekurangannya adalah tidak sensitif terhadap tindak balas kejadian yang tidak disangka-sangka, mudah menghasilkan isyarat yang salah.

Kod sumber strategi
/*backtest
start: 2023-02-23 00:00:00
end: 2024-02-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MA Crossover Strategy", overlay=true)

// Функция для получения скользящего среднего на заданном таймфрейме
getMA(source, length, timeframe) =>
    request.security(syminfo.tickerid, timeframe, ta.sma(source, length))

// Вычисляем 200-периодное и 100-периодное скользящее среднее для текущего таймфрейма
ma200 = getMA(close, 200, "240")
ma100 = getMA(close, 100, "240")

// Открываем позицию Long, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossover(ma100, ma200))
    strategy.entry("Long", strategy.long)

// Закрываем позицию Long, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossunder(ma100, ma200))
    strategy.close("Long")

// Открываем позицию Short, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossunder(ma100, ma200))
    strategy.entry("Short", strategy.short)

// Закрываем позицию Short, если 100-периодное скользящее среднее пересекает 200-периодное снизу вверх
if (ta.crossover(ma100, ma200))
    strategy.close("Short")

// Рисуем линии скользящих средних на графике
plot(ma200, color=color.blue, linewidth=2, title="200 MA")
plot(ma100, color=color.red, linewidth=2, title="100 MA")