모멘텀 브레이크아웃 볼린저 밴드 손절매 전략


생성 날짜: 2023-10-27 16:50:24 마지막으로 수정됨: 2023-10-27 16:50:24
복사: 0 클릭수: 640
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

모멘텀 브레이크아웃 볼린저 밴드 손절매 전략

개요

이 전략은 부린 띠 지표에 기초하여 거래 신호를 판단하고, 스톱 로드 방식을 사용하여 포지션 관리를 한다. 전략은 부린 띠의 오르락 내리락의 돌파 상황을 모니터링하며, 가격이 부린 띠를 오르락 돌파할 때 더 많이 하고, 하락 돌파할 때 공백을 하고, 반향 돌파할 때 손해 평평 포지션을 사용한다.

전략 원칙

이 전략은 브린 벨트 지표의 중도, 상도, 하도선을 사용합니다. 중도선은 일정 기간 동안의 가격의 평균값을 계산하는 것으로, 상도선은 중도선과 표준 차이의 두 배이고, 하도선은 중도선과 표준 차이의 두 배를 빼는 것입니다.

코드는 먼저 브린 띠의 중간, 상단, 하단 궤도를 계산한다. 다음, 가격이 상단 또는 하단 궤도를 돌파했는지 판단한다. 상단 궤도를 돌파하면 더 많이 하고, 하단 궤도를 돌파하면 공백하게 한다. 동시에, 가격이 상단 또는 하단 궤도를 돌파하는 방향으로 역으로 돌파하면 손해 평평점을 사용한다.

이 전략의 논리는 다음과 같습니다.

  1. 브린 벨트 중철, 상철, 하철 계산
  2. 가격 부진이 발생하면 더 많은 지분을 확보하십시오.
  3. 가격이 하락하면 포지션을 열어라
  4. 만약 다중 포지션이 있다면, 가격이 하락하면, 손해배상 청평 포지션을 사용한다.
  5. 코스피 포지션이 있다면, 가격이 경로를 돌파하고, 손해배상 청평 포지션을 사용하십시오.

이런 식으로, 주가가 큰 변동이 있을 때 트렌드를 잡을 수 있고, 동시에 스톱로스로 손실을 제한할 수 있다.

우위 분석

  • 브린 띠 지표를 사용하여 진입 시기를 판단하여 가격 돌파 이후의 트렌드 상황을 효과적으로 캡처 할 수 있습니다.
  • 더 많은 공백 신호가 명확하고, 작동 규칙이 간단하고 명확합니다.
  • 단편 거래의 최대 손실을 제한하기 위해 단편 중지 전략을 사용하십시오.
  • 매개 변수 핸들러는 브린 밴드 매개 변수를 조정하여 전략을 최적화합니다.

위험 분석

  • 브린 띠 거래는 여러 번의 소액의 단위 손실을 초래할 수 있으며, 전체적으로 손실이 발생할 수 있습니다.
  • 부린 밴드 파라미터를 잘못 설정하면 거래 빈도가 너무 높거나 신호가 잘못 될 수 있습니다.
  • 가격만 고려하고 다른 지표와 결합하지 않고 종합적으로 판단합니다.
  • 파격점 근처의 스톱 라인 조정이 고려되지 않아 손실이 커질 수 있습니다.

조합 지표 조합, 적절히 조정된 스톱 유닛 등의 방법으로 최적화할 수 있다.

최적화 방향

  • 거래량, 이동 평균 등과 같은 다른 지표와 함께 브레이크 신호를 확인하는 것이 고려될 수 있습니다.
  • 다른 시장에 따라 브린 밴드 매개 변수를 조정하고 매개 변수 조합을 최적화 할 수 있습니다.
  • 터치 포인트에 따라 근접 스톱 거리를 조정할 수 있습니다. 너무 민감하지 않도록
  • 트렌드가 형성된 후에만 거래하는 것을 고려할 수 있습니다.
  • 기계 학습 알고리즘과 결합하여 브린 대역 변수를 자동으로 최적화할 수 있다.

요약하다

이 전략은 브린 벨트 지표에 기초하여 비교적 간단한 트렌드 추적 전략을 설계했습니다. 가격의 돌파구가 발생했을 때 신속하게 포지션을 형성할 수 있으며, 동시에 스톱로스를 사용하여 위험을 제어 할 수 있습니다. 그러나 가격 요인을 고려하는 것 만으로는 잘못된 판단이 발생할 수 있으며, 너무 민감한 스톱로스는 거래 빈도를 증가시킬 수 있습니다. 우리는 파라미터 최적화, 지표 조합, 스톱로스 조정 등의 방법으로이 전략을 더 개선 할 수 있습니다.

전략 소스 코드
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 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/
// © ROBO_Trading

//@version=5
strategy(title = "Bollinger Stop Strategy", shorttitle = "BBStop", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 10000, default_qty_value = 100, commission_value = 0.1)

//Settings
long = input(true)
short = input(true)
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
source = input(close)
showbb = input(true, title = "Show Bollinger Bands")
showof = input(true, title = "Show Offset")
startTime = input(defval = timestamp("01 Jan 2000 00:00 +0000"), title = "Start Time", inline = "time1")
finalTime = input(defval = timestamp("31 Dec 2099 23:59 +0000"), title = "Final Time", inline = "time1")

//Bollinger Bands
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev

//Show indicator
offset = showof ? 1 : 0
colorBasis = showbb ? color.gray : na
colorUpper = showbb ? color.blue : na
colorLower = showbb ? color.blue : na
colorBands = showbb ? color.blue : na
p0 = plot(basis, "Basis", color = colorBasis, offset = offset)
p1 = plot(upper, "Upper", color = colorUpper, offset = offset)
p2 = plot(lower, "Lower", color = colorLower, offset = offset)
fill(p1, p2, title = "Background", color = colorBands, transp = 90)

//Trading
truetime = true
if basis > 0 and truetime
    if long
        strategy.entry("Long", strategy.long, stop = upper, when = truetime)
    if short
        strategy.entry("Short", strategy.short, stop = lower, when = truetime)
    if long == false
        strategy.exit("Exit", "Short", stop = upper)
    if short == false
        strategy.exit("Exit", "Long", stop = lower)
if time > finalTime
    strategy.close_all()