이 전략은 멀티 타임프레임 분석, 공정 가치 격차 (FVG), 구조의 깨짐 (BOS) 을 결합한 포괄적인 거래 시스템이다. 이 전략은 더 낮은 시간 프레임에서 공정 가치 격차 기회를 검색하면서 더 높은 시간 프레임에서 구조의 깨짐을 탐지함으로써 잠재적 인 거래 항목을 식별합니다. 이 전략에는 자동화 된 스톱 손실 및 영업 설정과 함께 리스크 관리 시스템이 포함되어 있습니다.
핵심 논리는 세 가지 주요 기둥에 기반을 두고 있다. 첫째, 상거래 방향의 기본 틀을 제공하는 브레이크 오브 스트럭처 (BOS) 를 식별하기 위해 더 높은 시간 프레임 (디폴트 1시간 이상) 을 사용합니다. 둘째, 낮은 시간 프레임에서 공정 가치 격차 (FVG) 를 찾고, 해당 지역의 잠재적 인 공급-수요 불균형을 나타냅니다. 마지막으로, 가격은 유리한 위치에있을 때 현재 가격 위치와 이러한 조건을 결합하여 거래 신호를 유발합니다. 시스템은 위험-상금 비율 및 스톱-손실 요인을 통해 위험을 관리합니다.
이 전략은 멀티 타임프레임 분석, 가격 구조 브레이크아웃 및 공정 가치 격차의 포괄적 인 사용을 통해 완전한 거래 시스템을 구축합니다. 그것의 강점은 다차원 분석 접근법과 포괄적인 위험 관리 메커니즘에 있습니다. 그러나 거래자는 여전히 실제 시장 조건에 따라 매개 변수를 최적화하고 위험을 제어해야합니다. 추가 최적화는 신호 확인, 동적 매개 변수 조정 및 시장 환경 필터링에 집중하여 전략 안정성과 신뢰성을 더욱 향상시킬 수 있습니다.
/*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)