Strategi Ramalan dan Perdagangan Automatik Tinggi/Rendah

Penulis:ChaoZhang, Tarikh: 2024-03-15 17:22:36
Tag:

img

Ringkasan

Strategi ini mengenal pasti titik tinggi dan rendah pada jam 9:15 pada sesi pagi, secara automatik mengira harga sasaran dan harga stop-loss untuk kedudukan panjang dan pendek, dan secara automatik membuka kedudukan apabila syarat dipenuhi.

Prinsip Strategi

  1. Tentukan selang pembentukan titik tinggi dan rendah dari 9:00 hingga 9:15.
  2. Mencatatkan harga tertinggi dan harga terendah pada jam 9:15 sebagai sesiHigh dan sesiLow, masing-masing.
  3. Mengira harga sasaran panjang (sesiHigh+200), harga sasaran pendek (sesiLow-200), dan harga stop-loss yang sepadan.
  4. Dapatkan harga penutupan semasa dan penunjuk RSI.
  5. Keadaan kemasukan panjang: harga penutupan pecah di atas sesiHigh dan RSI lebih besar daripada tahap overbought.
  6. Keadaan kemasukan pendek: harga penutupan pecah di bawah sesiLow dan RSI adalah lebih rendah daripada tahap oversold.
  7. Menggambar tahap harga yang relevan dan secara automatik membuka kedudukan panjang atau pendek berdasarkan syarat kemasukan.

Analisis Kelebihan

  1. Sederhana dan mudah digunakan: Strategi ini berdasarkan titik tinggi / rendah 9:15 yang jelas dan penunjuk RSI, dengan logik yang jelas yang mudah difahami dan dilaksanakan.
  2. Tahap automatik yang tinggi: Strategi termasuk pengiraan terbina dalam untuk harga sasaran dan harga stop-loss, serta penilaian syarat kemasukan, yang membolehkan pelaksanaan perdagangan secara automatik.
  3. Stop-loss tepat pada masanya: Harga stop-loss ditetapkan berdasarkan titik tinggi / rendah 9:15, menyediakan tahap stop-loss yang jelas sebaik sahaja kedudukan dibuka, dengan berkesan mengawal risiko.
  4. Pengesanan trend: Dengan menggunakan penunjuk RSI untuk menilai keadaan overbought dan oversold, strategi memasuki pada permulaan pembentukan trend, membantu mengikuti trend.

Analisis Risiko

  1. Risiko pengoptimuman parameter: Parameter strategi seperti panjang RSI dan ambang overbought / oversold perlu dioptimumkan berdasarkan ciri pasaran, dan parameter yang berbeza boleh membawa kepada hasil yang berbeza.
  2. Risiko penunjuk tunggal: Strategi ini bergantung terutamanya pada penunjuk RSI, yang mungkin menjadi tidak berkesan dalam keadaan pasaran tertentu.
  3. Risiko turun naik intraday: Fluktuasi harga selepas 9:15 boleh mencetuskan stop-loss dan terlepas pergerakan trend.
  4. Kekurangan pengurusan kedudukan: Strategi tidak mempunyai kawalan ke atas saiz kedudukan dan pengurusan wang, dan pembukaan kedudukan yang terlalu kerap boleh membawa risiko tambahan.

Arahan pengoptimuman

  1. Stop-loss dinamik: Sesuaikan tahap stop-loss secara dinamik berdasarkan turun naik harga atau penunjuk seperti Julat Benar Purata (ATR) untuk mengesan perubahan harga.
  2. Menggabungkan dengan penunjuk lain: Memperkenalkan penunjuk lain seperti sistem MACD dan purata bergerak untuk mengesahkan penilaian trend dan meningkatkan ketepatan kemasukan.
  3. Mengoptimumkan keadaan kemasukan: Sesuaikan ambang overbought/oversold RSI secara bersesuaian untuk mengelakkan batasan ambang tetap.
  4. Memperkenalkan pengurusan kedudukan: Mengendalikan saiz kedudukan berdasarkan keadaan turun naik pasaran, seperti menggunakan model risiko peratusan.

Ringkasan

Strategi ini adalah berdasarkan titik tinggi / rendah 9:15, menggunakan penunjuk RSI untuk penilaian trend, secara automatik mengira harga sasaran dan harga stop-loss, dan secara automatik membuka kedudukan panjang atau pendek berdasarkan keadaan kemasukan. Logik strategi adalah mudah dan jelas, dengan tahap automasi yang tinggi, yang membolehkan menangkap pergerakan trend dengan cepat. Walau bagaimanapun, strategi ini juga mempunyai risiko dari segi pengoptimuman parameter, bergantung pada satu penunjuk, turun naik intraday, dan kekurangan pengurusan kedudukan. Pada masa akan datang, strategi boleh dioptimumkan dan ditingkatkan dalam aspek seperti stop-loss dinamik, menggabungkan dengan penunjuk lain, mengoptimumkan keadaan kemasukan, dan memperkenalkan pengurusan kedudukan, untuk mendapatkan prestasi perdagangan yang lebih mantap.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("9:15 AM High/Low with Automatic Forecasting", overlay=true)

// Parameters
showSignals = input(true, title="Show Signals")

// Define session time
sessionStartHour = input(9, title="Session Start Hour")
sessionStartMinute = input(0, title="Session Start Minute")
sessionEndHour = input(9, title="Session End Hour")
sessionEndMinute = input(15, title="Session End Minute")

// Calculate session high and low
var float sessionHigh = na
var float sessionLow = na
if (hour == sessionStartHour and minute == sessionStartMinute)
    sessionHigh := high
    sessionLow := low

// Update session high and low if within session time
if (hour == sessionStartHour and minute >= sessionStartMinute and minute < sessionEndMinute)
    sessionHigh := high > sessionHigh or na(sessionHigh) ? high : sessionHigh
    sessionLow := low < sessionLow or na(sessionLow) ? low : sessionLow

// Plot horizontal lines for session high and low
plot(sessionHigh, color=color.green, title="9:00 AM High", style=plot.style_stepline, linewidth=1)
plot(sessionLow, color=color.red, title="9:00 AM Low", style=plot.style_stepline, linewidth=1)

// Calculate targets and stop loss
longTarget = sessionHigh + 200
longStopLoss = sessionLow
shortTarget = sessionLow - 200
shortStopLoss = sessionHigh

// Plot targets and stop loss
plot(longTarget, color=color.blue, title="Long Target", style=plot.style_cross, linewidth=1)
plot(longStopLoss, color=color.red, title="Long Stop Loss", style=plot.style_cross, linewidth=1)
plot(shortTarget, color=color.blue, title="Short Target", style=plot.style_cross, linewidth=1)
plot(shortStopLoss, color=color.red, title="Short Stop Loss", style=plot.style_cross, linewidth=1)

// RSI
rsiLength = input(14, title="RSI Length")
overboughtLevel = input(60, title="Overbought Level")
oversoldLevel = input(40, title="Oversold Level")
rsi = ta.rsi(close, rsiLength)

// Entry conditions
longCondition = close > sessionHigh and rsi > overboughtLevel
shortCondition = close < sessionLow and rsi < oversoldLevel

// Long entry
if (showSignals and longCondition)
    strategy.entry("Long", strategy.long)

// Short entry
if (showSignals and shortCondition)
    strategy.entry("Short", strategy.short)


Lebih lanjut