더블 프랙탈 브레이크업 전략

저자:차오장날짜: 2024-01-30 15:53:27
태그:

img

전반적인 설명

이중 프랙탈 브레이크아웃 전략은 기술적 패턴 인식에 기반한 양적 거래 전략이다. 이중 바닥과 이중 상위 프랙탈 형성을 탐지함으로써 잠재적 인 트렌드 반전을 식별하고 가격이이 프랙탈을 깨는 경우 구매 및 판매 신호를 생성합니다.

전략 논리

이 전략의 핵심 아이디어는 프랙탈 이론에 있다. M 모양 또는 W 모양의 단기 전환점의 출현은 지배적인 추세의 가능한 반전을 시사한다. 구체적으로, 하위 또는 상위 프랙탈은 5개의 연속 바가 상대적으로 더 큰/하위 높은/하위의 특정 높은/저한 조합을 만들 때 형성된다. 예를 들어, 상위 프랙탈은 전 2개의 바의 가장 높은 가격이 후 3개의 바의 가격보다 높을 때 형성된다.

이 전략은 가격이 각각 하위 프랙탈 이하로 떨어지고 상위 프랙탈 이상으로 떨어지면 긴 신호와 짧은 신호를 생성합니다. 이러한 브레이크는 트렌드 역전 가능성이 높다는 것을 나타냅니다.

장점

이 전략의 주요 장점은 잠재적인 트렌드 역전 지점을 탐지하는 능력이며, 이는 트렌드 추종 거래 시스템에 매우 유용 할 수 있습니다. 또한 이중 프랙탈 패턴은 단일 바 패턴에만 의존하는 전략에 비해 더 신뢰할 수있는 거래 신호를 제공합니다.

위험성

주요 위험은 프랙탈 검출이 완전한 확실성을 가지고 가격 반전을 보장하지 않는다는 것입니다. 때때로 가격은 실제 트렌드 변경 없이 단기적인 수정을 수행 할 수 있습니다. 잘못된 신호는 그러한 경우 불필요한 손실로 이어질 수 있습니다. 이 위험을 완화하기 위해, 거래 부피와 같은 다른 지표는 반전 신호의 유효성을 확인하는 데 사용될 수 있습니다.

강화

이 전략을 강화할 수 있는 방법은 다음과 같습니다.

  1. 부피와 같은 필터를 추가하여 잘못된 반전을 피합니다.

  2. 더 큰 차원의 이중 프랙탈을 감지하고 큰 트렌드 전환을 캡처하기 위해 매개 변수를 조정합니다.

  3. 나쁜 거래로 인한 손실을 줄이기 위해 이동 스톱 손실을 포함합니다.

결론

이중 프랙탈 브레이크아웃 전략은 특정 기술적 패턴을 탐지함으로써 잠재적 인 가격 반전을 식별합니다. 기술적 지표가 주도하는 접근법으로서 시장의 단기 및 중장기 트렌드를 효과적으로 추적하고 존경 할만한 위험-상금 결과를 제공할 수 있습니다. 전반적으로 신뢰할 수 있고 실용적인 거래 시스템입니다.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun

strategy("Fractal Breakout Strategy", overlay=true)

FUp = high[4] < high[2] and high[3] < high[2] and high[1] < high[2] and high < high[2] or 
   high[5] < high[2] and high[4] < high[2] and high[3] <= high[2] and 
   high[1] < high[2] and high < high[2] or 
   high[6] < high[2] and high[5] < high[2] and high[4] <= high[2] and 
   high[3] <= high[2] and high[1] < high[2] and high < high[2] or 
   high[7] < high[2] and high[6] < high[2] and high[5] <= high[2] and 
   high[4] <= high[2] and high[3] <= high[2] and high[1] < high[2] and 
   high < high[2] or 
   high[8] < high[2] and high[7] < high[2] and high[6] <= high[2] and 
   high[5] <= high[2] and high[4] <= high[2] and high[3] <= high[2] and 
   high[1] < high[2] and high < high[2]
FractalUp = valuewhen(FUp, high[2], 1)
plot(FractalUp, color=#0000FF,title="FractalUp")

FDown = low[4] > low[2] and low[3] > low[2] and low[1] > low[2] and low > low[2] or 
   low[5] > low[2] and low[4] > low[2] and low[3] >= low[2] and low[1] > low[2] and 
   low > low[2] or 
   low[6] > low[2] and low[5] > low[2] and low[4] >= low[2] and low[3] >= low[2] and 
   low[1] > low[2] and low > low[2] or 
   low[7] > low[2] and low[6] > low[2] and low[5] >= low[2] and low[4] >= low[2] and 
   low[3] >= low[2] and low[1] > low[2] and low > low[2] or 
   low[8] > low[2] and low[7] > low[2] and low[6] >= low[2] and low[5] >= low[2] and 
   low[4] >= low[2] and low[3] >= low[2] and low[1] > low[2] and low > low[2]
FractalDown = valuewhen(FDown, low[2], 1)
plot(FractalDown, color=#FF0000,title="FractalDown")

if crossover(close, FractalUp)
    strategy.entry("Long", strategy.long, comment="Long")

if crossunder(close, FractalDown)
    strategy.entry("Short", strategy.short, comment="Short")


더 많은