52주 최고가 최저가 박스 트레이딩 전략


생성 날짜: 2023-12-11 14:43:30 마지막으로 수정됨: 2023-12-11 14:43:30
복사: 0 클릭수: 692
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

52주 최고가 최저가 박스 트레이딩 전략

개요

52주 높고 낮은 상자 거래 전략은 가격의 다양한 영역의 흔들림으로 형성된 “상자”를 거래 신호로 사용하는 전략이다. 이 전략의 핵심 논리는 가격이 특정 영역 (박스) 의 상하한을 뚫을 때 가격이 새로운 영역에 들어간다는 것을 나타내는 것이며, 이때 구매 또는 판매 작업을 수행 할 수 있다.

전략 원칙

이 전략은 최근 5일 (조정 가능한) 의 최고 가격, 최저 가격을 계산하여 가격이 새로운 거래 영역에 들어갔는지 판단합니다. 구체적인 규칙은 다음과 같습니다:

  1. 최근 5일간의 최상위 가격과 최저 가격을 계산하여 거래 간격 상자를 구성한다.
  2. 가격이 그 범주의 상한을 넘으면, 더 높은 범주에 들어갈 수 있음을 나타내는 구매 작업이 가능합니다.
  3. 가격이 그 범위에 대한 하위 한계를 넘어서는 것은 더 낮은 범위에 들어갈 수 있음을 나타내는 판매 작업이 가능합니다.
  4. 위험을 통제하기 위해 상위 하위 경계 근처에 스톱로스를 설정합니다.
  5. 상술한 판단을 반복하고, 거래 범위를 계속 조정하여 수익을 창출하십시오.

이 전략의 핵심 아이디어는 이러한 간격 돌파를 통해 트렌드를 판단하고 거래 신호를 보내는 것입니다.

우위 분석

52주 상자 거래 전략은 다음과 같은 장점이 있습니다.

  1. 전략은 간단하고 직관적이며, 실행에 옮기기 쉽다.
  2. 가격의 새로운 범위에 진입한 후의 트렌드 상황을 파악할 수 있다. 범위를 돌파하는 것은 비교적 신뢰할 수 있는 거래 신호이다.
  3. 명확한 스톱로스 전략이 있어 위험을 효과적으로 통제할 수 있다.
  4. 다른 주기와 다른 품종의 상황에 맞게 간격의 길이를 조정할 수 있다.

전체적으로 볼 때, 이것은 더 나은 위험 제어 능력과 더 실용적인 트렌드 트레이딩 전략입니다.

위험 분석

이 전략에는 다음과 같은 위험도 있습니다.

  1. 트렌드가 명확하지 않은 경우, 작은 손실이 발생할 수 있습니다.
  2. 부적절한 범위 설정은 잘못된 거래의 가능성을 증가시킵니다.
  3. 하지만, 이 전략은 큰 폭의 폭락의 위험을 완전히 피할 수 없습니다.

이것은 거래자가 지속적으로 테스트하고 최적화하는 전략의 매개 변수를 실행하고 신중하게 위험을 관리하는 것을 요구합니다.

최적화 방향

52주 상자 거래 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 거래량이나 평균선 지표와 결합하여 구매/판매 신호를 확인하여 정확도를 높인다.
  2. 시장의 변화에 적응하기 위해 간격의 길이를 최적화하십시오.
  3. (Breakthrough) 구매 후 재조정을 기다리는 것은 재입입을 위한 더 많은 기회를 제공해줍니다.
  4. 복수 원칙과 결합하여, 매번 손실을 감수할 때 적당히 추가할 수 있고, 더 높은 수익을 추구할 수 있다.

이 전략의 실효성을 개선하기 위해서는 매개 변수 조정과 규칙 최적화를 통해 실습을 진행해야 한다.

요약하다

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")