이 전략은 톤샤인 채널 지표를 기반으로, 가격의 채널 상하 궤도를 돌파하는 것을 거래 신호의 방법으로, stock/futures/crypto/forex와 같은 품종의 트렌드 추적 작업을 구현합니다. 중장선 지주들의 트렌드 돌파 전략에 속합니다.
주어진 주기 (예: 20일) 의 최고 가격과 최저 가격을 계산하여, 톤시안 통로의 상반 및 하반을 얻는다.
통로 중간선은 상하 궤도의 평균값이다. 상하 궤도 돌파는 트렌드 전환 다도 신호이며, 하하 궤도 돌파는 트렌드 회전 신호이다.
가격 마감이 경로를 돌파할 때, 트렌드 시작으로 판단하고, 더 많은 입주를 한다.
가격이 중도선 아래로 떨어질 때, 상점에서 벗어나는 것으로 간주한다.
실제 거래 신호를 생성하기 위한 리포트 타임 스펙을 사용할 수 있다.
선택적으로, 가격 돌파 하락 신호로도 할 수 있다.
이 전략은 채널 판단 트렌드를 돌파하여 중간 라인을 끝으로 출구 지점을 니다. 캡처 중장선 트렌드 상황. 채널 매개 변수는 시장에 맞게 조정할 수 있습니다.
둥 통로 계산은 간단하고, 지표는 구현하기 쉽다.
가격 돌파구가 트렌드 변화를 판단할 수 있다.
통로 중간선은 정지점으로, 설정은 합리적이다.
거래 신호 규칙은 명확하고 실행하기 쉽습니다.
다양한 품종과 주기에 적응할 수 있도록 통로 매개 변수를 유연하게 조정할 수 있다.
장선 또는 단선 거래의 효과를 평가할 수 있다.
확장할 수 있는 공간이 넓어서 다른 기술 지표들을 도입할 수 있다.
“이번 해협 개척에 걸린 지연으로 인해 초기의 기회를 놓칠 수 있습니다”.
빗나가는 것을 고려하지 않았기 때문에 잘못된 신호가 발생할 수 있습니다.
중간선 상쇄 범위는 고정되어 있으며, 시장 충격에 민감하다.
재검토주기를 잘못 선택하면 과적합으로 이어질 수 있다.
손실을 막기 위한 전략이 마련되지 않았기 때문에 손실이 커질 수 있는 위험에 주의를 기울여야 합니다.
테스트 최적화 채널 사이클 파라미터를 .
다른 종류의 이동 평균을 평가해 보세요.
거래량 증가와 같은 지표의 필터링 조건.
이동식 중지 또는 추적 중지 전략을 설정하십시오.
기계 학습을 도입하여 가격 돌파를 예측합니다.
자금 관리 전략을 최적화하고 수익률을 설정합니다.
긴 줄과 짧은 줄의 혼합작업이나 다중 품종 조합을 고려하십시오.
이 전략은 톤히안 통로를 기반으로 트렌드 방향을 판단하고, 돌파구로 동작하는 전형적인 중장선 트렌드 추적 전략에 속한다. 통로 매개 변수를 최적화하고, 다른 기술 지표와 함께, 비교적 안정적인 돌파구 시스템을 형성할 수 있다. 이 전략은 간단하고 명확하며, 확장 가능한 공간이 넓으며, 정량 거래의 기본 전략 모듈로 사용할 수 있으며, 매우 실용적이다.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//future strategy
//strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2)
//stock strategy
strategy(title = "dc", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=.005)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, overlay = true)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, overlay = true, commission_type=strategy.commission.percent,commission_value=.25,default_qty_value=10000)
testStartYear = input(2000, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12, "Backtest Start Month")
testEndDay = input(1, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testPeriod() =>
true
//time >= testPeriodStart ? true : false
dcPeriod = 20
dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2
plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)
plot(dcAverage, color=yellow, style=line, linewidth=1, title="Mid-Line Average")
strategy.entry("simpleBuy", strategy.long, when=close >= dcUpper)
strategy.close("simpleBuy",when=close < dcAverage)
//strategy.entry("simpleSell", strategy.short,when=close <= dcLower)
//strategy.close("simpleSell",when=close > dcAverage)