
쌍방향 돌파동기 전략은 부린 채널과 MACD 지표를 사용하여 매매 지점을 판단하는 양적 거래 전략이다. 이 전략은 주로 주식 지수 선물, 외환 및 디지털 통화와 같은 동기 상황 품종에 적용된다. 전략의 주요 아이디어는 가격이 부린 채널을 돌파하고 궤도 상하로 갈 때 구매 및 판매 신호를 발송하는 것이다.
양방향의 돌파동기 전략은 불린 통로를 사용하여 가격 변동의 범위를 판단한다. 불린 통로는 중간 궤도, 상단 궤도 및 하단 궤도를 포함하며, 중간 궤도는 n 일 간 간단한 이동 평균이며, 상단 궤도 및 하단 궤도는 각각 중간 궤도 더하기 감소 k 배의 n 일 실제 파장을 나타낸다. 가격이 상단 궤도를 통과 할 때, 거래가 반전 될 수 있다고 생각되어 구매 신호를 발산한다. 가격이 하단 궤도를 통과 할 때, 거래가 반전 될 수 있다고 생각되어 판매 신호를 발산한다.
브린 통로를 사용하여 매매점을 판단하는 것 외에도 이 전략은 MACD 지표 판단 거래 신호와 결합한다. MACD 지표는 DIF 라인, DEA 라인 및 MACD 라인을 포함한다. DIF 라인은 12일 지수 이동 평균과 26일 지수 이동 평균의 차등이며, DEA 라인은 9일 지수 이동 평균이며, MACD 라인은 DIF 라인과 DEA 라인의 차등이다. MACD 라인은 마이너스 전환 시 구매 신호를 발생시키고, 마이너스 전환 시 매매 신호를 발생시킨다.
통합 부린 채널과 MACD 지표, 양방향 돌파동기 전략의 거래 신호 생성 규칙은: 가격이 부린 채널의 하향 궤도를 통과 할 때 구매 신호를 발송; 가격이 부린 채널의 하향 궤도를 통과 할 때 판매 신호를 발송한다. 가격이 채널 궤도를 다시 돌파 할 때 평지한다.
양국 간 돌파구 전략은 다음과 같은 장점을 가지고 있습니다.
양측의 돌파구 전략은 장점이 있지만 실제 거래에는 다음과 같은 위험도 있습니다.
위와 같은 위험을 줄이기 위해, 우리는 다음과 같은 몇 가지 측면에서 최적화할 수 있습니다.
이중적 돌파동기 전략은 다음의 몇 가지 방향에서 더 많은 최적화를 할 수 있습니다.
쌍방 돌파동이 전략은 부린 통로와 MACD 지표를 통합하여 매매 시기를 판단하고 가격의 쌍방 돌파동이 작동하여 흔들림 추세에서 역전 기회를 효과적으로 잡을 수 있습니다. 이 전략은 간단하고 가볍고, 파라미터를 선택 할 수있는 유연하며, 여러 가지 품종에서 좋은 성능을 발휘합니다. 그럼에도 불구하고, 전략에는 추가 테스트와 최적화를 필요로하는 몇 가지 위험이 있습니다.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Seitwärtsdoppelpenetration", overlay=false)
//Keltner Channel
source = open
useTrueRange = input(true)
length = input(20, minval=1)
mult = input(4.0)
ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
crossUpper = crossover(source, upper)
crossLower = crossunder(source, lower)
//Entry
buyEntry = cross(lower,source)
sellEntry = cross(upper,source)
if (cross(lower,source))
strategy.entry("buyEntry", strategy.long, comment="buyEntry")
if (cross(source, upper))
strategy.entry("sellEntry", strategy.short, comment="sellEntry")
buyExit = cross(source, upper)
sellExit = cross(lower,source)
strategy.close("buyEntry", buyExit)
strategy.close("sellEntry", sellExit)