52주 높은 낮은 박스 거래 전략은 가격 오스실레이션으로 형성된
이 전략은 가격이 새로운 거래 범위에 진입했는지 여부를 결정하기 위해 지난 5 일 동안 가장 높은 최고와 가장 낮은 최저를 계산합니다. 구체적인 규칙은 다음과 같습니다.
가장 최근 5일 동안 가장 높은 최고와 가장 낮은 최저를 계산하여 거래 범위 상자를 형성합니다.
가격이 이 범위의 상한을 넘으면 더 높은 범위로 진입할 수 있고, 긴 포지션을 개설할 수 있음을 나타냅니다.
가격이 이 범위의 하단 한계 아래로 떨어지면, 이 범위가 하단 범위에 진입할 수 있다는 것을 나타내고 짧은 포지션을 개설할 수 있습니다.
위험 조절을 위해 이전 범위의 상위/하위 경계 근처에 스톱 로스를 설정합니다.
위의 판단을 반복하고 수익을 창출하기 위해 거래 범위를 지속적으로 조정하십시오.
이러한 돌파구를 사용하여 트렌드를 결정하고 거래 신호를 생성하는 것이 이 전략의 핵심 아이디어입니다.
52 주 높은 낮은 상자 거래 전략은 다음과 같은 장점을 가지고 있습니다:
전략 논리는 간단하고 직관적이며 이해하기 쉽고 구현하기 쉽습니다.
가격들이 새로운 범위로 진입한 후 트렌드 움직임을 포착할 수 있습니다. 범위 브레이크는 비교적 신뢰할 수 있는 거래 신호입니다.
명확한 스톱 로스 전략이 있습니다. 효과적으로 위험을 통제할 수 있습니다.
범위 길이는 다른 사이클 범위와 다른 품종에 적응하도록 조정 할 수 있습니다.
일반적으로 이것은 좋은 위험 통제 능력과 실용성을 가진 트렌드 거래 전략입니다.
이 전략은 또한 다음과 같은 몇 가지 위험을 초래합니다.
트렌드가 명확하지 않을 때 여러 개의 작은 손실이 발생할 수 있습니다.
부적절한 범위 설정은 또한 잘못된 거래의 가능성을 증가시킵니다.
스톱 로즈 전략은 엄청난 가격 격차의 위험을 완전히 피할 수 없습니다.
이것은 거래자가 전략의 매개 변수를 지속적으로 테스트하고 최적화하고 위험을 신중하게 관리하도록 요구합니다.
52 주 높은 낮은 박스 거래 전략은 또한 다음과 같은 측면에서 최적화 될 수 있습니다:
거래량 또는 이동 평균 지표를 결합하여 구매 및 판매 신호를 확인하고 정확도를 향상시킵니다.
시장 변화에 적응하기 위해 상자의 길이 매개 변수를 최적화하십시오.
돌파구 구매 후, 재입입구 기회를 형성하기 위해 인기를 끌기를 기다립니다.
더 높은 수익을 추구하기 위해 각 스톱 로스 포지션을 적절히 늘리기 위해 컴파운드 원칙을 사용하십시오.
이 전략의 효과는 실행 과정에서 매개 변수 조정과 규칙 최적화를 통해 지속적으로 향상될 수 있습니다.
52주 높은 낮은 상자 거래 전략은 가격 브레이크에 기반한 트렌드 방향을 결정하는 전략이다. 간단한 거래 논리와 강력한 위험 통제 기능을 가지고 있다. 이 전략의 장점을 완전히 활용하기 위해 실무에서 지속적인 테스트와 최적화가 필요하다. 전반적으로 이것은 권장되는 실용적인 거래 전략이다.
/*backtest start: 2023-11-10 00:00:00 end: 2023-12-10 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/ // © ceyhun //@version=4 strategy ("Darvas Box Strategy",overlay=true) boxp=input(5, "BOX LENGTH") D_High = security(syminfo.tickerid, 'D', high) D_Low = security(syminfo.tickerid, 'D', low) D_Close = security(syminfo.tickerid, 'D', close) D_Open = security(syminfo.tickerid, 'D', open) LL = lowest(D_Low,boxp) k1 = highest(D_High,boxp) k2 = highest(D_High,boxp-1) k3 = highest(D_High,boxp-2) NH = valuewhen(D_High>k1[1],D_High,0) box1 = k3<k2 TopBox = valuewhen(barssince(D_High>k1[1])==boxp-2 and box1, NH, 0) BottomBox = valuewhen(barssince(D_High>k1[1])==boxp-2 and box1, LL, 0) plot(TopBox, linewidth=2, color=#00FF00, title="TopBox") plot(BottomBox, linewidth=2, color=#FF0000, title="BottomBox") if crossover(D_Close,TopBox) strategy.entry("Long", strategy.long, comment="Long") if crossunder(D_Close,BottomBox) strategy.entry("Short", strategy.short, comment="Short")