브레이크아웃 풀백 전략

저자:차오장, 날짜: 2024-02-01 14:37:02
태그:

img

전반적인 설명

브레이크아웃 풀백 전략 (breakout pullback strategy) 은 트렌드를 따르는 전략이다. 그 기본 원리는 가격이 이전 촛불의 최고 또는 최저를 넘어서면 길거나 짧게 이동하고 수익을 취하고 손실을 멈추는 것을 설정한 후 수익을 계속하도록하는 것입니다.

전략 논리

이 전략의 핵심 논리는 가격이 이전 촛불의 높은 또는 낮은 지점을 통과하는지 판단하여 진입 시기를 결정하는 것입니다. 구체적인 논리는 다음과 같습니다.

만약 현재 촛불의 최고가 이전 촛불의 최고보다 높다면, 긴 신호가 발동됩니다.

만약 현재 촛불의 하위값이 이전 촛불의 하위값보다 낮다면, 짧은 신호가 발사됩니다.

긴 또는 짧은 신호를 받은 후 즉시 포지션을 입력합니다. 포지션을 입력 한 후, 수익을 50 pips로 설정하고 손실을 100 pips로 중지하십시오.

손실이 스톱 로스 피프보다 크거나 같거나 수익이 취득 피프보다 크거나 같으면 적극적으로 포지션을 종료합니다.

이점 분석

이 브레이크아웃 철수 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 논리는 간단하고 실행하기 쉽습니다.
  2. 트렌드의 시작을 효과적으로 파악하고 적시에 포지션을 입력할 수 있습니다.
  3. 이윤을 취하고 손해를 멈추는 것을 설정하면 이윤이 계속 실행되고 조기 출출을 피할 수 있습니다.
  4. 마감량과 위험을 통제하는 좋은 능력.

위험 분석

이 전략에는 또한 몇 가지 위험이 있습니다.

  1. 파기 신호는 잘못된 파기 신호일 수 있어 잘못된 입력으로 이어질 수 있습니다.
  2. 범위에 묶인 통합 시장에 갇히기 쉽죠.
  3. 합리적인 수익을 취하고 손실을 멈추는 피프가 위험을 통제하기 위해 설정되어야 합니다.

최적화 방향

이 전략은 다음 측면에서 더 이상 최적화 될 수 있습니다.

  1. 인디케이터 필터와 볼륨 확인을 사용하는 것과 같은 잘못된 브레이크오프를 피하기 위해 가격 브레이크의 유효성 검사를 추가합니다.

  2. 범위에 묶인 시장에서 위험을 포착하지 않도록 트렌드 결정 메커니즘을 추가합니다. 이동 평균 및 다른 트렌드 지표가 사용될 수 있습니다.

  3. 수익을 극대화하기 위해 수익을 취하고 손실을 멈추는 전략을 최적화하십시오.

  4. 최적의 수익을 얻고 손실을 멈추는 지점을 찾기 위한 매개 변수 최적화

결론

일반적으로 이 브레이크아웃 풀백 전략은 간단한 논리, 쉬운 구현, 그리고 트렌드 시작을 효과적으로 포착하는 장점을 가지고 있다. 또한 위험과 드라우다운을 통제하는 좋은 능력을 가지고 있다. 추가 최적화로, 그것은 매우 실용적인 양 전략이 될 수 있다.


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Breakout Strategy", shorttitle="BS", overlay=true)

// Input for take profit and stop loss in pips
tp_pips = input(50, title="Take Profit (in pips)")
sl_pips = input(100, title="Stop Loss (in pips)")

// Calculate take profit and stop loss levels in points
tp_level = tp_pips * syminfo.mintick
sl_level = sl_pips * syminfo.mintick

// Function to check if a breakout has occurred
breakout(high_or_low) =>
    high_or_low > request.security(syminfo.tickerid, "D", high[1]) ? true : false

// Buy condition
buy_condition = breakout(high)
strategy.entry("Buy", strategy.long, when=buy_condition)

// Sell condition
sell_condition = breakout(low)
strategy.entry("Sell", strategy.short, when=sell_condition)

// Take profit and stop loss conditions for Buy
tp_buy_condition = strategy.position_avg_price + tp_level
sl_buy_condition = strategy.position_avg_price - sl_level
strategy.exit("Take Profit/Close Buy", from_entry="Buy", profit=tp_buy_condition, loss=sl_buy_condition)

// Take profit and stop loss conditions for Sell
tp_sell_condition = strategy.position_avg_price - tp_level
sl_sell_condition = strategy.position_avg_price + sl_level
strategy.exit("Take Profit/Close Sell", from_entry="Sell", profit=tp_sell_condition, loss=sl_sell_condition)


더 많은