Strategi Pengesanan Trend Sokongan dan Rintangan

Penulis:ChaoZhang, Tarikh: 2024-02-27 15:11:04
Tag:

img

Ringkasan

Strategi ini menggunakan tiga penunjuk teknikal - sokongan, rintangan dan garis trend - untuk mengotomatiskan kemasukan dan menghentikan kerugian. Ia pertama mengenal pasti tahap sokongan dan rintangan utama, kemudian menggabungkan arah trend untuk menentukan masa kemasukan.

Logika Strategi

  1. Tentukan tahap sokongan dan rintangan utama.
  2. Menggunakan trendlines untuk menentukan arah trend pasaran. Uptrend ditakrifkan apabila harga lebih tinggi daripada penutupan sebelumnya, jika tidak ia adalah downtrend.
  3. Apabila harga mendekati tahap sokongan dan terdapat trend menaik, isyarat beli dicetuskan.
  4. Apabila harga mendekati tahap rintangan dan terdapat trend penurunan, isyarat jual dicetuskan.
  5. Sasaran keuntungan diambil dikira berdasarkan nisbah risiko-balasan, stop loss ditetapkan berhampiran tahap sokongan.
  6. Stop loss boleh digunakan untuk mengunci keuntungan.

Analisis Kelebihan

  1. Menggunakan sepenuhnya kuasa sokongan, rintangan dan trend - tiga penunjuk teknikal yang kuat.
  2. Masa kemasukan automatik menghilangkan kesilapan subjektif.
  3. Risiko yang boleh dikawal dengan stop loss berhampiran tahap sokongan utama.
  4. Pilihan penangguhan stop loss untuk mengelakkan keuntungan kembali.

Analisis Risiko

  1. Risiko pecah gagal - harga boleh menguji semula tahap sokongan atau rintangan yang pecah selepas pecah awal.
  2. Risiko salah menilai trend - menggunakan trendlines sahaja boleh menyebabkan bias trend yang tidak tepat.
  3. Hentikan kerugian yang diambil risiko - Hentikan kerugian masih boleh terjejas oleh perubahan harga yang tidak menentu walaupun jarak yang dekat dari sokongan.

Penyelesaian:

  1. Membolehkan julat yang lebih luas untuk pengesahan sokongan / rintangan.
  2. Gunakan beberapa penunjuk untuk mengesahkan bias trend.
  3. Mengambil stop loss berasaskan julat atau campur tangan manual tepat pada masanya.

Arahan pengoptimuman

  1. Tambah lebih banyak penunjuk untuk mengesahkan isyarat kemasukan, contohnya penunjuk berasaskan jumlah, purata bergerak dan lain-lain. Ini boleh meningkatkan ketepatan.
  2. Mengoptimumkan tahap sokongan, rintangan dan stop loss dengan menguji parameter yang berbeza.
  3. Cuba kaedah pembelajaran mesin untuk mengoptimumkan parameter secara automatik.

Kesimpulan

Strategi ini menggabungkan kekuatan pelbagai alat teknikal. Dengan penyesuaian parameter yang betul, ia boleh mencapai pulangan yang baik yang disesuaikan dengan risiko. Kuncinya adalah untuk mengoptimumkan parameter dan urutan kemasukan. Secara keseluruhan rangka kerja strategi adalah baik dan mempunyai banyak potensi untuk peningkatan.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support Resistance Trend Strategy", overlay=true)

// Input parameters
supportLevel = input(100, title="Support Level")
resistanceLevel = input(200, title="Resistance Level")
riskRewardRatio = input(2, title="Risk-Reward Ratio")
trailStopLoss = input(true, title="Use Trailing Stop Loss")

// Calculate trend direction based on trend lines
trendUp = close > request.security(syminfo.tickerid, "D", close[1])
trendDown = close < request.security(syminfo.tickerid, "D", close[1])

// Buy signal condition
buySignal = close < supportLevel and trendUp

// Sell signal condition
sellSignal = close > resistanceLevel and trendDown

// Entry point and exit conditions
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)

// Calculate targets and stop-loss levels
targetPrice = close + (close - supportLevel) * riskRewardRatio
stopLossLevel = supportLevel

// Plot support and resistance levels
plot(supportLevel, color=color.green, linewidth=2, title="Support Level")
plot(resistanceLevel, color=color.red, linewidth=2, title="Resistance Level")

// Plot targets and stop-loss levels
plot(targetPrice, color=color.blue, linewidth=2, title="Target Price")
plot(stopLossLevel, color=color.orange, linewidth=2, title="Stop Loss Level")

// Trailing stop-loss
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=stopLossLevel, profit=targetPrice)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", loss=targetPrice, profit=stopLossLevel)

// Plot trail stop loss
if (trailStopLoss)
    strategy.exit("Trailing Stop Loss", from_entry="Buy", loss=stopLossLevel)
    strategy.exit("Trailing Stop Loss", from_entry="Sell", loss=stopLossLevel)


Lebih lanjut