변동성 브레이크아웃 거래 전략 (Volatility Breakout Trading Strategy) 은 단일 가격 액션 기반 전략이다. 가격 및 볼륨 변화를 분석하여 구매 및 판매 신호를 생성한다. 이 전략은 다른 거래소 또는 시스템에서 주문을 트리거하기 위해 알림과 결합될 수도 있다.
이 전략은 촛불의 폐쇄, 개방, 높은 가격과 낮은 가격을 분석하여 가격 추세와 동력을 결정합니다.
구체적으로, 가장 최근의 3개의 촛불의 종료 가격이 개시 가격보다 지속적으로 높거나 낮는지 확인합니다. 만약 그렇다면, 가격이 연속적으로 상승하거나 하락하는 것을 나타내고 트렌딩 시장을 생성합니다.
또한, 이 전략은 특정 기간 동안 최대 볼륨을 추적합니다. 현재 촛불의 볼륨이 최근 기간 동안 최대 값을 초과하면 거래량이 급증하고 강력한 힘이 시장에 진입한다는 것을 시사합니다.
가격이 3개의 촛불에서 연속적으로 떨어지고 거래량이 증가하면 전략은 구매 또는 판매 신호를 생성합니다.
이것은 가격 행동 및 볼륨 신호를 활용하는 간단하지만 효과적인 전략입니다. 주요 장점은 다음과 같습니다.
또한 몇 가지 잠재적 인 위험이 있습니다.
이러한 위험을 완화하기 위해 이동 스톱 손실을 추가하거나 매개 변수 조합을 최적화하거나 다른 지표 또는 전략과 결합하는 것을 고려할 수 있습니다.
기본 전략으로서, 여전히 최적화 할 수있는 많은 공간이 있습니다.
결론적으로, 이것은 매우 실용적인 가격 액션 기반 전략이다. 직관적이고 이해하기 쉽고 저렴한 비용으로 구현할 수 있다는 장점이 있다. 한편, 그것은 또한 특정 맹목성을 가지고 있으며 향상된 성능을 위해 추가 최적화와 조합을 필요로 한다. 전반적으로 이것은 깊이 있는 연구와 응용을 받을만한 가치 있는 전략 개념이다.
/*backtest start: 2022-12-04 00:00:00 end: 2023-03-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("SPAS", overlay=true, pyramiding=5, calc_on_order_fills=true) int signal_hh = 0 int signal_ll = 0 if close[1] >= open[1] and close[2] >= open[2] and close[3] >= open[3] signal_hh := 1 if close[1] <= open[1] and close[2] <= open[2] and close[3] <= open[3] signal_ll := 1 plotchar(signal_hh, char='H', size=size.tiny, location=location.abovebar) plotchar(signal_ll, char='L', size=size.tiny, location=location.abovebar) int signal_vol = 0 float max_volume = 0.0 int vol_length = input(title="Volume length", type=input.integer, defval=3) for i = vol_length to 1 if volume[i] > max_volume max_volume := volume[i] if volume[0] > max_volume signal_vol := 1 plotchar(signal_vol, char='V', size=size.tiny, location=location.bottom) int signal_buy = 0 int signal_sell = 0 if signal_hh and signal_vol signal_buy := 1 label.new(bar_index, high, "B", color=color.green) strategy.entry("buy", strategy.long, 5)//, when=strategy.position_size <= 0) if signal_ll and signal_vol signal_sell := 1 label.new(bar_index, low, "S", color=color.red) strategy.entry("sell", strategy.short, 5)//, when=strategy.position_size > 0) //plotchar(signal_buy, char='B', color=color.green, size=size.tiny, location=location.abovebar) plotarrow(signal_buy, colorup=color.green, colordown=color.orange, transp=0, maxheight=20) //plotchar(signal_sell, char='S', color=color.red, size=size.tiny, location=location.abovebar) plotarrow(signal_sell * -1, colorup=color.green, colordown=color.orange, transp=0, maxheight=20)