Sistem dagangan kuantitatif strategi terobosan harga Leapfrog berdasarkan tahap harga utama berbilang tempoh

HOD LOD PMH PML PDH PDL MA RSI ATR ADX
Tarikh penciptaan: 2025-01-06 16:06:30 Akhirnya diubah suai: 2025-01-06 16:06:30
Salin: 1 Bilangan klik: 328
1
fokus pada
1617
Pengikut

Sistem dagangan kuantitatif strategi terobosan harga Leapfrog berdasarkan tahap harga utama berbilang tempoh

Gambaran keseluruhan

Strategi ini ialah sistem dagangan pelarian berdasarkan pelbagai tahap harga utama. Ia terutamanya menjejaki enam perkara utama: intraday high (HOD), intraday low (LOD), pra-pasaran tinggi (PMH), pra-pasaran rendah (PML), sebelumnya hari tinggi (PDH) dan sebelumnya harga rendah (PDL). tahap, isyarat dagangan dijana oleh harga menembusi tahap ini. Strategi ini menggunakan dagangan automatik untuk melaksanakan operasi beli dan jual berdasarkan persimpangan harga pada tahap utama.

Prinsip Strategi

Logik teras strategi merangkumi bahagian penting berikut:

  1. Pengiraan tahap harga utama: Gunakan fungsi request.security untuk mendapatkan data harga untuk tempoh masa yang berbeza dan mengira enam tahap harga utama.
  2. Tetapan keadaan pembukaan: buka kedudukan beli apabila harga menembusi PMH atau PDH ke atas;
  3. Penetapan keadaan penutupan: apabila kedudukan panjang dipegang, jika harga mencapai HOD, kedudukan ditutup apabila kedudukan pendek dipegang, jika harga mencapai LOD, kedudukan ditutup.
  4. Visualisasi grafik: Gunakan garis mendatar berwarna berbeza untuk menandakan setiap tahap harga, putih untuk HOD, ungu untuk LOD, oren untuk PDH, biru untuk PDL, hijau untuk PMH dan merah untuk PML.

Kelebihan Strategik

  1. Rujukan harga pelbagai dimensi: memahami secara menyeluruh arah aliran pasaran dengan memantau tahap harga utama dalam beberapa tempoh masa.
  2. Logik perdagangan terobosan adalah jelas: isyarat dagangan dijana berdasarkan penembusan harga, dan peraturan dagangan adalah jelas dan mudah difahami.
  3. Tahap automasi yang tinggi: Sistem secara automatik mengira pelbagai tahap harga dan melaksanakan transaksi, mengurangkan campur tangan manusia.
  4. Kesan visualisasi yang kuat: Setiap tahap harga dipaparkan secara intuitif melalui garisan mendatar dengan warna yang berbeza, yang sesuai untuk analisis dan pertimbangan.
  5. Kebolehsuaian yang kukuh: Strategi ini boleh digunakan pada produk dagangan dan tempoh masa yang berbeza.

Risiko Strategik

  1. Risiko pelarian palsu: Pasaran mungkin mengalami pelarian palsu yang mengakibatkan isyarat palsu.
  2. Ketergantungan Volatiliti: Strategi mungkin berprestasi buruk dalam persekitaran turun naik yang rendah.
  3. Kawalan risiko yang tidak mencukupi: kekurangan mekanisme henti rugi dan pengambilan untung yang dinamik.
  4. Pergantungan persekitaran pasaran: Boleh berdagang dengan kerap dalam pasaran sisi yang arah alirannya tidak jelas.
  5. Kesan gelinciran: Anda mungkin menghadapi kegelinciran yang lebih besar dalam pasaran dengan kecairan yang lemah.

Arah pengoptimuman strategi

  1. Tambah penapisan penunjuk teknikal:
  • Memperkenalkan penunjuk RSI untuk menapis terlebih beli dan terlebih jual
  • Menggunakan ATR untuk menetapkan stop loss dinamik
  • Gabungkan ADX untuk menentukan kekuatan aliran
  1. Meningkatkan pengurusan risiko:
  • Sediakan mekanisme henti rugi dinamik
  • Menambahkan fungsi trailing stop
  • Wujudkan mekanisme mengaut keuntungan secara berkelompok
  1. Pengesahan isyarat pengoptimuman:
  • Tingkatkan pengesahan volum
  • Menambahkan pengesahan aliran berbilang tempoh
  • Sediakan mekanisme pengesahan kelewatan isyarat

ringkaskan

Strategi ini menangkap peluang pasaran dengan memantau dan menggunakan pelbagai tahap harga utama, dan dicirikan oleh logik yang jelas dan tahap automasi yang tinggi. Tetapi terdapat juga risiko tertentu, yang perlu dioptimumkan dengan menambahkan penapisan penunjuk teknikal, menambah baik mekanisme pengurusan risiko, dsb. Kelebihan teras strategi terletak pada sistem rujukan harga berbilang dimensinya, yang membolehkannya memahami arah aliran pasaran dengan lebih baik, tetapi dalam aplikasi sebenar, pelarasan parameter yang disasarkan diperlukan mengikut persekitaran pasaran yang berbeza.

Kod sumber strategi
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradingbauhaus

//@version=6
strategy("HOD/LOD/PMH/PML/PDH/PDL Strategy by tradingbauhaus ", shorttitle="HOD/LOD Strategy", overlay=true)

// Daily high and low
dailyhigh = request.security(syminfo.tickerid, 'D', high)
dailylow = request.security(syminfo.tickerid, 'D', low)

// Previous day high and low
var float previousdayhigh = na
var float previousdaylow = na
high1 = request.security(syminfo.tickerid, 'D', high[1])
low1 = request.security(syminfo.tickerid, 'D', low[1])
high0 = request.security(syminfo.tickerid, 'D', high[0])
low0 = request.security(syminfo.tickerid, 'D', low[0])

// Yesterday high and low
if (hour == 9 and minute > 30) or hour > 10
    previousdayhigh := high1
    previousdaylow := low1
else
    previousdayhigh := high0
    previousdaylow := low0

// Premarket high and low
t = time("1440", "0000-0930") // 1440 is the number of minutes in a whole day.
is_first = na(t[1]) and not na(t) or t[1] < t
ending_hour = 9
ending_minute = 30

var float pm_high = na
var float pm_low = na

if is_first and barstate.isnew and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    pm_low := low
else 
    pm_high := pm_high[1]
    pm_low := pm_low[1]

if high > pm_high and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_high := high
    
if low < pm_low and ((hour < ending_hour or hour >= 16) or (hour == ending_hour and minute < ending_minute))
    pm_low := low

// Plotting levels
plot(dailyhigh, style=plot.style_line, title="Daily high", color=color.white, linewidth=1, trackprice=true)
plot(dailylow, style=plot.style_line, title="Daily low", color=color.purple, linewidth=1, trackprice=true)
plot(previousdayhigh, style=plot.style_line, title="Previous Day high", color=color.orange, linewidth=1, trackprice=true)
plot(previousdaylow, style=plot.style_line, title="Previous Day low", color=color.blue, linewidth=1, trackprice=true)
plot(pm_high, style=plot.style_line, title="Premarket high", color=color.green, linewidth=1, trackprice=true)
plot(pm_low, style=plot.style_line, title="Premarket low", color=color.red, linewidth=1, trackprice=true)

// Strategy logic
// Long entry: Price crosses above PMH or PDH
if (ta.crossover(close, pm_high) or ta.crossover(close, previousdayhigh)) and strategy.opentrades == 0
    strategy.entry("Long", strategy.long)

// Short entry: Price crosses below PML or PDL
if (ta.crossunder(close, pm_low) or ta.crossunder(close, previousdaylow)) and strategy.opentrades == 0
    strategy.entry("Short", strategy.short)

// Exit long: Price reaches HOD
if strategy.position_size > 0 and ta.crossover(close, dailyhigh)
    strategy.close("Long")

// Exit short: Price reaches LOD
if strategy.position_size < 0 and ta.crossunder(close, dailylow)
    strategy.close("Short")