더블 간 채널 브레이크아웃 매수 및 매도 전략
이 전략은 Gann의 쌍채널 이론을 기반으로 설계했다. Gann은 주가가 한 통로 내에서 변동한다고 생각하며, 평행선과 감소 변동带을 사용하여 위아래 통로를 구축했다. 주가가 통로를 뚫을 때, 트렌드가 전환되는 것을 의미한다. 이 전략은 이 이론을 적용하여 쌍채널 시스템을 구축하고, 트렌드를 발견하고, 매매 작업을 수행한다.
전략 원칙
내부와 외부에 두 개의 칸 통로를 구축한다. 내부 통로 파라미터는 평균 81일, 대역폭은 표준 차이의 1배이다. 외부 통로 파라미터는 평균 81일, 대역폭은 표준 차이의 2배이다.
종식 가격이 아래에서 위로 내부 통로를 뚫을 때 구매 작업을 수행한다. 이것은 주가가 새로운 상승 추세에 들어갈 수 있음을 나타냅니다.
종식 가격이 위아래로 내부 통로를 돌파했을 때 매각을 한다. 이는 주가가 새로운 하향 추세에 들어갈 수 있음을 의미한다.
외부 통로가 손실 경로로. 내부 통로를 뚫고 구매한 후, 주가가 외부 통로의 하위 한계 아래로 다시 떨어지면 손실 경로에서 벗어난다. 내부 통로를 뚫고 판매한 후, 주가가 외부 통로의 상위 한계를 다시 뚫면 중단 경로에서 벗어난다.
이 전략의 장점은 다음과 같습니다.
이중 통로 시스템을 사용하면 트렌드 전환점을 더 정확하게 판단할 수 있다. 내외 통로 분산, 가짜 돌파구를 효과적으로 방지한다.
트렌드를 추적할 수 있는 돌파구 방식의 창고 구축.
이중 통로 무손해 제약으로 위험을 효과적으로 통제할 수 있다.
이 전략의 위험은 다음과 같습니다.
시장이 흔들릴 때, 통로가 여러 번 뚫려서 잘못된 신호를 생성할 수 있다. 통로가 안정되도록 파라미터를 적절히 조정해야 한다.
통로를 돌파할 때, 근고가 살 수 있고 근저가 팔 수 있다. 점위 선택에 주의를 기울여야 한다.
스톱피치가 너무 가까워지면 단기 조정으로 트리거 될 수 있다. 스톱피스 범위는 적절히 느려져야 한다.
요약하자면, 이 전략은 트렌드 전환점을 판단하기 위해 이중 채널을 사용하고, 수익성과 위험 제어 사이의 균형을 이루기 위해 돌파구 운영 방식을 취한다. 최적화 파라미터를 사용하여 위험을 엄격하게 제어하면 이 전략이 더 나은 효과를 얻을 수 있다. 그러나 모든 기술 전략은 실패할 수 있는 시장 상황이 발생할 수 있으며, 투자자는 여전히 신중하게 대처하고 자신의 위험 선호도에 맞게 사용해야합니다.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("[VJ] Gann Double Band Buy Sell", overlay=true)
tim=input('375')
//skip buying near upper band and selling near lower band
out1 = security(syminfo.tickerid, tim, open)
out2 = security(syminfo.tickerid, tim, close)
// gann 81, 1 & 81, 2 as channel
length = input(81, minval=1)
src = input(close, title="Source")
Band1 = input(1.0, minval=0.001, maxval=10, step=0.1)
basis = sma(src, length)
dev = Band1 * stdev(src, length)
upper = basis + dev
lower = basis - dev
Band2 = input(2.0, minval=0.001, maxval=10, step=0.1)
dev2 = Band2 * stdev(src, length)
upper2 = basis + dev2
lower2 = basis - dev2
plot(basis, color=black ,linewidth=3 )
p1a = plot(upper, color=green,linewidth=2)
p1b = plot(lower, color=green,linewidth=2)
p2a = plot(upper2, color=blue, linewidth=3)
p2b = plot(lower2, color=blue, linewidth=3)
longCondition = crossover(security(syminfo.tickerid, tim, close),security(syminfo.tickerid, tim, open)) and close < upper
if (longCondition)
strategy.entry("long", strategy.long)
shortCondition = crossunder(security(syminfo.tickerid, tim, close),security(syminfo.tickerid, tim, open)) and close > lower
if (shortCondition)
strategy.entry("short", strategy.short)