이 전략은 긴 채널과 짧은 채널을 구축하고, 채널 브레이크오웃을 체계적으로 백테스팅합니다. 이 전략은 채널 브레이크오웃 트렌드 거래 전략에 속합니다.
한 기간 동안 가장 높은 가격을 가진 긴 채널과 가장 낮은 가격을 가진 짧은 채널을 구축합니다.
가격이 상위 채널 라인을 넘어서면 구매합니다.
가격이 하위 채널 라인을 넘으면 팔자.
전략 검증을 위해 백테스트 날짜 범위를 설정할 수 있습니다.
단순하고 명확한 규칙 거래 채널의 탈출
채널은 시각적으로 가격 범위를 정의합니다.
파업 후 상승 동력이 발생할 가능성이 높습니다.
백테스팅은 역사적으로 전략의 효과를 확인합니다.
채널 브레이크 콘셉트는 간단하고 직관적입니다.
간결한 코드, 수정하고 최적화하기 쉬운 코드
첫 번째 탈출 후 가짜 탈출 및 철회 위험이 있습니다.
정지 및 출구를 설정하는 효과적인 방법이 없습니다.
잘못된 채널 매개 변수는 성능에 부정적인 영향을 미칩니다.
백테스트 결과에는 미래 조차가 있을 수 있습니다.
실제 거래 성과는 백테스트와 크게 다를 수 있습니다.
최적의 조합을 찾기 위한 테스트 매개 변수
거짓 피난을 필터링하기 위해 다른 요소를 추가합니다.
스톱 로스 및 수익 메커니즘을 구축합니다.
배트테스트 데이터를 적절하게 처리해서 편견을 제거합니다.
백테스트를 통해 다양한 시장 조건에서 전략을 확인합니다.
종이 거래는 실시간 거래의 매개 변수를 구성합니다.
이 전략은 간편한 채널 브레이크아웃 규칙을 테스트하고, 조작이 쉽지만 안정성을 위해 정교화를 요구합니다. 매개 변수 조정 및 위험 통제와 같은 추가 개선은 신뢰할 수있는 브레이크아웃 시스템을 만들 수 있습니다.
/*backtest start: 2023-08-20 00:00:00 end: 2023-08-30 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //strategy(title = "Backtest Donchian Teixeira", default_qty_type = strategy.fixed, default_qty_value = 100, overlay = true, commission_type = strategy.commission.cash_per_order, commission_value = 2.50, precision = 2, calc_on_every_tick = true, pyramiding = 0, initial_capital = 10000) testStartYear = input(2000, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 00, 00) testEndYear = input(2018, "Backtest End Year") testEndMonth = input(12, "Backtest End Month") testEndDay = input(1, "Backtest End Day") testPeriodEnd = timestamp(testStartYear, testStartMonth, testStartDay, 23, 59) window() => true //nao funciona length1 = input(20, minval=1, title="Upper Channel") length2 = input(20, minval=1, title="Lower Channel") dcUpper = highest(length1) dcLower = lowest(length2) plot(dcLower, style=line, linewidth=1, color=red, offset=1) plot(dcUpper, style=line, linewidth=1, color=lime, offset=1) plot(dcLower, style=line, linewidth=1, color=gray) if (strategy.position_size == 0) strategy.entry("COMPRA", true, stop = dcUpper) if (strategy.position_size > 0) strategy.exit("VENDA", stop = dcLower)