지그자그 트렌드 전략

저자:차오장, 날짜: 2024-01-08 10:13:24
태그:

img

전반적인 설명

이 문서에서는 지그자그 트렌드 다음 전략이라는 거래 전략을 소개합니다. 이 전략은 지그자그 지표를 사용하여 가격 트렌드를 식별하고 트렌드가 트렌드를 따르기 위해 역전될 때 포지션을 개설합니다. 전략 파이인 스크립트에서는 지그자그 지표가 새로운 가격의 최고와 최저를 확인하는 데 사용됩니다. 가격이 지그자그 지표선을 넘어서면 거래 신호로 작용합니다. 구매 신호는 닫기 가격이 지그자그 지표 라인을 넘어서 길게 갈 때입니다. 판매 신호는 닫기 가격이 지그자그 지표 라인을 넘어서 짧게 갈 때입니다. 이것은 중장기 가격 트렌드를 효과적으로 추적 할 수 있습니다.

전략 원칙

이 전략의 핵심은 ZigZag 지표를 사용하여 가격의 극단적 지점을 파악하고 가격 트렌드를 표시하는 것입니다. ZigZag 지표는 높은 가격과 낮은 가격의 기하급수적인 이동 평균 (EMA) 으로 구성됩니다. 구체적으로 다음과 같은 단계로 구성됩니다.

  1. 닫는 가격의 기하급수적인 이동 평균 EMA를 계산합니다. 3개의 이동 평균 라인을 포함합니다. 빠른 라인, 중간 라인, 느린 라인.

  2. 가격이 상승 추세인지 판단합니다. 즉, 현재의 중간선이 이전 K-라인의 중간선보다 높는지 판단합니다.

  3. 현재 상승 추세를 보이고 있다면, 지그자그 값으로 감지 된 사이클 내의 전기 낮은 점의 물결의 시작부터 계산된 가장 낮은 가격을 찾아보십시오.

  4. 현재 하락 추세라면, 지그자그 값으로 감지된 사이클 내의 이전 기운의 초점부터 계산된 가장 높은 가격을 찾습니다.

  5. 따라서 가격 변동의 극한점을 반영하는 ZigZag 지표가 형성됩니다.

이 기준에 따라 우리는 ZigZag 라인을 기준으로 사용하여 가격 트렌드를 판단합니다. 즉, 가격이 상승하고 ZigZag 지표 라인을 통과하면, 우리는 길게 갈 것입니다. 가격이 떨어지고 ZigZag 지표 라인을 통과하면, 우리는 짧게 갈 것입니다.

이점 분석

지그자그 지표를 사용하여 가격 추세를 결정하고 포지션 설정으로 가격 극단성을 추적하는 장점은 다음과 같습니다.

  1. 시장 소음을 효과적으로 필터링하고 주요 트렌드를 파악할 수 있습니다.

  2. 새로운 고도와 하위점의 파업에 의해 설정된 거래 신호는 효율적으로 수익을 창출할 수 있습니다.

  3. 지그자그 라인은 비교적 부드럽고, 이는 잘못된 신호를 줄일 수 있습니다.

  4. 지그자그 매개 변수를 조정하여 전략을 최적화하기 쉽습니다.

위험 분석

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

  1. 장기적인 실행은 시장의 격렬한 변동으로 인해 갇힐 수 있습니다. 이 시점에서 적절한 스톱 손실이 필요합니다.

  2. 지그자그 지표는 매개 변수에 민감합니다. 부적절한 설정은 거래 기회를 놓칠 수 있거나 잘못된 신호를 생성 할 수 있습니다. 매개 변수는 적절히 테스트하고 최적화해야합니다.

  3. 트렌드 추적 전략은 트렌드 시장에 더 많이 의존합니다. 측면 범위가 있다면이 전략의 효과는 낮습니다.

위의 위험에 대응하여, 우리는 단일 손실을 통제하기 위해 스톱 로스 메커니즘을 설정할 수 있습니다. 동시에 전체 포지션을 추구하는 대신 포지션 크기를 조정하고 마지막으로 다양한 유형의 전략 포트폴리오를 일치시킵니다.

최적화 방향

우리는 다음 측면에서 이 전략을 더 이상 최적화 할 수 있습니다.

  1. 스톱 로스 메커니즘을 추가합니다. 예를 들어, 가격 리트레이싱 진폭을 이동 스톱 로스 또는 스톱 로스를 설정합니다.

  2. 포지션 필터를 위한 다른 지표와 결합합니다. 예를 들어, 충분한 추진력을 보장하기 위해 모멘텀 지표를 향상시키십시오. 또는 높은 거래량을 보장하기 위해 거래량 지표.

  3. 다른 시장 환경에 따라 다른 매개 변수 구성을 채택합니다. (부리 시장과 곰 시장과 같이).

  4. 가장 좋은 매개 변수 조합을 찾기 위해 다른 EMA 라인 매개 변수를 테스트합니다.

결론

이 전략은 지그자그 지표를 사용하여 가격 트렌드를 결정하고 극단적인 지점 근처에 추적 위치를 설정합니다. 이 전략의 장점은 수익을 위해 효율적으로 트렌드를 따르는 것입니다. 또한 함락 될 위험이 있습니다. 우리는 위험을 제어하기 위해 스톱 로스를 설정하고 매개 변수 및 무역 전략 포트폴리오를 최적화 할 수 있습니다. 이 전략은 중장기 트렌드 거래에 더 적합합니다. 적절히 제어되고 결합하면 안정적인 수익을 얻을 수 있습니다.


/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-07 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's ZigTrend Strategy v1.0", shorttitle = "ZigTrend 1.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, %")
length = input(4)
ExtremeDetection = input(4)
src = input(close)
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")

//ZigZag
f_zz(_length, _detection)=>
    _hls = ema(ema(ema(src, _length), round(_length*0.66)), round(_length*0.33))
    _isRising = _hls >= _hls[1]
    _zigzag = _isRising and not _isRising[1] ? lowest(_detection) :  not _isRising and _isRising[1] ? highest(_detection) : na
zigzag = f_zz(length, ExtremeDetection)
plot(zigzag, color=black, linewidth=2)

//Signals
up = close > zigzag
dn = close < zigzag

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)


더 많은