Strategi terobosan kesenjangan nilai wajar multi-periode waktu berdasarkan pengujian ulang historis

FVG BOS HTF RR SL
Tanggal Pembuatan: 2025-01-17 14:45:10 Akhirnya memodifikasi: 2025-01-17 14:45:10
menyalin: 0 Jumlah klik: 454
1
fokus pada
1617
Pengikut

Strategi terobosan kesenjangan nilai wajar multi-periode waktu berdasarkan pengujian ulang historis

Tinjauan Strategi

Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan berbagai analisis kerangka waktu, kesenjangan nilai wajar (FVG) dan terobosan struktur (BOS). Ia mengidentifikasi entri perdagangan potensial dengan mengidentifikasi terobosan dalam struktur harga pada jangka waktu yang lebih tinggi sambil mencari kesenjangan nilai wajar yang terbentuk pada jangka waktu yang lebih rendah. Strategi ini juga memadukan sistem manajemen risiko, termasuk pengaturan otomatis stop-loss dan target laba.

Prinsip Strategi

Logika inti strategi ini dibangun atas tiga pilar utama: Pertama, menggunakan kerangka waktu yang lebih tinggi (default 1 jam atau lebih) untuk mengidentifikasi penembusan dalam struktur harga (BOS), yang menyediakan kerangka dasar untuk arah perdagangan. Kedua, carilah Fair Value Gap (FVG) pada kerangka waktu yang lebih rendah. Pembentukan FVG mengindikasikan adanya potensi ketidakseimbangan antara penawaran dan permintaan di pasar pada area ini. Akhirnya, kedua kondisi ini digabungkan dengan posisi harga saat ini untuk memicu sinyal perdagangan ketika harga berada dalam posisi yang menguntungkan. Sistem mengelola risiko setiap perdagangan melalui rasio risiko-hadiah dan faktor stop-loss.

Keunggulan Strategis

  1. Analisis multidimensi: Dengan menggabungkan analisis beberapa periode waktu, keandalan sinyal perdagangan ditingkatkan.
  2. Manajemen risiko yang sempurna: Pengaturan rasio risiko-imbal hasil bawaan dan mekanisme kontrol stop-loss memastikan bahwa setiap transaksi memiliki pengendalian risiko yang jelas.
  3. Umpan Balik Visual: Strategi ini menyediakan umpan balik visual yang jelas, termasuk tampilan kotak FVG dan penandaan peluang perdagangan potensial.
  4. Kemampuan beradaptasi yang kuat: Melalui penyesuaian parameter, strategi dapat beradaptasi dengan berbagai kondisi pasar dan gaya perdagangan.

Risiko Strategis

  1. Risiko breakout palsu: Pasar mungkin mengalami breakout palsu, yang mengakibatkan sinyal perdagangan palsu. Solusinya adalah menambahkan mekanisme konfirmasi sinyal.
  2. Keterlambatan Sinyal: Karena penggunaan data kerangka waktu yang lebih tinggi, mungkin ada kelambatan sinyal. Disarankan untuk mengonfirmasi dalam kombinasi dengan indikator teknis lainnya.
  3. Risiko Volatilitas Pasar: Selama periode volatilitas tinggi, pembentukan FVG mungkin tidak cukup stabil. Hal ini dapat diakomodasi dengan menyesuaikan lama pengamatan FVG.

Arah optimasi strategi

  1. Penyaringan sinyal: Mekanisme konfirmasi volume dapat ditambahkan untuk mengonfirmasi sinyal hanya jika volume mendukungnya.
  2. Parameter dinamis: Rasio risiko-pengembalian dan faktor stop-loss dapat disesuaikan secara dinamis menurut volatilitas pasar.
  3. Penyaringan tren: Tambahkan indikator penilaian tren dan buka posisi hanya dalam arah tren.
  4. Filter Waktu: Tambahkan filter periode waktu perdagangan untuk menghindari perdagangan selama jam pasar yang tidak menguntungkan.

Meringkaskan

Strategi ini membangun sistem perdagangan lengkap dengan menggabungkan analisis multi-periode waktu, terobosan struktur harga, dan kesenjangan nilai wajar. Keunggulannya terletak pada metode analisis multidimensi dan mekanisme manajemen risiko yang sempurna, tetapi pedagang masih perlu melakukan optimalisasi parameter dan pengendalian risiko yang tepat berdasarkan kondisi pasar sebenarnya. Optimalisasi selanjutnya dapat dimulai dari konfirmasi sinyal, penyesuaian parameter dinamis, dan penyaringan lingkungan pasar untuk lebih meningkatkan stabilitas dan keandalan strategi.

Kode Sumber Strategi
/*backtest
start: 2024-01-17 00:00:00
end: 2025-01-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=5
strategy("ICT Strategy with Historical Backtest", overlay=true)

// === Настройки ===
tf = input.timeframe("60", title="Higher Timeframe (1H or above)")  // Таймфрейм для анализа BOS
fvg_length = input(3, title="FVG Lookback Length")                   // Длина для поиска FVG
risk_reward = input(2, title="Risk-Reward Ratio")                    // Риск-вознаграждение
show_fvg_boxes = input(true, title="Show FVG Boxes")                 // Показывать FVG
stop_loss_factor = input.float(1.0, title="Stop Loss Factor")         // Множитель для стоп-лосса

// === Переменные для анализа ===
var float bos_high = na
var float bos_low = na

// Получаем данные с более старшего таймфрейма
htf_high = request.security(syminfo.tickerid, tf, high)
htf_low = request.security(syminfo.tickerid, tf, low)
htf_close = request.security(syminfo.tickerid, tf, close)

// Определение BOS (Break of Structure) на старшем таймфрейме
bos_up = ta.highest(htf_high, fvg_length) > ta.highest(htf_high[1], fvg_length)
bos_down = ta.lowest(htf_low, fvg_length) < ta.lowest(htf_low[1], fvg_length)

// Обновляем уровни BOS
if (bos_up)
    bos_high := ta.highest(htf_high, fvg_length)
if (bos_down)
    bos_low := ta.lowest(htf_low, fvg_length)

// === Определение FVG (Fair Value Gap) ===
fvg_up = low > high[1] and low[1] > high[2]
fvg_down = high < low[1] and high[1] < low[2]

// Визуализация FVG (Fair Value Gap)
// if (show_fvg_boxes)
//     if (fvg_up)
//         box.new(left=bar_index[1], top=high[1], right=bar_index, bottom=low, bgcolor=color.new(color.green, 90), border_color=color.green)
//     if (fvg_down)
//         box.new(left=bar_index[1], top=high, right=bar_index, bottom=low[1], bgcolor=color.new(color.red, 90), border_color=color.red)

// === Логика сделок ===
// Условия для входа в Лонг
long_condition = bos_up and fvg_up and close < bos_high
if (long_condition)
    strategy.entry("Long", strategy.long, stop=low * stop_loss_factor, limit=low + (high - low) * risk_reward)

// Условия для входа в Шорт
short_condition = bos_down and fvg_down and close > bos_low
if (short_condition)
    strategy.entry("Short", strategy.short, stop=high * stop_loss_factor, limit=high - (high - low) * risk_reward)

// === Надписи для прогнозируемых сделок ===
if (long_condition)
    label.new(bar_index, low, text="Potential Long", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)

if (short_condition)
    label.new(bar_index, high, text="Potential Short", color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)