이 전략은 이치모쿠 클라우드 라인을 사용하여 내일 주식 거래를 구현합니다. 단기 거래 전략에 속합니다. 이치모쿠 클라우드의 변환 라인, 기본 라인 및 선도 라인을 사용하여 거래 신호를 생성하고, 스톱 로스 트레일링을 위해 파라볼릭 SAR를 사용하여 이중 보호를 달성합니다.
이치모쿠 클라우드는 전환선, 기본선, 선도선 1 및 선도선 2로 구성되어 있습니다. 전환선은 최근 9일 동안의 폐쇄 가격과 최고 및 최저 가격의 평균이며, 주식 가격의 최근 균형 상태를 반영합니다. 기본선은 지난 26일 동안의 최고 및 최저 가격의 평균이며, 중장기 균형 상태를 나타냅니다. 선도선 1은 미래 트렌드를 반영하는 기본선과 전환선의 평균입니다. 선도선 2는 지난 52일 동안의 최고 및 최저 가격의 평균입니다. 이러한 균형선은 거래 신호를 형성하기 위해 결합됩니다.
폐쇄 가격은 기본 라인을 상향으로 돌파하고 선 2 위에 있을 때 구매 신호가 생성된다. 폐쇄 가격은 기본 라인을 상향으로 돌파하고 선 1 아래에 있을 때 판매 신호가 생성된다. 패러볼리 SAR는 스톱 로스 트레일링을 위해 사용되며, 가격이 SAR 아래에 있을 때 스톱 로스 신호를 생성한다.
이 전략은 미래의 가격 추세와 현재 추세의 지속가능성을 결정하기 위해 평형선의 조합을 활용한다. 이는 전형적인 추세 추후 전략에 속한다. 구매 및 판매 신호가 나타나면 트렌드를 따라 거래한다. 한편, SAR 스톱 로스 및 영업 메커니즘은 손실을 확대하는 것을 피한다.
평형선 은 서로 다른 기간 의 가격 정보 를 포함 하여, 트렌드 의 변화 를 사전에 반영 한다. 조합 을 사용 하면 단일 지표 에 비해 정확성 이 향상 된다. 거래 신호 를 보다 정확하게 식별 할 수 있다.
SAR는 스톱 로스를 위한 주식 가격을 유연하게 추적할 수 있다. 평형선과 결합하여, 이익 취득 후의 적절한 스톱 로스를 허용하며, 증대된 손실을 피한다.
이 전략은 곡선 부착과 같은 복잡한 기술적 지표 없이 최소한의 매개 변수를 가지고 있으며, 간단하고 실용적입니다. 기본 값은 이미 좋은 결과를 얻을 수 있습니다.
그것은 단기 거래에 적합한 내일 가격 변화에서 거래 신호를 식별합니다. 이윤을 위해 내일 변동을 완전히 활용 할 수 있습니다.
트레이딩을 따르는 트렌드는 더 높은 드래운으로 이어집니다. 합리적인 스톱 로스 레벨은 거래 당 손실을 제한하도록 설정해야합니다.
범위 제한 시장에서 수익성에 불리한 빈번한 거래 신호가 생성 될 수 있습니다. 몇 가지 신호를 필터링하기 위해 매개 변수를 조정할 수 있습니다.
간단한 매개 변수는 과도한 최적화에 민감합니다. 실제 거래 성능은 이상적이지 않을 수 있습니다. 과도한 적합성을 방지하기 위해 견고성 테스트가 수행되어야합니다.
성능은 거래 도구에 달려 있습니다. 전략의 효율성을 극대화하기 위해 명확한 추세를 가진 트렌딩 주식이 선택되어야합니다.
이동 평균과 같은 다른 지표는 불확실한 신호를 필터하고 잘못된 거래를 피하기 위해 추가 될 수 있습니다.
SAR 매개 변수는 보다 유연한 스톱 로스를 위해 시장 변동성에 따라 동적으로 조정할 수 있습니다.
보다 체계적인 최적화와 조합 테스트는 성능을 향상시키기 위해 더 나은 매개 변수 집합을 찾을 수 있습니다.
포지션 크기와 레버리지는 지수 트렌드 같은 시장 조건에 따라 리스크를 제어하기 위해 동적으로 조정할 수 있습니다.
이 전략은 이치모쿠 클라우드 (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)