리소스 로딩... 로딩...

브레이크아웃 거래 전략

저자:차오장, 날짜: 2023-11-02 16:40:26
태그:

img

전반적인 설명

이 전략은 브레이크아웃 이론을 기반으로 하며, 가장 높은 가격과 가장 낮은 가격의 이동 평균을 비교하여 트렌드가 역전되는지 판단하여 잠재적인 브레이크아웃 포인트를 찾고 브레이크아웃이 발생했을 때 거래를 수행합니다. 전략은 간단하고 간단하며 급격한 가격 변화와 함께 기호를 추적하는 데 적합합니다.

전략 논리

이 전략은 먼저 사용자 정의 기간 내에서 가장 높은 가격과 가장 낮은 가격의 이동 평균을 계산합니다. 가장 높은 가격 이동 평균은 상위 대역을 나타내고 가장 낮은 가격 이동 평균은 하위 대역을 나타냅니다. 가격이 상위 대역을 통과하면 상승 추세를 신호하고 전략은 긴 포지션을 열 것입니다. 가격이 하위 대역을 통과하면 하락 추세를 신호하고 전략은 단위 포지션을 열 것입니다. 사용자는 단위 또는 단위로 설정할 수 있습니다.

이 전략은 또한 선택적 인 스톱 로스 및 수익 설정도 제공합니다. 긴 경우 스톱 로스는 상부 대역에 설정됩니다. 짧은 경우 스톱 로스는 하부 대역에 설정됩니다. 이로 인해 손실이 감소합니다. 사용자는 또한 브레이크아웃 포인트에서 스톱 로스를 설정하도록 선택할 수 있습니다. 즉 긴 경우 스톱 로스는 하부 대역이며 짧은 경우 스톱 로스는 상부 대역입니다. 이것은 더 많은 수익 잠재력을 허용합니다.

장점

이 전략의 장점은 다음과 같습니다.

  1. 이 논리는 간단하고 직설적이며 이해하기 쉽고 실행하기 쉽습니다.

  2. 트렌드 반전 지점을 빠르게 파악하고 그에 따라 위치를 조정할 수 있습니다.

  3. 개인 리스크 선호도에 맞게 선택적인 스톱 로스 및 수익 취득 설정을 제공합니다.

  4. 트레이딩 신호는 너무 많은 잘못된 신호 없이 명확합니다.

  5. 몇 가지 구성 가능한 매개 변수가 있습니다. 사용하기 쉽습니다.

  6. 롱만 설정하거나 단편만 설정할 수 있는 유연성

위험성

이 전략의 위험은 다음과 같습니다.

  1. 파기 신호는 거짓 파기 신호일 수 있고 지속할 수 없습니다.

  2. 부적절한 브레이크오프 기간 설정은 장기 트렌드를 놓칠 수 있습니다.

  3. 부피를 고려하지 않아서 높은 점수를 추구하고 낮은 점수를 죽일 수 있습니다.

  4. 약간의 지연이 있고, 움직임을 잘 놓칠 수도 있습니다.

  5. 변동적인 시장에서, 스톱 로스는 타격을 받을 수 있습니다.

  6. 거래에 있어서 브레이크아웃에만 의존하고 수익은 불확실합니다.

개선

이 전략은 다음과 같은 측면에서 향상될 수 있습니다.

  1. 가짜 브레이크오웃을 피하기 위해 볼륨 표시기를 포함합니다. 예를 들어, 브레이크오웃 신호 유효성에 대한 볼륨 확대.

  2. 이동 평균 기간 매개 변수를 최적화하여 다른 사이클의 트렌드 변화와 일치합니다. 또한 다른 이동 평균 유형을 시도하십시오.

  3. 허위 유출을 피하기 위해 추가 확인을 위해 탈출 후 철수 문턱을 설정합니다.

  4. 더 방향적인 가이드에 대한 브레이크아웃 기본 위에 볼링거 밴드 등을 추가합니다.

  5. 추가 거래 신호를 위해 RSI, MACD와 같은 다른 인디케이터를 통합하고 정확도를 향상시킵니다.

  6. 스톱 로스를 최적화하고 수익 전략을 취하여 위험을 통제하면서 시장 변동에 더 잘 대처합니다.

요약

브레이크아웃 트레이딩 전략은 진입 및 출입을 위해 상위 및 하위 밴드의 가격 브레이크아웃을 추적하는 명확한 논리를 가지고 있습니다. 더 많은 지표 정보를 통합하고 전략을 강화하기 위해 매개 변수를 최적화함으로써 향상시킬 수있는 넓은 공간이 있습니다. 기본 논리와 익숙해지면 거래자는 자신의 필요에 따라 매개 변수를 사용자 정의하고 좋은 거래 결과를 얻을 수 있습니다.


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

//Noro
//2018

//@version=3
strategy(title = "Noro's Brakeout Strategy v2.0", shorttitle = "Brakeout str 2.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length")
bod = input(false, defval = false, title = "Body mode")
rev = input(false, defval = false, title = "Revers")
showlines = input(true, defval = true, title = "Show Lines?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Extremums
min = bod ? min(open, close) : low
max = bod ? max(open, close) : high
upex = highest(max, len) + syminfo.mintick * 10
dnex = lowest(min, len) - syminfo.mintick * 10
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[len])) and rev == false
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = upex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnex)
    
if (not na(close[len])) and rev == true
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

더 많은