
동치안 채널 기동 전략은 트렌드 추적 전략이다. 동치안 채널을 이용하여 시장 트렌드를 식별하고, 트렌드 방향이 신호를 생성할 때 현장 안으로 들어가서, 그 다음 트렌드의 전체 상황을 최대한 포착한다. 동시에, 긴 주기 평균선과 결합하여 필터링을 하여 잘못된 신호를 생성하는 것을 피한다.
이 전략은 주로 돈치안 통로에 기반한다. 돈치안 통로는 상반, 하반, 중반으로 구성된다. 상반은 지난 n 일간의 최고 가격이며, 하반은 지난 n 일간의 최저 가격이며, 중반은 상반과 하반의 평균이다. 가격이 상반을 돌파할 때 더 많은 신호를 주고, 하반을 돌파할 때 빈 신호를 준다.
전략은 먼저 20일 길이의 동천 통로의 상도, 하도, 중도 궤도를 계산한다. 그리고 가격이 통로를 뚫었는지 판단한다. 종결 가격이 200일 평균선을 뚫고 종결 가격이 상도를 뚫고 다중 신호를 생성한다. 종결 가격이 200일 평균선을 뚫고 종결 가격이 하도를 뚫고 종결 신호를 생성한다.
다중 포지션에 들어간 후, 상쇄선은 하차로 설정된다. 상쇄선은 상차로 설정된다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
시장의 동향 방향을 효과적으로 식별할 수 있다. 唐通道는 형성되고 있는 동향을 명확하게 식별할 수 있다.
장기 주기 평균선과 결합하여 오차 신호를 효과적으로 필터링 할 수 있습니다. 장기 주기 평균선은 큰 경향 방향에서만 신호를 생성 할 수 있습니다.
통로 경계에서 정지 손해를 설정하여 신속하고 효과적으로 위험을 제어할 수 있다.
전략적 논리는 간단하고 명확하며, 이해하기 쉽고 구현하기 쉽습니다.
이 전략에는 위험도 있습니다.
트렌드 반전 위험. 시장 추세가 갑자기 반전되면 큰 손실이 발생할 수 있습니다.
매개 변수 최적화 위험. 도징천 통로의 매개 변수, 예를 들어 주기 길이는 지속적으로 테스트 최적화를 필요로 하며, 그렇지 않으면 전략의 성능에 영향을 줄 수 있다.
거래 빈도가 너무 높은 위험. 둥천 통로는 거래 신호를 더 많이 생성할 수 있어 거래 빈도가 너무 높을 수 있다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
K선 형태, 변동률 지표 등과 같은 더 많은 지표와 결합하여 신호 필터링을 수행하여 잘못된 신호를 피하십시오.
매개 변수 최적화. 동천 통로의 길이 매개 변수를 최적화하여 최적의 매개 변수 조합을 찾는다.
적응적 손실을 취한다. 시장의 변동성과 위험 제어 요구에 따라 적응적 손실을 취한다.
신호 분류 처리. 신호를 분류하고, 다른 스톱패스 레벨을 사용하여 강한 신호와 약한 신호를 구분한다.
동치안 통로 승승장구 전략은 전체적으로 비교적 간단하고 실용적인 트렌드 추적 전략이다. 그것은 시장의 트렌드 방향을 효과적으로 식별할 수 있고, 트렌드 상황을 최대한 포착할 수 있다. 동시에 긴 주기 평균선과 통로 경계 스톱로스를 결합하여 위험을 제어한다. 이 전략의 최적화 공간은 넓고, 매개 변수 최적화, 신호 필터링, 스톱로스 방법 등에서 개선할 수 있어 더 나은 전략 성능을 얻을 수 있다.
/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © pratyush_trades
//@version=4
strategy("Donchian Channel Strategy", overlay=true)
length = input(20)
longRule = input("Higher High", "Long Entry", options=["Higher High", "Basis"])
shortRule = input("Lower Low", "Short Entry", options=["Lower Low", "Basis"])
hh = highest(high, length)
ll = lowest(low, length)
up = plot(hh, 'Upper Band', color = color.green)
dw = plot(ll, 'Lower Band', color = color.red)
mid = (hh + ll) / 2
midPlot = plot(mid, 'Basis', color = color.orange)
fill(up, midPlot, color=color.green, transp = 95)
fill(dw, midPlot, color=color.red, transp = 95)
if (close>ema(close,200))
if (not na(close[length]))
strategy.entry("Long", strategy.long, stop=longRule=='Basis' ? mid : hh)
if (close<ema(close,200))
if (not na(close[length]))
strategy.entry("Short", strategy.short, stop=shortRule=='Basis' ? mid : ll)
if (strategy.position_size>0)
strategy.exit(id="Longs Exit",stop=ll)
if (strategy.position_size<0)
strategy.exit(id="Shorts Exit",stop=hh)