15분 차트를 휩쓸고 있는 브레이크아웃 다중 확인 전략

EMA RSI 吞没形态 突破策略 多重确认 风险管理 技术分析 ENGULFING PATTERN Breakout Strategy MULTI-CONFIRMATION
생성 날짜: 2025-04-16 15:33:57 마지막으로 수정됨: 2025-04-16 15:33:57
복사: 0 클릭수: 581
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

15분 차트를 휩쓸고 있는 브레이크아웃 다중 확인 전략 15분 차트를 휩쓸고 있는 브레이크아웃 다중 확인 전략

개요

15분 차트 침식 돌파 복수확인 전략은 가격 행동과 폭락 형태를 기반으로 한 기술 분석 거래 시스템이며, 15분 시간 주기만을 위해 설계되었다. 이 전략의 핵심은 침식 형태를 식별하고, 복수 확인 조건과 결합하여 거래 신호를 유발하는 것으로, 통계에 따르면 성공률은 76%에 달한다. 이 전략은 부진과 부진 침식 형태를 검출한 후 가격이 이전에 반대 방향으로의 두 개의 침식 수평 형태를 돌파했는지 확인함으로써, 낮은 품질의 신호를 필터링하여 거래 성공률을 높인다. 이 전략은 동시에 내장된 스톱 로즈 및 스톱 메커니즘을 통해, 위험을 효과적으로 제어하고, 자금 관리 효율성을 높인다.

전략 원칙

이 침투의 핵심 원칙은 몇 가지 핵심 기술 요소에 기반합니다.

  1. 형태를 인식하는 것을 삼키고

    • 을 삼키는 형태: 현재 은 양선, 이전 은 음선이며, 현재 의 개시 가격은 이전 의 개시 가격보다 낮고, 종료 가격은 이전 의 개시 가격보다 높다
    • 하락 침수 형식: 현재 은 음선, 이전 은 양선이며, 현재 의 개시 가격은 이전 의 종료 가격보다 높고, 종료 가격은 이전 의 개시 가격보다 낮다
  2. 다중 인증 시스템

    • 전략은 최근 10개의 삼키기 형태의 가격 수준을 저장하는 배열을 사용합니다.
    • 거래 신호는 적어도 두 개의 이전 반전 포식 형태의 가격 수준을 돌파하여 확인되어야 합니다.
  3. 거래 구역 설정

    • 보이스 신호: 보이스가 삼키는 형태를 감지하고 적어도 두 개의 이전 하락의 삼키는 하락점을 돌파했을 때 구매 영역을 설정합니다.
    • 하락 신호: 하락의 삼킨 형태가 감지되고 적어도 두 개의 이전 보수의 삼킨 고점을 돌파했을 때 판매 영역을 설정합니다.
  4. 입학 조건

    • 다중 입점: 가격 하락은 매입 지역 최고치를 만지고 매입 지역 하락보다 높은 매입 가격
    • 공백 입시: 가격 고점은 매각 지역 저점과 매각 지역 고점보다 낮은 매각 가격
  5. 위험 관리

    • 침식 영역에 기반한 동적 스톱 로드를 사용하며, 추가적인 점차 보호 (점차 크기의 30배)
    • 동적 정지 설정은 침수 영역에 기반하여 위험과 수익이 합리적임을 보장합니다.

이러한 다단계 인증 메커니즘을 통해 전략은 시장 소음을 효과적으로 필터링하여 높은 확률의 거래 기회를 잡을 수 있습니다.

전략적 이점

코드 구조와 논리를 깊이 분석하는 이 전략은 다음과 같은 중요한 장점을 가지고 있다:

  1. 다중 확인 필터링 메커니즘: 적어도 두 개의 이전 반대 방향으로 침투를 요구함으로써 신호 품질이 크게 향상되고, 가짜 침투로 인한 손실 위험이 줄어들었습니다.

  2. 동적 거래 지역: 고정 가격 수준 전략과는 달리, 이 전략은 실시간 가격 형태에 따라 거래 지역을 조정하여 시장 변화에 더 잘 적응한다.

  3. 높은 승률코드 코드에 언급된 76%의 성공률은 15분 차트에서 이 전략이 안정적으로 작동하는 것을 나타냅니다. 이는 대부분의 거래 시스템의 평균보다 훨씬 높습니다.

  4. 지능형 위험 관리: 거래 구역과 관련된 스톱 로드 위치를 설정하여, 모든 거래에 명확한 탈퇴 계획이 있으며, 감정적 거래의 위험을 피합니다.

  5. 명확한 시각화: 도표에 삼각형을 표시함으로써, 거래자는 전략의 작동 원리와 신호 생성 과정을 직관적으로 이해할 수 있다.

  6. 유연한 재무 관리전략: 계정의 지분 비율을 <10%>로 지정하여 포지션 관리를 합니다. 이는 위험 포지션의 일관성을 유지하며, 계정의 장기적인 성장을 지원합니다.

  7. 시장의 변화에 적응하는 것이 전략은 시상부와 시상부 삼키기를 동시에 감시하기 때문에 상승과 하락의 양쪽에서 잘 대처할 수 있다.

전략적 위험

이 전략에는 많은 장점이 있지만, 코드 분석을 통해 우리는 몇 가지 잠재적인 위험도 발견했습니다.

  1. 급격한 시장 변동의 위험: 높은 변동성 시장에서, 가격이 빠르게 삼키기 영역을 돌파하고 뒤집을 수 있으며, 그로 인해 스톱 손실이 유발됩니다. 해결 방법: 스톱 손실 거리를 조정하거나 ATR과 같은 변동성 지표가 높을 때 거래를 중단하는 것이 고려 될 수 있습니다.

  2. 큰 트렌드를 놓치고 있습니다.: 전략이 각 신호 발동 후 해당 거래 영역을 재설정하기 때문에, 큰 트렌드에서 연속적인 기회를 놓칠 수 있습니다. 해결 방법: 트렌드 필터를 추가하여 강한 트렌드에서 방향적 선호를 유지할 수 있습니다.

  3. 자금 관리 고정화전략: 거래 상황에 따라 다른 위험 특성에 따라 포지션 크기를 조정하지 않고 매 거래마다 고정된 지분 비율 ((10%) 을 설정합니다. 해결 방법: 중단 거리 또는 시장의 변동적 동력에 따라 포지션 크기를 조정하는 것을 고려하십시오.

  4. 점차 설정 최적화전략: 고정된 점차를 사용하여 ((30× 점차 크기) 스톱로스 및 스톱 포지션을 조정합니다. 이는 다른 거래 품종에서 조정해야 할 수 있습니다. 해결 방법: 점차 크기를 파라미탈화하여 다른 거래 품종의 특성에 따라 최적화하십시오.

  5. 탈퇴 위험: 연속적으로 실패한 거래는, 특히 시장 구조가 변화할 때, 계정에서 눈에 띄는 회수로 이어질 수 있습니다. 해결 방법: 전체 시장의 건강에 대한 필터를 추가하거나, 연속적으로 손실된 후에 거래 규모를 자동으로 줄이는 것을 고려하십시오.

  6. 과대 최적화 위험: 코드에 명백한 시간 필터 또는 다른 시장 상태 필터가 없으므로 특정 시장 상태에서 좋지 않은 성능을 보일 수 있습니다. 해결 방법: 거래 시간 제한, 변동율 필터 등과 같은 다른 시장 조건 필터를 테스트하십시오.

전략 최적화 방향

코드의 깊이 있는 분석을 바탕으로, 이 전략은 다음과 같은 방향으로 최적화될 수 있습니다:

  1. 트렌드 필터를 추가합니다.: 이동 평균, ADX 또는 다른 트렌드 지표를 통합하여 트렌드 방향과 신호가 일치하는 경우에만 출전하십시오. 이것은 트렌드 방향에 대한 삼키는 형태가 일반적으로 더 효과적이기 때문에 전략의 승률을 크게 향상시킬 수 있습니다.

  2. 동적 손절매 최적화: ATR 지표를 도입하여 고정된 점차 배수를 사용하는 대신 스톱 라인 거리를 동적으로 조정한다. 시장의 변동성이 변화할 때, 이 방법은 시장 조건에 더 잘 적응할 수 있으며, 과도한 스톱 로즈로 인한 불필요한 출력을 줄일 수 있다.

  3. 거래 시간 필터를 추가합니다.: 거래 시간 창 제한을 추가하여 유동성이 낮은 시간 및 주요 보도 시간을 피하십시오. 이것은 예기치 않은 점프와 극단적인 변동으로 인한 위험을 줄이고 거래 품질을 향상시킬 수 있습니다.

  4. 통합 트래픽 확인: 거래량을 추가 확인 지표로 사용하여 거래량이 크게 증가했을 때만 입시 신호를 확인합니다. 이것은 무작위적인 변동이 아닌 진정한 시장 돌파구를 식별하는 데 도움이됩니다.

  5. 피라미드형 상장 기능을 개발: 트렌드 방향에서 계속 강세를 보인다면, 전략이 유리한 위치에 위치해 포지션을 늘려서 성공적인 트렌드의 수익을 극대화할 수 있다. 동시에, 상쇄 손실을 상쇄 손실 균형 지점으로 이동하여 이미 얻은 이익을 보호할 수 있다.

  6. 시장 감정 지표 추가: RSI, MACD와 같은 시장 감정 지표를 통합하여 추가적인 입출장 확인 조건으로, 이러한 지표가 가격 움직임과 동기화 될 때만 입출장하십시오. 이것은 더 많은 신호 확인 수준을 제공합니다.

  7. 적응된 변수 시스템을 개발: 매개 변수 적응 메커니즘을 생성하여 최근 시장 성과에 따라 핵심 매개 변수를 자동으로 조정합니다. (확인 수, 중지 거리 등). 이것은 시장 상태의 변화에 따라 전략이 스스로 최적화되도록 도와줍니다.

요약하다

15분 차트 침투 침투 다중 확인 전략은 침투 형태 인식과 다중 가격 확인을 결합한 효율적인 거래 시스템이다. 가격으로 최소 두 개의 이전 반대 방향으로 침투 형태 수준을 침투하도록 요구함으로써, 이 전략은 많은 양질의 낮은 신호를 효과적으로 필터링하여 거래 성공률을 크게 높였다.

이 전략의 핵심 장점은 다단계 확인 메커니즘과 동적인 거래 구역 설정으로 다양한 시장 상황에 적응하고 높은 승률을 유지할 수 있습니다. 내장 된 위험 관리 시스템은 거래 구역과 관련된 중지 및 중지 설정을 통해 각 거래에 대한 명확한 위험 제어 프레임 워크를 제공합니다.

그러나, 이 전략에는 몇 가지 최적화 공간이 남아 있습니다. 특히 트렌드 필터링, 동적 정지 조정 및 시장 상태 식별의 측면에서. 트렌드 지표, 변동성 측정 및 시장 감정 지표를 통합하여 전략의 안정성과 장기적 성능을 더욱 향상시킬 수 있습니다.

중간 시간 주기 (15분 차트) 에서 거래하기를 원하는 투자자에게, 이 전략은 명확한 규칙에 기반한, 이해하기 쉬운, 통계적으로 우수한 거래 방법을 제공합니다. 그 배후의 원리를 이해하고 적용함으로써, 거래자는 시장에서 일관성있는 마이너리 이점을 얻을 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-04-16 00:00:00
end: 2024-05-09 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("15Min Engulfing Break Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === INPUTS ===
pipSize = input.float(0.0001, "Pip Size", step=0.0001)
pipOffset = 30 * pipSize

// === FUNCTION: Detect Engulfing Candles ===
isBullishEngulfing() =>
    cond1 = close[1] < open[1]  // previous candle bearish
    cond2 = close > open        // current candle bullish
    cond3 = open < close[1]     // open below previous close
    cond4 = close > open[1]     // close above previous open
    cond1 and cond2 and cond3 and cond4

isBearishEngulfing() =>
    cond1 = close[1] > open[1]  // previous candle bullish
    cond2 = close < open        // current candle bearish
    cond3 = open > close[1]     // open above previous close
    cond4 = close < open[1]     // close below previous open
    cond1 and cond2 and cond3 and cond4

// === VARIABLES TO TRACK ZONES ===
var float buyZoneHigh = na
var float buyZoneLow = na
var float sellZoneHigh = na
var float sellZoneLow = na

// === ARRAYS TO STORE ENGULFING LEVELS ===
var float[] bullHighs = array.new_float()
var float[] bearLows = array.new_float()

// === STORE ENGULFING LEVELS ===
if isBullishEngulfing()
    array.unshift(bullHighs, high)
    if array.size(bullHighs) > 10
        array.pop(bullHighs)

if isBearishEngulfing()
    array.unshift(bearLows, low)
    if array.size(bearLows) > 10
        array.pop(bearLows)

// === CHECK IF BREAKS 2 PRIOR ENGULFINGS ===
breaksTwoBearishEngulfings() =>
    count = 0
    arrSize = array.size(bearLows)
    if arrSize >= 2
        for i = 0 to arrSize - 1
            if high > array.get(bearLows, i)
                count += 1
            if count >= 2
                break
    count >= 2

breaksTwoBullishEngulfings() =>
    count = 0
    arrSize = array.size(bullHighs)
    if arrSize >= 2
        for i = 0 to arrSize - 1
            if low < array.get(bullHighs, i)
                count += 1
            if count >= 2
                break
    count >= 2

// === SET ENGULFING ZONES ===
if isBullishEngulfing() and breaksTwoBearishEngulfings()
    buyZoneHigh := high
    buyZoneLow := low

if isBearishEngulfing() and breaksTwoBullishEngulfings()
    sellZoneHigh := high
    sellZoneLow := low

// === TRADE ENTRIES ===
longCondition = not na(buyZoneHigh) and low <= buyZoneHigh and close > buyZoneLow
shortCondition = not na(sellZoneLow) and high >= sellZoneLow and close < sellZoneHigh

if longCondition
    strategy.entry("Long", strategy.long)
    strategy.exit("TP/SL", from_entry="Long", stop=buyZoneLow - pipOffset, limit=buyZoneHigh + pipOffset)
    buyZoneHigh := na
    buyZoneLow := na

if shortCondition
    strategy.entry("Short", strategy.short)
    strategy.exit("TP/SL", from_entry="Short", stop=sellZoneHigh + pipOffset, limit=sellZoneLow - pipOffset)
    sellZoneHigh := na
    sellZoneLow := na

// === PLOTTING ===
plotshape(isBullishEngulfing(), style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Bull Engulf")
plotshape(isBearishEngulfing(), style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Bear Engulf")