
이중 하위 분기 전략은 기술 형태에 기반한 양적 거래 전략이다. 이 전략은 이중 하위 분기 및 이중 상위 분기 형성을 인식하고, 가격이 이 분기들을 돌파할 때 구매 및 판매 신호를 발산한다.
이 전략의 핵심 아이디어는 분화 이론에 기반한다. M 또는 W 타입과 유사한 단기 전환점이 발생하면, 이는 현재 추세가 역전될 수 있음을 나타낸다. 구체적으로, 5개의 연속 K 라인이 높은 고도 또는 낮은 저도의 특정 조합을 형성할 때, 하단 분화 또는 꼭대기 분화가 형성된다. 예를 들어, K 라인 그래프에서, 처음 2개의 K 라인의 최고 가격이 다음 3개의 K 라인의 최고 가격보다 높다면, 꼭대기 분화가 형성된다.
가격이 하위 분할을 넘어오거나 상위 분할을 뚫을 때, 이는 역전 가능성이 높다는 것을 나타냅니다. 따라서 전략은 각각 구매 및 판매 신호를 생성합니다.
이 전략의 주요 장점은 잠재적인 트렌드 반전점을 식별하는 데 있습니다. 이것은 트렌드 유형을 추적하는 거래 전략에 매우 유용합니다. 또한, 단일 K 선 모양에만 의존하는 전략에 비해 이중 분기 형식의 식별은 거래 신호를 더 신뢰할 수 있습니다.
이 전략의 주요 위험은 분형 식별이 100% 가격 반전을 보장하지 않는다는 것입니다. 때로는 가격이 단기 조정일 수 있으며 추세가 변하지 않습니다. 이 경우 전략이 잘못된 신호를 발생하면 불필요한 손실이 발생할 수 있습니다. 이러한 위험을 줄이기 위해 거래량과 같은 다른 지표와 함께 가격 반전의 가능성을 검증 할 수 있습니다.
이러한 전략은 다음과 같은 방법으로 더욱 개선될 수 있습니다.
거래량 지표와 같은 필터링 조건을 추가하여 거짓 반향을 피하십시오.
큰 트렌드의 반전을 포착하기 위해 더 큰 기간의 이중 분형을 식별하기 위해 파라미터를 조정하십시오.
이동식 중지 전략과 결합하여 손실 부서의 손실을 줄일 수 있습니다.
이중 분화 돌파 전략은 특정 K선 형태를 식별하여 잠재적인 가격 반전을 판단하는 일반적인 기술 지표 구동형 전략이다. 그것은 시장의 단기 및 중기 추세를 효과적으로 추적 할 수 있으며, 높은 수익률을 가지고 있으며, 신뢰할 수 있고 실용적인 거래 전략이다.
/*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")