Berdasarkan teori gelombang harga dan strategi rata-rata bergerak


Tanggal Pembuatan: 2023-11-13 16:39:41 Akhirnya memodifikasi: 2023-11-13 16:39:41
menyalin: 1 Jumlah klik: 640
1
fokus pada
1617
Pengikut

Berdasarkan teori gelombang harga dan strategi rata-rata bergerak

Ringkasan

Strategi ini menggunakan teori gelombang harga yang dikombinasikan dengan rata-rata bergerak untuk mencari peluang untuk membentuk tren, mengatur stop loss yang masuk akal dan melacak stop loss untuk mengendalikan risiko dengan tujuan memaksimalkan keuntungan. Strategi ini hanya membuka posisi pada periode waktu perdagangan yang ditentukan, dan menghindari fluktuasi pasar pada waktu tertentu.

Prinsip Strategi

  • Menggunakan SMMA untuk menghitung rata-rata harga rata-rata, memfilter kebisingan pasar, dan mengidentifikasi arah tren
  • Judging price waves based on highs and lows in a period, identifying trend turning points
  • Harga naik saat melewati rata-rata pergerakan horizontal, turun saat melewati rata-rata pergerakan horizontal
  • Set Stop Loss dengan Tracking Stop Loss berbasis ATR untuk mengendalikan risiko
  • Hanya membuka posisi pada jam perdagangan yang ditentukan, menghindari volatilitas pasar pada akhir pekan dan periode tertentu pada siang hari
  • Hentikan posisi saat sinyal mundur

Analisis Keunggulan

  • Menggunakan teori gelombang harga untuk menentukan titik pivot harga, ditambah dengan arah tren berdasarkan rata-rata bergerak, dapat mengidentifikasi tren secara efektif
  • Pengaturan titik stop loss dengan tracking stop loss dinamis ATR dapat mengontrol stop loss secara efektif
  • Hanya membuka posisi pada saat transaksi yang memiliki likuiditas, dapat menghindari slippage yang tidak perlu dan fluktuasi yang kuat pada periode waktu tertentu
  • Mengikuti prinsip parabolic line stop dengan ketat, berhenti saat ada sinyal mundur, untuk mendapatkan keuntungan maksimal

Analisis risiko

  • Perdagangan berulang mungkin terjadi di area non-trending jika penilaian gelombang harga tidak akurat
  • Rata-rata pergerakan yang tertinggal mungkin melewatkan titik balik tren
  • Stop loss yang terlalu kecil dapat mudah dihentikan, dan yang terlalu besar dapat menyebabkan kerugian yang lebih besar.
  • Stopper tetap tidak dapat disesuaikan dengan situasi yang berbeda

Solusi Risiko:

  • Mengoptimalkan parameter siklus gelombang, menyesuaikan parameter rata-rata perpindahan
  • Sinyal reversal ditentukan dengan kombinasi indikator Stochastics dan lainnya.
  • Dinamika Optimasi Stop Loss dan Kondisi Stop

Arah optimasi

  • Optimalkan parameter siklus gelombang untuk mencari siklus rata-rata rata-rata yang optimal
  • STOCH INDICATOR: Judgment Reversed, Set Signal Filter False Breakthrough
  • Cobalah untuk secara dinamis menyesuaikan posisi stop loss dan stop loss
  • Memperluas Bandwidth Stop Loss untuk Menghindari Penetapan
  • Parameter optimasi berdasarkan varietas dan periode perdagangan

Meringkaskan

Strategi ini mengintegrasikan teori gelombang harga dengan indikator rata-rata bergerak, setelah menghindari zona waktu perdagangan yang ditentukan, mengontrol risiko dengan menilai arah gelombang harga dan konfirmasi tren, mengatur stop loss dan melacak stop loss untuk mengendalikan risiko, dan berhenti ketika sinyal terbalik muncul. Strategi ini dapat meningkatkan stabilitas dan tingkat keuntungan lebih lanjut dengan pengoptimalan parameter dan penambahan indikator tambahan.

Kode Sumber Strategi
/*backtest
start: 2022-11-12 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("FX Strategy Based on Fractals and SMMA", overlay=true)

// パラメータ
SMMAPeriod1 = input(30, title="SMMA Period")
StopLoss1 = input(7, title="Stop Loss %")
TrailingStopCoef1 = input(2.7, title="Trailing Stop Coefficient")
fractalPeriod = input(5, title="Fractal Period")

// SMMAの計算関数
smma(src, length) =>
    var float smma = na
    if na(smma[1])
        smma := sma(src, length)
    else
        smma := (smma[1] * (length - 1) + src) / length
    smma

// フラクタルの近似
highFractal = high[2] > high[1] and high[2] > high[3] and high[2] > high[4] and high[2] > high
lowFractal = low[2] < low[1] and low[2] < low[3] and low[2] < low[4] and low[2] < low

// エントリー条件
longEntrySignal = lowFractal and close[1] < smma(close, SMMAPeriod1)
shortEntrySignal = highFractal and close[1] > smma(close, SMMAPeriod1)

// エントリー実行
if (longEntrySignal)
    strategy.entry("Long", strategy.long)

if (shortEntrySignal)
    strategy.entry("Short", strategy.short)

// トレーリングストップの計算
atrValue = atr(10)
longStopPrice = close - atrValue * TrailingStopCoef1
shortStopPrice = close + atrValue * TrailingStopCoef1

// トレーリングストップの設定
strategy.exit("Exit Long", "Long", stop=longStopPrice)
strategy.exit("Exit Short", "Short", stop=shortStopPrice)

// バックテスト期間の設定(MetaTraderのバックテストと同じ期間)
startYear = 2007
startMonth = 05
startDay = 01
endYear = 2022
endMonth = 04
endDay = 01

startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// バックテスト期間内でのみトレードを実行
if (time >= startDate and time <= endDate)
    if (longEntrySignal)
        strategy.entry("Long", strategy.long)
    if (shortEntrySignal)
        strategy.entry("Short", strategy.short)