강한 트렌드 브레이크 전략

저자:차오장, 날짜: 2023-10-30 14:53:32
태그:

img

전반적인 설명

이 전략은 상위 및 하위 대역을 형성하기 위해 특정 기간 동안 가장 높은 최고와 최저 낮은 것을 계산합니다. 가격이 상위 대역을 넘어서면 긴 거리로 이동하고 가격이 하위 대역을 넘어서면 포지션을 닫습니다. 이 전략은 거래 트렌드 브레이크를 통해 강력한 트렌드 단계를 포착하는 것을 목표로합니다.

전략 논리

이 전략은 먼저 상위 및 하위 밴드를 형성하기 위해 지난 20 바에서 가장 높은 최고와 최저 낮은 것을 계산합니다. 현재 바의 폐쇄 가격은 상위 밴드 위에있을 때, 그것은 길어집니다. 가격이 하위 밴드 아래로 넘어갈 때, 그것은 포지션을 닫습니다.

구체적으로, 전략은 지난 20 바에서 가장 높은 최고와 가장 낮은 낮은 값을 계산하기 위해 가장 높고 가장 낮은 함수를 사용하여 범위를 형성합니다. 다음으로 현재 바의 폐쇄 가격이 상단보다 높는지 확인합니다. 예라면 길게 간다. 가격이 하단 범위를 넘으면 위치에서 빠져 나간다.

이 전략은 진입 신호를 결정하기 위해 트렌드 브레이크에 의존합니다. 이것은 단지 길게 갈 뿐이고 짧게 가지 않는 트렌드 다음 시스템입니다. 강력한 트렌드 기기에 적합합니다.

이점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 전략 논리는 간단하고 이해하기 쉽습니다.

  2. 트렌드 브레이크를 거래함으로써 강력한 트렌드 단계를 포착합니다.

  3. 위험을 통제하고 손실을 제한하기 위해 이동 스톱 로스를 사용합니다.

  4. 그것은 단지 길고 짧지 않습니다. 트렌딩 시장에 적합합니다.

  5. 기간 길이와 스톱 로스를 조정할 수 있는 매개 변수

위험 분석

이 전략은 또한 다음과 같은 위험을 가지고 있습니다.

  1. 트렌드 반전을 파악할 수 없고 상위권에서 구매할 수도 있습니다.

  2. 스톱 로즈는 큰 즉각적인 가격 격차로 쉽게 유발될 수 있습니다.

  3. 트렌드가 바뀌면 여러 개의 작은 손실을 발생시킬 수 있습니다.

  4. 그것은 단지 오래 지속되며 하락 추세에서 이익을 얻을 수 없습니다.

  5. 부적절한 매개 변수 설정은 과민성 또는 느림성을 유발할 수 있습니다.

최적화 방향

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

  1. 트렌드 식별 지표를 추가하여 역행에 대한 거래를 피합니다. 예를 들어 MACD.

  2. 더 나은 위험 통제를 위해 손실 중지 전략을 최적화하십시오. 예를 들어, 후속 손실 중지.

  3. 하락 추세에서 이익을 얻기 위해 짧은 포지션 논리를 추가하십시오.

  4. 가장 좋은 조합을 찾기 위해 매개 변수를 테스트하고 최적화합니다.

  5. 시장 조건에 따라 동적 매개 변수 최적화를 추가합니다.

  6. 여러 시간 프레임에 대한 분석을 통합하여 하나의 시간 프레임으로 오해하지 않도록하십시오.

요약

이 전략은 명확하고 간단한 논리를 가지고 있으며, 브레이크아웃을 통해 강력한 트렌드를 포착합니다. 스톱 로스를 통해 위험을 제어합니다. 그러나, 추세 판단이 정확하지 않고 스톱 로스가 트리거되는 것과 같은 몇 가지 약점도 있습니다. 트렌드 식별, 스톱 로스 전략, 쇼트 포지션 및 매개 변수 최적화를 강화하여 전략을 더욱 견고하게 만들 수 있습니다.


/*backtest
start: 2023-10-22 00:00:00
end: 2023-10-24 17:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Donchian Wicks Strategy - Long Only with Customizable Donchian Exit and Stop Loss", "DWS", overlay = true)

// INPUTS
iLength = input(20, "Length", minval = 1)
stopLossPercent = input(1.0, "Stop Loss Percentage", type=input.float) / 100

// SETTING
float up = na
up := close > open ? high : nz(up[1])
float down = na
down := close < open ? low : nz(down[1])

highest = highest(up, iLength)
lowest = lowest(down, iLength)

// PLOT
p1 = plot(highest, "Highest", color.black, 2)
p2 = plot(lowest, "Lowest", color.black, 2)
fill(p1, p2, color.new(color.navy, 90), title="Range")

// ENTRY SIGNALS
wickDown = low < lowest

// STRATEGY IMPLEMENTATION
strategy.entry("Buy", strategy.long, when = wickDown)
strategy.exit("Sell at Donchian High", from_entry="Buy", limit=highest)

// Customizable Stop Loss
stopLossLevel = close * (1 - stopLossPercent)
strategy.exit("Stop Loss", from_entry="Buy", stop=stopLossLevel)


더 많은