N일 연속 상승/하락 전략
이 문서에서는 N 일 연속 상승/하락 전략의 거래 논리, 장점, 잠재적 위험 및 요약에 대해 자세히 소개합니다.
이것은 사용자가 정의한 연속적인 상승일과 연속적인 하락일에 기초하여 입출을 결정하는 긴 전략입니다. 거래 논리는 매우 간단합니다.
전략 논리
첫째, 두 가지 매개 변수를 설정해야 합니다.
consecutiveBarsUp: 연속적으로 올라가는 날 연속BarsDown: 연속적인 다운데이
두 가지 변수를 기록합니다.
위기: 현재 연속 위기 날 dns: 현재 연속 다운데이
매일 우리는 닫기 가격을 이전 닫기와 비교하여 상승 또는 하락의 날을 결정합니다. 상승하면 상승 + 1, 하락하면 상승 + 1.
Ups가 consecutiveBarsUp에 도달하면, 우리는 긴 거, DNS가 consecutiveBarsDown에 도달하면, 우리는 지점을 종료합니다.
이것은 연속 상하 전략의 간단한 논리입니다. 우리는 단지 아래에서 연속 상하 날 후에 오래 갈 수 있습니다. 그리고 연속 하하 날 후에 빠져 나갑니다. 이것은 범위 제한 시장에서 빈번한 거래를 피합니다.
장점
간단한 논리, 이해하기 쉽고 실행하기 쉬운
단기 변동을 연속일 설정으로 필터링
단지 긴 거래, 더 적은 거래, 낮은 거래 비용 및 미끄러짐 영향
손해를 막기 쉽게 설정, 효과적으로 단일 거래 손실을 제어
잠재적 위험
상장 할 수 없거나, 상장 기회를 놓치고
입력하기 위해 연속적인 날짜가 필요하고, 아마도 가장 좋은 입력 포인트를 놓치고 있습니다.
시간 지연, 실시간으로 회전을 캡처하지 않습니다
스톱 로스 없이 단일 거래에서 큰 손실
요약
연속 상승/하락 일 전략은 단순성과 낮은 주파수 거래로 널리 인기가 있습니다. 적절한 매개 변수 조정을 통해 효율적으로 윙사우를 필터링할 수 있습니다. 그러나 시간 지연 및 단축 할 수 없다는 것과 같은 한계도 있습니다. 투자자는 채택하기 전에 신중하게 고려해야합니다. 전반적으로 중장기 트렌드를 추적 할 때 안정적인 수익을 추구하는 투자자에게 적합합니다.
/*backtest start: 2023-08-12 00:00:00 end: 2023-09-11 00:00:00 period: 12h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Strategy // strategy("Up/Down Long Strategy", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash) // There will be no short entries, only exits from long. // strategy.risk.allow_entry_in(strategy.direction.long) consecutiveBarsUp = input(1) consecutiveBarsDown = input(1) price = close ups = 0.0 ups := price > price[1] ? nz(ups[1]) + 1 : 0 dns = 0.0 dns := price < price[1] ? nz(dns[1]) + 1 : 0 // Strategy Backesting startDate = input(timestamp("2021-01-01T00:00:00"), type = input.time) finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time) time_cond = true // Messages for buy and sell message_buy = input("{{strategy.order.alert_message}}", title="Buy message") message_sell = input("{{strategy.order.alert_message}}", title="Sell message") // Strategy Execution if (ups >= consecutiveBarsUp) and time_cond strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy) if (dns >= consecutiveBarsDown) and time_cond strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell)