Strategi Peratusan Kerugian Hentian

Penulis:ChaoZhang, Tarikh: 2024-02-01 11:05:36
Tag:

img

Ringkasan

Strategi ini direka untuk kemasukan kedudukan panjang dengan pencetus tarikh tertentu dan mekanisme stop loss terakhir untuk pengurusan risiko. Ia sangat berguna bagi peniaga yang ingin mengotomatiskan kemasukan mereka berdasarkan tarikh kalendar tertentu dan menguruskan kedudukan mereka dengan kaedah kawalan risiko dinamik seperti stop loss terakhir.

Logika Strategi

Strategi pertama mengambil input tarikh kemasukan tertentu, termasuk bulan dan hari, kemudian mengira stempel masa kemasukan yang tepat berdasarkan tarikh-tarikh ini.

Pada tarikh kemasukan, strategi akan membuka kedudukan panjang. Pada masa yang sama, ia merekodkan harga tertinggi (highestPrice) dan harga stop loss (stopLoss). Harga tertinggi terus dikemas kini dari masa ke masa, sementara stopLoss menjejaki dengan peratusan tertentu ke bawah.

Jika harga jatuh di bawah stopLoss, kedudukan akan ditutup. Jika tidak, kedudukan tetap terbuka, dan stopLoss terus mengikuti harga tertinggi untuk mengunci keuntungan dan mengawal risiko.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Masukan automatik berdasarkan tarikh tertentu, sesuai untuk strategi perdagangan di sekitar peristiwa penting.
  2. Menggunakan stop loss untuk mengunci keuntungan secara dinamik dan menguruskan risiko dengan berkesan.
  3. Stop loss ditetapkan sebagai peratusan, mudah dan intuitif untuk beroperasi.
  4. Membolehkan pemegang jangka panjang untuk memaksimumkan potensi menaik.

Analisis Risiko

Terdapat juga beberapa risiko:

  1. Risiko kegagalan stop loss. Jika harga jatuh tajam di bawah stop loss untuk sementara waktu kemudian bangkit kembali, kedudukan mungkin akan dihentikan dan gagal menangkap rebound.
  2. Tiada had kepada kerugian maksimum. Jika peratusan stop loss yang terlalu besar, kerugian maksimum boleh melebihi jangkaan.

Peningkatan yang mungkin:

  1. Gabungkan penunjuk lain untuk menghentikan penangguhan apabila pasaran menghadapi pembetulan, mengelakkan kegagalan.
  2. Tetapkan peratusan stop loss dengan teliti, biasanya di bawah 10%.

Pengoptimuman

Arah pengoptimuman yang mungkin:

  1. Tambah mekanisme mengambil keuntungan. Apabila harga meningkat 50% dan sebagainya, mengambil keuntungan separa atau penuh.
  2. Mengoptimumkan lebar belakang berdasarkan isyarat rejim pasaran dari indeks.
  3. Peningkatan saiz kedudukan. Pertimbangkan untuk membuat piramid apabila puncak baru pecah untuk keuntungan yang lebih besar.

Kesimpulan

Strategi ini menyediakan kemasukan berasaskan tarikh automatik dan pengurusan risiko dinamik melalui kerugian hentian. Mudah dan intuitif untuk beroperasi, sesuai untuk pegangan jangka panjang. Pengoptimuman lanjut boleh menjadikannya strategi perdagangan kuant yang sangat praktikal.


/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Trailing Stop Loss Percent",
     overlay=true, pyramiding=1)

// Input for the specific entry date
entryDay = input.int(defval = 1, title = "Entry Day", minval = 1, maxval = 31)
entryMonth = input.int(defval = 1, title = "Entry Month", minval = 1, maxval = 12)
entryYear = input.int(defval = 2023, title = "Entry Year", minval = 1970)

// Calculate the entry date timestamp
entryDate = timestamp(entryYear, entryMonth, entryDay, 00, 00)

// Trailing Stop Loss Percentage
trailStopPercent = input.float(defval = 5.0, title = "Trailing Stop Loss (%)", minval = 0.1)

// Entry Condition
enterTrade = true

// Variables to track the highest price and stop loss level since entry
var float highestPrice = na
var float stopLoss = na

// Update the highest price and stop loss level
if strategy.position_size > 0
    highestPrice := math.max(highestPrice, high)
    stopLoss := highestPrice * (1 - trailStopPercent / 100)

// Enter the strategy
if enterTrade
    strategy.entry("Long Entry", strategy.long)
    highestPrice := high
    stopLoss := highestPrice * (1 - trailStopPercent / 100)

// Exit the strategy if the stop loss is hit
if strategy.position_size > 0 and low <= stopLoss
    strategy.close("Long Entry")

// Plotting the stop loss level for reference
plot(strategy.position_size > 0 ? stopLoss : na, "Trailing Stop Loss", color=color.red)

Lebih lanjut