
브레이크 트레이딩 전략은 시장의 변동성이 증가하여 야기된 브레이크 가격을 포착하는 것을 목적으로 한다. 이 전략은 평균 실제 변동 범위 ((ATR) 지표를 사용하여 특정 주기 내의 자산의 변동성을 측정한다. 가격이 ATR에 의해 결정된 상위 두 개의 브레이크 라인을 넘으면 더 많은 것을하고 더 적은 것을 신호한다.
이 전략은 먼저 지정된 주기 내의 ATR을 계산한다. 그리고 ATR에 따라 상도와 하도 계산한다. 종전 가격이 상도를 돌파할 때, 다중 신호를 생성한다. 종전 가격이 하도를 돌파할 때, 공백 신호를 생성한다. 신호를 추가적으로 확인하기 위해, 현재의 K 선 모양의 개체 부분이 닫아야 한다.
종전 가격이 상반기 및 하반기를 돌파할 때, 돌파 방향에서 돌파 간격 색을 채웁니다. 이 특징은 현재 트렌드 방향을 빠르게 식별하는 데 도움이됩니다.
더 많은 신호가 발생하고 현재 지점이없는 경우, 전략이 더 많은 포지션을 열립니다. 더 많은 신호가 발생하고 현재 지점이없는 경우, 전략이 포지션을 열립니다.
Length 파라미터는 변동성을 측정하는 주기 길이를 결정한다. 더 높은 Length 값은 더 긴 가격 변동에 주의를 기울이는 것을 의미한다. 예를 들어, Length가 20일 때, 각 거래는 약 100개의 K선을 가로질러 여러 변동을 포함한다.
스값을 줄이면 더 단기간의 가격 변동에 집중할 수 있고 거래 빈도를 높일 수 있다. 스값과 평균 거래 길이는 엄격한 대응 관계가 없으며, 실험과 오류를 통해 최적의 스값을 찾아야 한다.
이 전략은 돌파 원칙을 이용하여 시장의 변동으로 인한 더 큰 상황을 포착할 수 있다. ATR 지표는 돌파점을 동적으로 계산하고, 고정된 파라미터를 사용하지 않는다.
실체 K선 확인 신호를 사용하여, 가짜 돌파구를 필터링할 수 있다. 돌파구 간격을 채우면 색상이 직관적으로 트렌드 방향을 표시한다.
Length 파라미터는 조정 전략의 유연성을 제공하며, 특정 시장의 변화에 따라 파라미터를 최적화 할 수 있습니다.
돌파 거래는 중도 거래의 위험이 있다. 단편적 손실을 제어하기 위해 손해 차단을 설정할 수 있다.
브레이크 신호는 오류가 발생할 수 있으며, 이는 초단계 거래로 이어질 수 있다. 오류를 제거하기 위해 Length 파라미터를 적절히 조정할 수 있다.
매개 변수 최적화는 충분한 거래 데이터 지원을 축적해야 합니다. 초기 매개 변수 선택이 부적절하면 거래 성능이 좋지 않을 수 있습니다.
ATR 주기 내에 브린띠를 도입할 수 있으며, 새로운 돌파위치 계산 방법이다. 브린띠 돌파는 잘못된 보고율을 줄일 수 있다.
브레이크 이후에도 트렌드를 계속 추적할 수 있고, 즉각적으로 멈추지 않는다. 예를 들어, 트렌드에 가입하면 트렌드와 함께 멈추게 된다.
흔들리는 시장에서 다른 매개 변수를 사용하거나 완전히 거래하지 않는 것을 고려할 수 있습니다.
브레이크 트레이딩 전략은 시장의 변동성을 활용하여 가격이 큰 브레이크를 만들 때 트렌드에 진입한다. ATR 지표는 동적으로 브레이크 지점을 결정하고, 실물 K 선은 가짜 브레이크를 필터링한다. Length 파라미터는 전략 주기를 조정하는 유연성을 제공합니다. 이 전략은 중장선 트렌드를 추적하는 데 적합하지만, 브레이크 트레이딩의 위험에 주의를 기울이고 파라미터를 최적화해야합니다.
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 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/
//@version=5
strategy("Volatility Breakout Strategy [Angel Algo]", overlay = true)
// Inputs
length = input(title="Length", defval=20)
// Calculate the average true range (ATR)
atr = ta.atr(length)
// Plot the ATR on the chart
plot(atr, color=color.blue, linewidth=2, title="ATR")
// Calculate the upper and lower breakouts
upper_breakout = high + atr
lower_breakout = low - atr
// Plot the upper and lower breakouts on the chart
ul = plot(upper_breakout[1], color = color.new(color.green, 100), linewidth=2, title="Upper Breakout Level")
ll = plot(lower_breakout[1], color = color.new(color.red, 100), linewidth=2, title="Lower Breakout Level")
// Create the signals
long_entry = ta.crossover(close, upper_breakout[1]) and barstate.isconfirmed
short_entry = ta.crossunder(close, lower_breakout[1]) and barstate.isconfirmed
active_signal_color =ta.barssince(long_entry) < ta.barssince(short_entry) ?
color.new(color.green,85) : color.new(color.red,85)
// Plot the signals on the chart
plotshape(long_entry and ta.barssince(long_entry[1]) > ta.barssince(short_entry[1]), location=location.belowbar, style=shape.triangleup,
color=color.green, size=size.normal, text = "Bullish breakout", textcolor = color.green)
plotshape(short_entry and ta.barssince(long_entry[1]) < ta.barssince(short_entry[1]), location=location.abovebar, style=shape.triangledown,
color=color.red, size=size.normal,text = "Bearish breakout", textcolor = color.red)
// Fill the space between the upper and lower levels with the color that indicates the latest signal direction
fill(ul,ll, color=active_signal_color)
long_condition = long_entry and strategy.position_size <= 0 and barstate.isconfirmed
short_condition = short_entry and strategy.position_size >= 0 and barstate.isconfirmed
if long_condition
strategy.entry("Volatility Breakout Long", strategy.long)
if short_condition
strategy.entry("Volatility Breakout Short", strategy.short)