브레이크업 거래 시스템

저자:차오장, 날짜: 2024-02-21 14:02:28
태그:

img

전반적인 설명

이 전략은 주로 가격의 돌파구를 기반으로 구매 및 판매하는 브레이크아웃 거래 시스템입니다. 시스템은 가격 돌파구를 결정하기 위해 볼링거 밴드를 사용합니다. 가격이 볼링거 밴드의 하부 레일을 상향으로 돌파하면 구매 주문이 제공됩니다. 가격이 볼링거 밴드의 중부 레일 또는 하부 레일을 상향으로 돌파하면 판매 주문이 제공됩니다.

전략 원칙

이 전략은 가격 돌파구 영역을 결정하기 위해 볼링거 밴드를 사용합니다. 볼링거 밴드는 n 일 간 간단한 이동 평균선과 표준 편차 곱셈자로 구성됩니다. 여기서 우리는 볼링거 밴드의 상부 및 하부 레일을 결정하기 위해 최고 가격과 최저 가격의 20 일 이동 평균을 계산하며, 또한 상부 및 하부 레일의 평균을 기본 라인으로 계산합니다.

클로즈 가격이 하부 레일을 넘어올 때, 가격이 상승하기 시작한다는 것을 나타냅니다. 이것은 구매 신호입니다. 클로즈 가격이 중부 또는 하부 레일을 넘어올 때, 상승 추세가 끝나고 포지션이 판매되어야한다는 것을 나타냅니다. 이 전략은 이윤을 창출하기 위해 돌파 후 가격의 상승 또는 하락을 계속하는 경향을 활용합니다.

이점 분석

  • 이 전략은 시장의 본질적 특성에 부합하는 가격의 경향과 관성을 이용합니다.
  • 볼링거 밴드는 돌파값을 명확하게 나타냅니다.
  • 전략 논리는 간단하고 명확하고 이해하기 쉽고 수정 할 수 있습니다
  • 스톱 로스 조건은 위험을 제어하기 위해 설정할 수 있습니다.

위험 분석

  • 볼링거 대역은 가격 행동을 완전히 예측할 수 없습니다, 가격은 급격하게 변동 할 수 있습니다
  • 돌파 신호가 잘못되어 거래 손실로 이어질 수 있습니다.
  • 거래 시간을 결정하기 위해 가격 돌파구에만 의존하는 것은 시장 소음에 쉽게 영향을받을 수 있습니다.

해결책:

  • 돌파 신호를 확인하기 위해 다른 지표를 결합합니다.
  • 효율적인 돌파 신호를 보장하기 위해 적절한 매개 변수를 조정
  • 단일 손실을 제어하기 위해 중지 손실을 설정

최적화 방향

  • 다양한 매개 변수에서 테스트 성능 및 최적 매개 변수를 선택
  • 거래량과 같은 거짓 브레이크오웃을 필터링하기 위해 다른 지표를 포함합니다.
  • 다른 시장 환경에서 거래를 위해 트렌드 및 역전 전략을 결합
  • 다양한 품종에 대한 매개 변수 설정을 기반으로 최적화
  • 가격 추세와 주요 가격 지점을 예측하기 위해 기계 학습 알고리즘을 통합합니다.

요약

이것은 볼링거 밴드를 기반으로 한 가격 돌파 트레이딩 전략입니다. 거래 기회를 식별하기 위해 가격 돌파의 특성을 활용합니다. 장점은 간단하고 쉽게 구현 할 수 있다는 것입니다; 단점은 손실로 이어지는 잘못된 돌파가있을 수 있다는 것입니다. 우리는 매개 변수를 조정하고 다른 지표를 통합하고 백테스팅 및 라이브 트레이딩에서 좋은 결과를 달성하기 위해 스톱 로스를 설정하여 이 전략을 최적화 할 수 있습니다. 일반적으로이 전략은 가격의 트렌딩 경향을 완전히 활용 할 수있는 시장 환경에 적합합니다.


/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
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

//Break out trading system works best in a weekly chart and daily chart of Nifty and BankNifty
//@version=4

strategy("Eswar New",shorttitle = "ESW")
length = input(20, minval=1)
exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using basis line

lower = lowest(length)
upper = highest(length)
basis = avg(upper, lower)

l = plot(lower, color=color.blue)
u = plot(upper, color=color.blue)
plot(basis, color=color.orange)
fill(u, l, color=color.blue)

longCondition = crossover(close,upper[1])
if (longCondition)
    strategy.entry("Long", strategy.long)

if(exit==1)
    if (crossunder(close,lower[1]))
        strategy.close("Long")

if(exit==2) 
    if (crossunder(close,basis[1]))
        strategy.close("Long")


더 많은