Strategi regresi berbasis breakout


Tanggal Pembuatan: 2024-03-01 11:58:56 Akhirnya memodifikasi: 2024-03-01 11:58:56
menyalin: 2 Jumlah klik: 651
1
fokus pada
1617
Pengikut

Strategi regresi berbasis breakout

Ringkasan

Strategi ini adalah metode sistematis yang bertujuan untuk memanfaatkan volatilitas pasar futures minyak mentah. Ini mengukur kisaran interval rata-rata dari leverage, yang berarti leverage lebih besar jika rata-rata bergerak cepat lebih tinggi dari rata-rata bergerak lambat; jika rata-rata bergerak lambat lebih tinggi dari rata-rata bergerak cepat, itu berarti leverage lebih kecil.

Berdasarkan prinsip ini, identifikasi potensi titik masuk panjang dan titik masuk pendek. Posisi hanya mempertahankan sejumlah frame tertentu, parameter ini dikendalikan oleh input frame Exit after bars.

Prinsip Strategi

  1. Perhitungan harga penutupan tertinggi dari 9 garis K terbaru, sebagai kriteria untuk menilai terobosan
  2. Menghitung harga penutupan minimum dari 50 garis K terakhir sebagai kriteria untuk menilai terobosan
  3. Perhitungan bandwidth rata-rata antara 5 dan 20 garis K terbaru untuk menentukan apakah bentuk garis K semakin besar atau semakin kecil
  4. Identifikasi sinyal breakout garis panjang dan garis pendek: melakukan overtrading ketika harga closeout sama dengan harga closeout tertinggi dan garis K berkurang; melakukan shorting ketika harga closeout sama dengan harga closeout terendah dan garis K berkurang
  5. K-line yang terjalin setelah terobosan: parameter yang dapat disesuaikan untuk mengubah interval posisi

Analisis Keunggulan

  1. Strategi regresi, menilai arah pasar dengan membandingkan dengan nilai tertinggi historis
  2. Keputusan yang tidak stabil dapat mencegah terjadinya terobosan palsu
  3. Garis K tetap keluar dari lapangan, dapat mengunci keuntungan tertentu, menghindari mundur

Analisis risiko

  1. Nilai historis berubah seiring dengan perubahan struktur pasar, kemungkinan kegagalan sinyal
  2. Penembakan palsu menyebabkan penjara
  3. Parameter jarak jauh yang tidak tepat dapat menyebabkan kerugian atau kehilangan keuntungan yang lebih besar

Arah optimasi

  1. Parameter nilai ekstrim dapat dioptimalkan melalui statistik praktis
  2. Indikator volatilitas yang dapat dimasukkan untuk menilai probabilitas terobosan yang sebenarnya
  3. Optimalkan jumlah akar off-site dengan strategi pengukuran kembali

Meringkaskan

Strategi ini menggunakan breakout dan regresi untuk menilai tren jangka pendek, termasuk strategi volatilitas. Dengan mengoptimalkan pengaturan parameter dan menambahkan indikator volatilitas, Anda dapat mengurangi probabilitas false breakout dan meningkatkan tingkat keuntungan. Sementara itu, mekanisme cepat keluar dari garis K akar tetap dapat mengunci keuntungan tertentu dan secara efektif mengendalikan risiko.

Kode Sumber Strategi
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1d
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/
// © Celestial_Logic

//@version=5
strategy("Crudeoil Breakout strategy", overlay = true, initial_capital = 20000, default_qty_type = strategy.fixed, default_qty_value = 1)


highestCloseLookback = input(9 , title = 'Highest Close lookback')
lowestCloseLookback  = input(50, title = 'Lowest Close lookback'  ) 

exitAfter = input(10, title = 'Exit after bars')

hc = ta.highest(close,highestCloseLookback)
lc = ta.lowest(close,lowestCloseLookback)

rangeFilter = (ta.sma( (high - low), 5 ) > ta.sma((high-low), 20) ) // Candles getting bigger.

longCondition  = (close == hc ) and not rangeFilter
shortCondition = (close == lc ) and not rangeFilter
if  longCondition
    strategy.entry(id = 'long', direction = strategy.long) 
if shortCondition
    strategy.entry(id = 'short', direction = strategy.short)



var int longsince = 0 
var int shortsince = 0 

if strategy.position_size > 0 
    longsince += 1
else
    longsince := 0

if strategy.position_size < 0 
    shortsince += 1 
else 
    shortsince := 0

if longsince >= exitAfter 
    strategy.close(id = 'long', comment = 'long close')
if shortsince >= exitAfter
    strategy.close(id = 'short', comment = 'short close')