BMSB 브레이크아웃 전략 (BMSB Breakout Strategy) 은 이동 평균에 기반한 브레이크아웃 전략이다. 시장의 트렌드 방향을 결정하기 위해 20 기간 간 단순 이동 평균 (SMA) 과 21 기간 기하급수적 이동 평균 (EMA) 을 사용합니다. 종료 가격이 SMA를 넘을 때 전략은 구매 신호를 생성하고 종료 가격이 EMA를 넘을 때 전략은 판매 신호를 생성합니다. 이 전략의 주요 아이디어는 트렌드의 형성과 반전을 포착하고 트렌드 방향으로 거래하는 것입니다.
이 전략의 핵심은 시장 트렌드를 결정하기 위해 서로 다른 기간을 가진 두 개의 이동 평균을 사용하는 것입니다. 20 기간 SMA는 상대적으로 느리고 시장의 중장기 트렌드를 나타냅니다. 21 기간 EMA는 상대적으로 빠르며 시장의 단기 트렌드를 나타냅니다. 종료 가격이 SMA를 넘을 때 시장이 중장기 관점에서 상승 추세로 변했다는 것을 나타냅니다. 종료 가격이 EMA를 넘을 때 시장이 단기 관점에서 하락 추세로 변했다는 것을 나타냅니다. 이 방법으로 전략은 트렌드 형성의 초기 단계에서 시장에 진입하고 트렌드가 역전될 때 적시에 빠져 나갈 수 있습니다.
간단하고 이해하기 쉽다. 이 전략에서 사용되는 지표는 간단하고 원칙은 명확하며 이해하기 쉽고 실행하기 쉽습니다.
트렌드 추적: 서로 다른 기간에 두 개의 이동 평균을 사용하여 전략은 시장의 트렌드 방향을 효과적으로 파악하고 트렌드가 형성 될 때 적시에 입력 할 수 있습니다.
유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동 유동
강한 적응력: 이 전략은 다른 시장과 품종에 적용 될 수 있으며 좋은 적응력을 가지고 있습니다.
오스실레이션 시장: 시장 오스실레이션의 경우 이 전략은 더 많은 거래 신호를 생성하여 빈번한 거래와 더 높은 거래 비용을 초래할 수 있습니다.
지연: 이동 평균은 지연 지표이기 때문에 전략의 구매 및 판매 신호는 특정 지연을 가지고 최고의 거래 기회를 놓칠 수 있습니다.
매개 변수 최적화: 전략의 성능은 이동 평균 기간 선택에 의해 영향을 받으며 다른 매개 변수가 다른 결과를 초래할 수 있습니다.
매개 변수 최적화: SMA와 EMA의 기간 매개 변수를 최적화함으로써 전략의 성능을 향상시키기 위해 최상의 매개 변수 조합을 찾을 수 있습니다.
트렌드 필터링: 거래 신호를 생성 할 때 다른 트렌드 지표 또는 가격 행동 패턴을 도입하여 트렌드의 강도와 지속성을 더욱 확인하여 신호의 신뢰성을 향상시킬 수 있습니다.
리스크 제어: 단 하나의 거래의 리스크 노출을 제어하기 위해 스톱 로스 및 리프트 테이크 메커니즘을 도입할 수 있으며, 포지션 관리를 사용하여 시장 변동성에 따라 포지션 크기를 동적으로 조정하여 전략의 전반적인 위험을 줄일 수도 있습니다.
긴 짧은 타이밍: 구매 및 판매 신호를 생성 할 때 다른 타이밍 지표 또는 시장 정서 지표가 결합되어 장기 및 짧은 양쪽의 힘을 평가하고 거래에 더 유리한 방향을 선택할 수 있습니다.
BMSB 브레이크아웃 전략 (BMSB Breakout Strategy) 은 시장 트렌드를 결정하기 위해 서로 다른 기간을 가진 두 개의 이동 평균을 사용하여 트렌드가 형성될 때 적시에 시장에 진입하고 트렌드가 역전될 때 적시에 시장에서 빠져나가는 간단하고 사용하기 쉬운 트렌드 추적 전략이다. 이 전략의 장점은 단순함과 이해하기 쉽고 강력한 적응력이다. 동시에, 오스실레이션 시장에서 빈번하게 거래하는 것과 뒤떨어진 신호와 같은 위험도 있다. 매개 변수 최적화, 트렌드 필터링, 위험 통제 및 장기 단기 타이밍을 통해 이 전략의 성능과 안정성을 더욱 향상시킬 수 있다.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BMSB Breakout Strategy", overlay=true) // Definición de la BMSB smaLength = 20 emaLength = 21 source = close sma = ta.sma(source, smaLength) ema = ta.ema(source, emaLength) outSma = request.security(syminfo.tickerid, timeframe.period, sma) outEma = request.security(syminfo.tickerid, timeframe.period, ema) smaPlot = plot(outSma, color=color.new(color.red, 0), title='20w SMA') emaPlot = plot(outEma, color=color.new(color.green, 0), title='21w EMA') fill(smaPlot, emaPlot, color=color.new(color.orange, 75), fillgaps=true) // Señales de Compra y Venta buySignal = ta.crossover(close, outSma) sellSignal = ta.crossunder(close, outEma) // Lógica de la Estrategia if (buySignal) if (strategy.opentrades > 0) strategy.close_all() strategy.entry("Buy", strategy.long) if (sellSignal) if (strategy.opentrades > 0) strategy.close_all() strategy.entry("Sell", strategy.short) plotshape(series=buySignal, title="Compra", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=sellSignal, title="Venta", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)