추세 구조 돌파 및 주문 블록 공정 가치 갭 전략

SMA MA BOS FVG
생성 날짜: 2024-07-31 11:23:40 마지막으로 수정됨: 2024-07-31 11:23:40
복사: 3 클릭수: 961
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

추세 구조 돌파 및 주문 블록 공정 가치 갭 전략

개요

이 전략은 트렌드 추적, 구조적 돌파구, 주문 블록 및 공정 가치 격차 개념을 결합한 통합 거래 시스템입니다. 그것은 가격 구조의 돌파구를 찾고 시장의 추세를 확인하는 데 빠르고 느린 이동 평균을 사용합니다. 또한 전략은 잠재적인 지원 및 저항 영역인 중요한 주문 블록과 공정 가치 격차를 식별합니다. 이러한 기술적 분석 개념을 통합하여 전략은 강력한 시장 움직임을 포착하는 동시에 중요한 가격 수준에서 추가 거래 신호를 제공하는 것입니다.

전략 원칙

  1. 트렌드 식별: 9주기 및 21주기 간단한 이동 평균 ((SMA) 을 사용하여 시장 트렌드를 결정한다. 빠른 SMA가 느린 SMA보다 높을 때, 황소 시장 트렌드로 간주되며, 반대로 곰 시장 트렌드이다.

  2. 구조적 돌파 ((BOS): 전략은 10주기 동안의 최고 최고점과 최저 최저점을 추적한다. 가격이 이러한 수준을 돌파할 때, 구조적 돌파구로 간주되며, 라벨로 표시된다.

  3. 주문 블록: 구조적 돌파구가 발생했을 때 잠재적인 주문 블록을 전략적으로 식별하십시오. 이러한 지역은 중요한 공급 및 수요 지역으로 간주되며 향후 지원 또는 저항 역할을 할 수 있습니다.

  4. 공정 가치 격차 (Fair Value Gap, FVG): 가격이 급격히 돌파될 때, 전략은 잠재적인 공정 가치 격차를 식별한다. 이러한 격차는 시장이 채울 수 있는 지역으로 간주된다.

  5. 입구 신호: 전략은 빠른 MA와 느린 이동 평균의 교차를 사용하여 입구 신호를 생성한다. 빠른 MA가 느린 MA를 통과하면 다중 신호를 유발한다. 빠른 MA가 느린 MA를 통과하면 공백 신호를 유발한다.

전략적 이점

  1. 다차원 분석: 이 전략은 기술 분석의 여러 개념을 결합하여 보다 포괄적인 시장 관점을 제공하여 보다 현명한 거래 결정을 내리는 데 도움을 줍니다.

  2. 트렌드 추적 및 반전: 이동 평균과 구조적 돌파구를 결합하여 전략은 주요 트렌드를 따라갈 수 있지만 잠재적인 반전 기회를 잡을 수 있습니다.

  3. 중요한 가격 수준을 식별: 주문 블록과 공정 가치 틈의 개념은 거래자가 미래의 가격 움직임에 영향을 줄 수있는 중요한 지원 및 저항 수준을 식별하는 데 도움이됩니다.

  4. 시각화 도구: 트레이더가 시장 구조를 빠르게 이해할 수 있도록 중요한 정보를 시각화하기 위해 태그, 틀 및 선을 사용하는 전략.

  5. 유연성: 이동 평균 주기와 하락과 같은 조정 가능한 매개 변수를 통해 전략은 다른 시장 조건과 거래 스타일에 적응할 수 있습니다.

전략적 위험

  1. 가짜 브레이크: 변동성이 높은 시장에서 가짜 브레이크가 발생하여 잘못된 거래 신호가 발생할 수 있습니다.

  2. 뒤처진성: 이동 평균은 본질적으로 뒤처진 지표이며, 빠르게 변화하는 시장에서 반응하지 않을 수 있다.

  3. 과도한 기술 지표 의존: 기술 지표에만 의존하여 기초 분석을 무시하면 중요한 경제 사건이나 보도 발표에서 잘못된 결정을 내릴 수 있습니다.

  4. 매개 변수 민감성: 전략의 성능은 입력 매개 변수에 매우 민감할 수 있으며, 신중한 최적화와 재검토가 필요합니다.

  5. 현 전략에는 명확한 스톱 로스 메커니즘이 없기 때문에 불리한 상황에서는 과도한 손실이 발생할 수 있습니다.

전략 최적화 방향

  1. 다이내믹 스톱 도입: ATR 또는 근래 변동성에 기반한 다이내믹 스톱 메커니즘을 추가하는 것을 고려하여 위험을 더 잘 관리하십시오.

  2. 통합 트래픽 분석: 트래픽 지표를 전략에 포함하면 트렌드 강도와 돌파구의 유효성을 확인하는 데 도움이 될 수 있습니다.

  3. 진입 시기를 최적화: 이동 평균의 교차에 기초하여 RSI 또는 MACD와 같은 추가 필터링 조건을 추가하여 가짜 신호를 줄이는 것을 고려하십시오.

  4. 다양한 시간 프레임에 대응: 다양한 시간 프레임에 대한 전략을 테스트하여 가장 잘 작동하는 설정을 찾아보십시오.

  5. 기본적 필터를 추가하세요: 중요한 뉴스 발표 이전에 거래하는 것을 피하기 위해 몇 가지 기본 지표 또는 경제 달력을 통합하는 것을 고려하십시오.

  6. 주문 블록과 FVG 논리 개선: 더 정확한 주문 블록과 공정 가치 틈새를 식별하기 위해 더 복잡한 알고리즘을 사용하는 것을 고려할 수 있습니다.

  7. 일부 수익을 달성: 일부 수익 목표를 달성 할 때, 수익을 고정하고 철수를 줄이기 위해 일부 평준화를 고려하십시오.

요약하다

트렌드 브레이커스 및 오더 블록 공정 가치 격차 전략은 여러 고급 거래 개념을 결합한 통합적인 기술 분석 거래 시스템입니다. 이 전략은 트렌드 추적, 구조 브레이커스, 오더 블록 및 공정 가치 격차를 통합하여 포괄적인 시장 분석 프레임 워크를 제공합니다. 다차원 시장 통찰력과 유연한 파라미터 설정으로 인해 다양한 시장 환경에 적응 할 수 있습니다. 그러나 모든 거래 전략과 마찬가지로 기술 지표에 과도하게 의존하는 가짜 돌파 및 돌파의 위험이 있습니다.

전략 소스 코드
/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Trend and Structure Break Strategy", overlay=true)

// Inputs for the moving averages to determine trend
fastLength = input.int(9, title="Fast MA Length")
slowLength = input.int(21, title="Slow MA Length")

// Inputs for the order block and fair value gap
orderBlockThreshold = input.float(0.1, title="Order Block Threshold (%)")
fvgThreshold = input.float(0.5, title="Fair Value Gap Threshold (%)")

// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)

// Determine trend
isBullishTrend = fastMA > slowMA
isBearishTrend = fastMA < slowMA

// Break of structure
var float highestHigh = na
var float lowestLow = na

if isBullishTrend
    highestHigh := ta.highest(high, 10)
    if close > highestHigh
        label.new(bar_index, high, "BOS Up", style=label.style_label_down, color=color.green)
if isBearishTrend
    lowestLow := ta.lowest(low, 10)
    if close < lowestLow
        label.new(bar_index, low, "BOS Down", style=label.style_label_up, color=color.red)

// Identify order block
var float orderBlockHigh = na
var float orderBlockLow = na

if isBullishTrend and close > highestHigh
    orderBlockHigh := highestHigh
    orderBlockLow := close * (1 - orderBlockThreshold / 100)
    box.new(left=bar_index - 1, right=bar_index, top=orderBlockHigh, bottom=orderBlockLow, bgcolor=color.new(color.green, 80))

if isBearishTrend and close < lowestLow
    orderBlockLow := lowestLow
    orderBlockHigh := close * (1 + orderBlockThreshold / 100)
    box.new(left=bar_index - 1, right=bar_index, top=orderBlockHigh, bottom=orderBlockLow, bgcolor=color.new(color.red, 80))

// Identify fair value gap
var line fvgLine1 = na
var line fvgLine2 = na
var line fvgLine3 = na

if isBullishTrend and ta.crossover(close, highestHigh)
    fvgLine1 := line.new(x1=bar_index, y1=high, x2=bar_index + 1, y2=high, color=color.blue)
    fvgLine2 := line.new(x1=bar_index, y1=high * (1 - fvgThreshold / 100), x2=bar_index + 1, y2=high * (1 - fvgThreshold / 100), color=color.blue)
    fvgLine3 := line.new(x1=bar_index, y1=high * (1 - fvgThreshold / 100 * 2), x2=bar_index + 1, y2=high * (1 - fvgThreshold / 100 * 2), color=color.blue)

if isBearishTrend and ta.crossunder(close, lowestLow)
    fvgLine1 := line.new(x1=bar_index, y1=low, x2=bar_index + 1, y2=low, color=color.blue)
    fvgLine2 := line.new(x1=bar_index, y1=low * (1 + fvgThreshold / 100), x2=bar_index + 1, y2=low * (1 + fvgThreshold / 100), color=color.blue)
    fvgLine3 := line.new(x1=bar_index, y1=low * (1 + fvgThreshold / 100 * 2), x2=bar_index + 1, y2=low * (1 + fvgThreshold / 100 * 2), color=color.blue)

// Entry and exit signals
if (ta.crossover(fastMA, slowMA))
    strategy.entry("Long", strategy.long)

if (ta.crossunder(fastMA, slowMA))
    strategy.entry("Short", strategy.short)

// Plot moving averages
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")