Sumber dimuat naik... memuat...

Strategi Penembusan Jurang Nilai Adil Berbilang Jangka Masa dengan Ujian Kembali Sejarah

Penulis:ChaoZhang, Tarikh: 2025-01-17 14:45:10
Tag:FVGBOSHTFRRSL

 Multi-timeframe Fair Value Gap Breakout Strategy with Historical Backtest

Ringkasan Strategi

Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan analisis pelbagai jangka masa, jurang nilai adil (FVG), dan pecah struktur (BOS). Ia mengenal pasti entri perdagangan berpotensi dengan mengesan pecah struktur pada jangka masa yang lebih tinggi sambil mencari peluang jurang nilai wajar pada jangka masa yang lebih rendah. Strategi ini juga menggabungkan sistem pengurusan risiko dengan tetapan stop-loss dan mengambil keuntungan automatik.

Prinsip Strategi

Logik teras dibina di atas tiga tiang utama: Pertama, ia menggunakan jangka masa yang lebih tinggi (default 1 jam atau lebih tinggi) untuk mengenal pasti Break of Structure (BOS), yang menyediakan rangka kerja asas untuk arah perdagangan. Kedua, ia mencari Jurang Nilai Adil (FVG) pada jangka masa yang lebih rendah, menunjukkan potensi ketidakseimbangan bekalan-permintaan di kawasan tersebut. Akhirnya, ia menggabungkan keadaan ini dengan kedudukan harga semasa untuk mencetuskan isyarat perdagangan apabila harga berada di lokasi yang menguntungkan. Sistem menguruskan risiko melalui nisbah risiko-balasan dan faktor berhenti-kerugian.

Kelebihan Strategi

  1. Analisis Multidimensional: Menggabungkan pelbagai analisis jangka masa untuk meningkatkan kebolehpercayaan isyarat.
  2. Pengurusan Risiko Komprehensif: Tetapan ganjaran risiko terbina dalam dan mekanisme kawalan stop-loss memastikan pengurusan risiko yang jelas untuk setiap perdagangan.
  3. Maklumat Kembali Visual: Strategi memberikan maklum balas visual yang jelas termasuk paparan kotak FVG dan penanda peluang perdagangan yang berpotensi.
  4. Kebolehsesuaian yang tinggi: Melalui penyesuaian parameter, strategi dapat disesuaikan dengan keadaan pasaran dan gaya perdagangan yang berbeza.

Risiko Strategi

  1. Risiko pecah palsu: Pasaran mungkin mempamerkan pecah palsu yang membawa kepada isyarat perdagangan yang tidak betul.
  2. Kelewatan isyarat: Oleh kerana penggunaan data jangka masa yang lebih tinggi, mungkin terdapat kelewatan isyarat.
  3. Risiko Volatiliti Pasaran: Semasa tempoh volatiliti yang tinggi, pembentukan FVG mungkin tidak stabil.

Arahan Pengoptimuman Strategi

  1. Penapisan Isyarat: Tambah mekanisme pengesahan jumlah untuk mengesahkan isyarat hanya apabila disokong oleh jumlah.
  2. Parameter Dinamik: Sesuaikan secara dinamik nisbah risiko-balasan dan faktor stop-loss berdasarkan turun naik pasaran.
  3. Penapisan Trend: Tambah penunjuk pengenalan trend untuk mengambil kedudukan hanya ke arah trend.
  4. Penapisan Masa: Tambah penapisan sesi dagangan untuk mengelakkan dagangan semasa tempoh pasaran yang tidak menguntungkan.

Ringkasan

Strategi ini membina sistem perdagangan yang lengkap melalui penggunaan analisis pelbagai jangka masa, penembusan struktur harga, dan jurang nilai wajar. Kekuatannya terletak pada pendekatan analisis berbilang dimensi dan mekanisme pengurusan risiko yang komprehensif, tetapi peniaga masih perlu mengoptimumkan parameter dan mengawal risiko mengikut keadaan pasaran sebenar. Pengoptimuman lanjut boleh memberi tumpuan kepada pengesahan isyarat, penyesuaian parameter dinamik, dan penapisan persekitaran pasaran untuk meningkatkan lagi kestabilan dan kebolehpercayaan 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)


Berkaitan

Lebih lanjut