Strategi terobosan tren harga Leapfrog sistem perdagangan kuantitatif berdasarkan level harga utama multi-periode

HOD LOD PMH PML PDH PDL MA RSI ATR ADX
Tanggal Pembuatan: 2025-01-06 16:06:30 Akhirnya memodifikasi: 2025-01-06 16:06:30
menyalin: 1 Jumlah klik: 328
1
fokus pada
1617
Pengikut

Strategi terobosan tren harga Leapfrog sistem perdagangan kuantitatif berdasarkan level harga utama multi-periode

Ringkasan

Strategi ini adalah sistem perdagangan breakout berdasarkan beberapa level harga utama. Ini terutama melacak enam poin utama: intraday high (HOD), intraday low (LOD), pre-market high (PMH), pre-market low (PML), previous day high (PDH) dan previous day low (PDL). Harga level, sinyal perdagangan dihasilkan oleh harga yang menembus level ini. Strategi ini menggunakan perdagangan otomatis untuk mengeksekusi operasi beli dan jual berdasarkan persilangan harga pada level penting.

Prinsip Strategi

Logika inti dari strategi ini mencakup bagian-bagian utama berikut:

  1. Perhitungan tingkat harga utama: Gunakan fungsi request.security untuk memperoleh data harga untuk periode waktu yang berbeda dan hitung enam tingkat harga utama.
  2. Pengaturan kondisi pembukaan: buka posisi panjang saat harga menembus PMH atau PDH ke atas; buka posisi pendek saat harga menembus PML atau PDL ke bawah.
  3. Pengaturan kondisi penutupan: ketika posisi panjang dipegang, jika harga mencapai HOD, posisi ditutup; ketika posisi pendek dipegang, jika harga mencapai LOD, posisi ditutup.
  4. Visualisasi grafis: Gunakan garis horizontal berwarna berbeda untuk menandai setiap tingkat harga, putih untuk HOD, ungu untuk LOD, oranye untuk PDH, biru untuk PDL, hijau untuk PMH, dan merah untuk PML.

Keunggulan Strategis

  1. Referensi harga multidimensi: memahami tren pasar secara komprehensif dengan memantau tingkat harga utama selama beberapa periode waktu.
  2. Logika perdagangan terobosan jelas: sinyal perdagangan dihasilkan berdasarkan terobosan harga, dan aturan perdagangan jelas dan mudah dipahami.
  3. Otomatisasi tingkat tinggi: Sistem secara otomatis menghitung berbagai tingkat harga dan mengeksekusi transaksi, sehingga mengurangi campur tangan manusia.
  4. Efek visualisasi yang kuat: Setiap tingkat harga ditampilkan secara intuitif melalui garis horizontal dengan warna berbeda, yang memudahkan analisis dan penilaian.
  5. Kemampuan beradaptasi yang kuat: Strategi ini dapat diterapkan pada berbagai produk perdagangan dan periode waktu.

Risiko Strategis

  1. Risiko breakout palsu: Pasar mungkin mengalami breakout palsu yang mengakibatkan sinyal palsu.
  2. Ketergantungan Volatilitas: Strategi mungkin berkinerja buruk dalam lingkungan volatilitas rendah.
  3. Pengendalian risiko tidak memadai: kurangnya mekanisme stop-loss dan pengambilan untung yang dinamis.
  4. Ketergantungan lingkungan pasar: Dapat sering berdagang di pasar menyamping di mana trennya tidak jelas.
  5. Dampak penurunan: Anda mungkin menghadapi penurunan yang lebih besar di pasar dengan likuiditas yang buruk.

Arah optimasi strategi

  1. Tambahkan penyaringan indikator teknis:
  • Memperkenalkan indikator RSI untuk menyaring overbought dan oversold
  • Menggunakan ATR untuk mengatur stop loss dinamis
  • Gabungkan ADX untuk menentukan kekuatan tren
  1. Meningkatkan manajemen risiko:
  • Siapkan mekanisme stop loss yang dinamis
  • Menambahkan fungsi trailing stop
  • Membangun mekanisme pengambilan keuntungan secara berkelompok
  1. Konfirmasi sinyal pengoptimalan:
  • Konfirmasi peningkatan volume
  • Menambahkan konfirmasi tren multi-periode
  • Siapkan mekanisme konfirmasi penundaan sinyal

Meringkaskan

Strategi ini menangkap peluang pasar dengan memantau dan memanfaatkan berbagai tingkat harga utama, dan dicirikan oleh logika yang jelas dan tingkat otomatisasi yang tinggi. Tetapi ada juga risiko tertentu, yang perlu dioptimalkan dengan menambahkan penyaringan indikator teknis, meningkatkan mekanisme manajemen risiko, dll. Keuntungan inti dari strategi ini terletak pada sistem referensi harga multidimensinya, yang memungkinkannya memahami tren pasar dengan lebih baik, tetapi dalam penerapan aktual, penyesuaian parameter yang ditargetkan diperlukan sesuai dengan lingkungan pasar yang berbeda.

Kode 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")