MACD BB 밴드 브레이크아웃 전략

MACD EMA BB SMA
생성 날짜: 2024-04-25 17:16:28 마지막으로 수정됨: 2024-04-25 17:16:28
복사: 0 클릭수: 1022
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

MACD BB 밴드 브레이크아웃 전략

개요

MACD BB 파급 전략은 MACD 지표와 부린 띠 지표를 기반으로 한 거래 전략이다. 이 전략은 MACD 지표의 단기 경향을 포착하는 동시에 부린 띠 지표를 사용하여 시장의 과매매 및 과매매 지역을 결정한다. MACD 지표가 부린 띠를 돌파할 때 전략은 더 많은 주문을 열고, MACD 지표가 부린 띠를 돌파할 때 전략은 빈 주문을 열는다. 이 전략은 시장의 단기 경향을 포착하고, 트렌드 형성 초기 단계에서 거래한다.

전략 원칙

MACD BB 파급 전략의 원리는 다음과 같습니다.

  1. MACD 지표를 계산: 빠른 이동 평균 ((EMA) 와 느린 이동 평균 ((EMA) 을 사용하여 MACD 지표를 계산한다.
  2. 브린 띠 계산: MACD 지표의 간단한 이동 평균 ((SMA) 과 표준 차이는 브린 띠를 계산한다.
  3. 다중중 신호: MACD 지표가 브린을 뚫고 궤도에 올랐을 때, 전략은 다중 상장을 한다.
  4. 공백 신호: MACD 지표가 부린을 넘어간다면, 전략은 공백을 다.
  5. 스톱 스톱: 전략은 거래 위험을 관리하기 위해 스톱 스톱 및 스톱 손실 비율을 설정할 수 있습니다.

전략적 이점

  1. 트렌드 캡처: MACD 지표는 시장의 단기 트렌드를 효과적으로 캡처하여 트렌드가 형성되는 초기 단계에서 거래 할 수 있도록합니다.
  2. 변동성 고려: 브린 띠 지표는 가격의 변동성을 고려하여 시장의 변동성이 커지면 잘못된 거래 신호를 피하는 전략을 돕습니다.
  3. 매개 변수 유연성: 전략의 매개 변수, 예를 들어 MACD의 빠른 느린 선 주기, 브린 밴드의 주기 및 표준 차이의 배수, 시장 특성에 따라 최적화 조정할 수 있다.

전략적 위험

  1. 범위 위험: 트렌드가 형성되는 초기 단계에서 거래하는 전략으로, 회수 위험이 더 커질 수 있습니다.
  2. 자주 거래: 만약 변수가 잘못 설정되면, 전략은 과도한 거래 신호를 생성할 수 있으며, 이는 자주 거래와 높은 거래 비용을 초래할 수 있다.
  3. 매개 변수 최적화: 전략의 성능은 매개 변수의 선택에 의존하며, 부적절한 매개 변수는 전략의 성능이 좋지 않을 수 있다.

전략 최적화 방향

  1. 트렌드 확인: 거래 신호가 생성 된 후, 다른 지표 또는 가격 행동과 함께 트렌드의 유효성을 확인하여 잘못된 신호를 필터링 할 수 있습니다.
  2. 역동적 스톱: 시장의 변동성이나 가격 행동에 따라 스톱 포지션을 역동적으로 조정하여 위험을 더 잘 제어합니다.
  3. 변수 적응: 기계 학습 또는 최적화 알고리즘을 통해 전략 변수를 다양한 시장 상황에 맞게 조정합니다.

요약하다

MACD BB 파동 범위를 돌파하는 전략은 MACD 지표와 브린 밴드 지표를 결합하여 트렌드 형성 초기 단계에서 거래한다. 전략의 장점은 단기 트렌드를 포착하고 가격 변동성을 고려하는 데 있습니다. 그러나 폭의 위험, 빈번한 거래 및 매개 변수 최적화의 도전에 직면하고 있습니다. 트렌드 확인, 동적 손실 및 매개 변수 자조와 같은 최적화 방향을 통해 전략의 안정성과 적응력을 더욱 향상시킬 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//AK MACD BB 
strategy("AK MACD BB strategy", overlay = true)

// Inputs for TP and SL
tp_percent = input.float(1.0, title="Take Profit %") / 100
sl_percent = input.float(1.0, title="Stop Loss %") / 100

length = input.int(10, minval=1, title="BB Periods")
dev = input.float(1, minval=0.0001, title="Deviations")

//MACD
fastLength = input.int(12, minval=1, title="fastLength") 
slowLength=input.int(26,minval=1)
signalLength=input.int(9,minval=1)
fastMA = ta.ema(close, fastLength)
slowMA = ta.ema(close, slowLength)
macd = fastMA - slowMA

//BollingerBands

Std = ta.stdev(macd, length)
Upper = (Std * dev + (ta.sma(macd, length)))
Lower = ((ta.sma(macd, length)) - (Std * dev))


Band1 = plot(Upper, color=color.gray, style=plot.style_line, linewidth=2,title="Upper Band")
Band2 = plot(Lower, color=color.gray, style=plot.style_line, linewidth=2,title="lower Band")
fill(Band1, Band2, color=color.blue, transp=75,title="Fill")

mc = macd >= Upper ? color.lime:color.red

// Indicator

plot(macd, color=mc, style =plot.style_circles,linewidth = 3, title="macd")
zeroline = 0 
plot(zeroline,color= color.orange,linewidth= 2,title="Zeroline")

//buy
barcolor(macd >Upper ? color.yellow:na)
//short
barcolor(macd <Lower ? color.aqua:na)
if macd > Upper
    strategy.entry("Long", strategy.long)
    // strategy.exit("Long TP/SL", "Long", limit=close * (1 + tp_percent), stop=close * (1 - sl_percent), comment = "Long Exit" )

if macd < Lower
    strategy.entry("Short", strategy.short)
    // strategy.exit("Short TP/SL", "Short", limit=close * (1 - tp_percent), stop=close * (1 + sl_percent), comment = "Short Exit")