적응성 이중 돌파구 거래 전략 (adaptive dual breakthrough trading strategy) 은 주식의 개장 가격과 폐장 가격 사이의 관계에 따라 판단과 거래 작업을 수행하는 양적 전략이다. 이 전략은 설정된 매개 변수 조건이 충족되면 긴 또는 짧은 포지션을 취한다. 동시에, 개장 및 폐장 가격의 최근의 변화에 따라 현재 포지션에서 언제 벗어날지 결정할 수있는 적응성 출구 메커니즘을 가지고 있다.
이 전략의 핵심 논리는 개시 가격과 폐쇄 가격 사이의 크기 관계에 기반하여 방향을 판단하는 것입니다. 구체적으로, 종료 가격이 설정된 임계값을 초과하는 개시 가격보다 높으면 긴 신호가 생성됩니다. 개시 가격이 임계값을 초과하는 종료 가격보다 높으면 짧은 신호가 생성됩니다. 포지션이 입력되면 전략은 가격 변화를 계속 모니터링합니다. 개시 및 종료 가격이 설정된 임계값을 초과하면 출구 작업이 실행됩니다. 이 전략은 개시 위치 논리와 출구 논리를 모두 포함하고 비교적 완전한 거래 프레임워크를 형성한다는 것을 볼 수 있습니다.
코드 구현의 관점에서, 전략은 먼저 긴 위치와 짧은 위치 조건을 정의하고, 오픈 포지션 논리가 충족되면 주문을합니다. 이후 종료 조건이 활성화되었는지 지속적으로 감지하고, 종료 조건이 충족되면 종료 작업을 실행합니다. 따라서이 전략은 실시간 시장 변화를 모니터링하고 적응적이고 유연합니다.
적응형 이중 돌파구 거래 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략은 몇 가지 장점을 가지고 있지만 다음과 같은 위험도 가지고 있습니다.
이러한 위험은 실시간 거래 도중 신속하게 매개 변수를 조정하거나 알고리즘을 최적화하기 위해 면밀히 모니터링되어야 합니다.
이 전략을 최적화하는 주요 측면은 다음과 같습니다.
알고리즘과 모델 최적화를 통해 전략의 전반적인 안정성과 수익성을 향상시킬 수 있습니다.
적응성 이중 돌파구 거래 전략은 트렌드 판단과 적응성 출구 메커니즘을 결합하여 위험을 효과적으로 제어 할 수 있습니다. 간단한 원칙과 유연한 매개 변수는 이해하기 쉽고 확장 할 수 있으므로 심도있게 연구 할 수있는 권장되고 가치있는 수치 전략입니다.
/*backtest start: 2023-01-30 00:00:00 end: 2024-02-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true, calc_on_order_fills=true) // Repaint? // strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true) // Correct val1 = input(123) val2 = input(234) from_year=input(2018, minval=2000, maxval=2020) from_month=input(6, minval=1, maxval=12) from_day=input(1, minval=1, maxval=31) to_year=input(2019, minval=2007, maxval=2020) to_month=input(12, minval=1, maxval=12) to_day=input(31, minval=1, maxval=31) long = (close-open) > val1 short = (open-close) > val1 exitLong = (open-close) > val2 exitShort = (close-open) > val2 term = true strategy.entry("LONG", strategy.long, when=long and term) strategy.close("LONG", when = exitLong and not short and term) strategy.entry("SHORT", strategy.short, when=short and term) strategy.close("SHORT", when = exitShort and not long and term)