이치모쿠 클라우드 데이 트레이딩 전략

저자:차오장, 날짜: 2023-10-16 16:10:55
태그:

img

전반적인 설명

이 전략은 이치모쿠 클라우드 라인을 사용하여 내일 주식 거래를 구현합니다. 단기 거래 전략에 속합니다. 이치모쿠 클라우드의 변환 라인, 기본 라인 및 선도 라인을 사용하여 거래 신호를 생성하고, 스톱 로스 트레일링을 위해 파라볼릭 SAR를 사용하여 이중 보호를 달성합니다.

원칙

이치모쿠 클라우드는 전환선, 기본선, 선도선 1 및 선도선 2로 구성되어 있습니다. 전환선은 최근 9일 동안의 폐쇄 가격과 최고 및 최저 가격의 평균이며, 주식 가격의 최근 균형 상태를 반영합니다. 기본선은 지난 26일 동안의 최고 및 최저 가격의 평균이며, 중장기 균형 상태를 나타냅니다. 선도선 1은 미래 트렌드를 반영하는 기본선과 전환선의 평균입니다. 선도선 2는 지난 52일 동안의 최고 및 최저 가격의 평균입니다. 이러한 균형선은 거래 신호를 형성하기 위해 결합됩니다.

폐쇄 가격은 기본 라인을 상향으로 돌파하고 선 2 위에 있을 때 구매 신호가 생성된다. 폐쇄 가격은 기본 라인을 상향으로 돌파하고 선 1 아래에 있을 때 판매 신호가 생성된다. 패러볼리 SAR는 스톱 로스 트레일링을 위해 사용되며, 가격이 SAR 아래에 있을 때 스톱 로스 신호를 생성한다.

이 전략은 미래의 가격 추세와 현재 추세의 지속가능성을 결정하기 위해 평형선의 조합을 활용한다. 이는 전형적인 추세 추후 전략에 속한다. 구매 및 판매 신호가 나타나면 트렌드를 따라 거래한다. 한편, SAR 스톱 로스 및 영업 메커니즘은 손실을 확대하는 것을 피한다.

장점

  1. 미래 경향 을 결정 하기 위해 평형 선 을 사용 함 으로 정확성 이 향상 된다

평형선 은 서로 다른 기간 의 가격 정보 를 포함 하여, 트렌드 의 변화 를 사전에 반영 한다. 조합 을 사용 하면 단일 지표 에 비해 정확성 이 향상 된다. 거래 신호 를 보다 정확하게 식별 할 수 있다.

  1. SAR 후속 정지 두 배 보호

SAR는 스톱 로스를 위한 주식 가격을 유연하게 추적할 수 있다. 평형선과 결합하여, 이익 취득 후의 적절한 스톱 로스를 허용하며, 증대된 손실을 피한다.

  1. 간단한 매개 변수, 쉽게 구현

이 전략은 곡선 부착과 같은 복잡한 기술적 지표 없이 최소한의 매개 변수를 가지고 있으며, 간단하고 실용적입니다. 기본 값은 이미 좋은 결과를 얻을 수 있습니다.

  1. 내일 및 단기 거래에 적합합니다.

그것은 단기 거래에 적합한 내일 가격 변화에서 거래 신호를 식별합니다. 이윤을 위해 내일 변동을 완전히 활용 할 수 있습니다.

위험성

  1. 적립 위험

트레이딩을 따르는 트렌드는 더 높은 드래운으로 이어집니다. 합리적인 스톱 로스 레벨은 거래 당 손실을 제한하도록 설정해야합니다.

  1. 윙사 위험

범위 제한 시장에서 수익성에 불리한 빈번한 거래 신호가 생성 될 수 있습니다. 몇 가지 신호를 필터링하기 위해 매개 변수를 조정할 수 있습니다.

  1. 과도한 최적화 위험

간단한 매개 변수는 과도한 최적화에 민감합니다. 실제 거래 성능은 이상적이지 않을 수 있습니다. 과도한 적합성을 방지하기 위해 견고성 테스트가 수행되어야합니다.

  1. 그 결과는 각기 다른 도구에 따라 다릅니다.

성능은 거래 도구에 달려 있습니다. 전략의 효율성을 극대화하기 위해 명확한 추세를 가진 트렌딩 주식이 선택되어야합니다.

더 나은 기회

  1. 다른 지표와 함께 필터를 추가

이동 평균과 같은 다른 지표는 불확실한 신호를 필터하고 잘못된 거래를 피하기 위해 추가 될 수 있습니다.

  1. 스톱 로즈의 동적 조정

SAR 매개 변수는 보다 유연한 스톱 로스를 위해 시장 변동성에 따라 동적으로 조정할 수 있습니다.

  1. 매개 변수 최적화

보다 체계적인 최적화와 조합 테스트는 성능을 향상시키기 위해 더 나은 매개 변수 집합을 찾을 수 있습니다.

  1. 시장 체제에 따라 포지션 크기를 조정합니다.

포지션 크기와 레버리지는 지수 트렌드 같은 시장 조건에 따라 리스크를 제어하기 위해 동적으로 조정할 수 있습니다.

결론

이 전략은 이치모쿠 클라우드 (Ichimoku Cloud) 의 거래 신호와 패러볼릭 SAR (Parabolic SAR) 를 스톱 로스 추적에 활용한다. 이것은 간단하고 실용적인 단기 거래 전략이다. 이치모쿠 클라우드 (Ichimoku Cloud) 의 브레이크아웃 트레이딩에 대한 트렌드 예측 능력을 활용한다. 스톱 로스 메커니즘은 손실을 확대하는 것을 피한다. 적절한 드라운드 컨트롤, 주식 선택 및 매개 변수 조정이 구현에 필요합니다. 이 문제를 해결하면 내일 거래에 존경받는 성능을 가진 전략을 구현하는 것이 쉽습니다.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//
//  Based on the trading strategy described at
//    http://stockcharts.com/school/doku.php?id=chart_school:trading_strategies:ichimoku_cloud
//
//  See Also:
//    - Backtesting and forwardtesting (of TradingView Strategies) <https://www.tradingview.com/wiki/Strategies#Backtesting_and_forwardtesting>
//    - 9 Mistakes Quants Make that Cause Backtests to Lie <https://blog.quantopian.com/9-mistakes-quants-make-that-cause-backtests-to-lie-by-tucker-balch-ph-d/>
//    - When Backtests Meet Reality <http://financial-hacker.com/Backtest.pdf>
//    - Why MT4 backtesting does not work <http://www.stevehopwoodforex.com/phpBB3/viewtopic.php?f=28&t=4020>
//
// 
// -----------------------------------------------------------------------------
// Copyright 2018 sherwind
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// The GNU General Public License can be found here
// <http://www.gnu.org/licenses/>.
//
// -----------------------------------------------------------------------------
//

strategy(title="Ichimoku Cloud Strategy", shorttitle="Ichimoku Strategy", overlay=true, pyramiding=3)

conversionPeriods   = input(9,  minval=1, title="Conversion Line Periods"),
basePeriods         = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement        = input(26, minval=1, title="Displacement")

usePSARTrailStop    = input(true, title="Use Parabolic SAR for Trailing Stop")
psarStart           = input(0.02, title="Parabolic SAR Start")
psarIncrement       = input(0.02, title="Parabolic SAR Increment")
psarMaximum         = input(0.2,  title="Parabolic SAR Maximum")


donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine  = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
leadLineDisp1 = leadLine1[displacement]
leadLineDisp2 = leadLine2[displacement]

psar = sar(psarStart, psarIncrement, psarMaximum)

// BUY Signal:
// close > leading span b and
// leading span a > leading span b and 
// close crosses over base line and
// close > parabolic sar
buySignal = close > leadLineDisp2 and
  leadLineDisp1 > leadLineDisp2 and
  crossover(close, baseLine) and
  (usePSARTrailStop ? close > psar : not usePSARTrailStop)

// Sell Signal:
// close < leading span a and 
// leading span a < leading span b and 
// close crosses under base line and
// close < psar
sellSignal = close < leadLineDisp1 and
  leadLineDisp1 < leadLineDisp2 and
  crossunder(close, baseLine) and
  (usePSARTrailStop ? close < psar : not usePSARTrailStop)

hasLong  = strategy.position_size > 0
hasShort = strategy.position_size < 0


strategy.entry("ichimoku-long", strategy.long, when = buySignal)
strategy.entry("ichimoku-short", strategy.short, when = sellSignal)

strategy.exit("trailstop-long", "ichimoku-long", stop = psar, when = hasLong and usePSARTrailStop)
strategy.exit("trailstop-short", "ichimoku-short", stop = psar, when = hasShort and usePSARTrailStop)


더 많은