리소스 로딩... 로딩...

트렌드 구조와 주문 블록 및 적정 가치 격차 전략의 깨짐

저자:차오장, 날짜: 2024-07-31 11:23:40
태그:SMAMABOSFVG

img

전반적인 설명

이 전략은 트렌드 추적, 구조 브레이크, 오더 블록 및 적정 가치 격차를 결합한 포괄적인 거래 시스템이다. 가격 구조에서 브레이크 포인트를 검색하면서 시장 추세를 결정하기 위해 빠르고 느린 이동 평균을 사용합니다. 또한 전략은 잠재적인 지원 및 저항 영역인 중요한 오더 블록 및 적정 가치 격차를 식별합니다. 이러한 기술적 분석 개념을 통합함으로써 전략은 주요 가격 수준에서 추가 거래 신호를 제공하면서 강력한 시장 움직임을 포착하는 것을 목표로합니다.

전략 원칙

  1. 트렌드 식별: 시장 트렌드를 결정하기 위해 9 기간 및 21 기간 간단한 이동 평균 (SMA) 을 사용합니다. 빠른 SMA가 느린 SMA보다 높을 때 상승 추세가 확인되며 하락 추세에 반대의 경우입니다.

  2. 구조의 깨기 (BOS): 전략은 10 기간 동안 가장 높은 최고와 가장 낮은 최저를 추적합니다. 가격이 이러한 수준을 깨면 구조의 깨기라고 간주되며 라벨로 표시됩니다.

  3. 오더 블록: 구조 붕괴가 발생하면 전략은 잠재적 인 오더 블록을 식별합니다. 이러한 영역은 미래에 지원 또는 저항으로 작용할 수있는 중요한 공급 및 수요 구역으로 간주됩니다.

  4. 공정 가치 격차 (Fair Value Gaps, FVG): 가격이 급격히 폭락할 때 전략은 잠재적 인 공정 가치 격차를 식별합니다. 이러한 격차는 시장이 채우기 위해 재구성 할 수있는 영역으로 간주됩니다.

  5. 엔트리 신호: 이 전략은 엔트리 신호를 생성하기 위해 빠르고 느린 이동 평균의 교차를 사용합니다. 빠른 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")

관련

더 많은