Эта стратегия реализует внутридневную торговлю акциями с использованием линий Ichimoku Cloud. Она относится к краткосрочным торговым стратегиям. Она использует линию конверсии, базовую линию и ведущие линии Ichimoku Cloud для генерации торговых сигналов и использует Parabolic SAR для отслеживания стоп-лосса, достигая двойной защиты.
Облако Ичимоку состоит из линии преобразования, базовой линии, ведущей линии 1 и ведущей линии 2. Линия преобразования - это среднее значение цены закрытия и самых высоких и самых низких цен за последние 9 дней, отражающее недавнее равновесное состояние цены акций. Базовая линия - это среднее значение цены самых высоких и самых низких цен за последние 26 дней, представляющее средне- и долгосрочное равновесие. Линейная линия 1 - это среднее значение линии преобразования и базовой линии, отражающее будущую тенденцию. Линейная линия 2 - это среднее значение самых высоких и самых низких цен за последние 52 дня. Эти линии равновесия объединяются для формирования торговых сигналов.
Когда цена закрытия проходит через базовую линию вверх и находится выше ведущей линии 2, генерируется сигнал покупки. Когда цена закрытия проходит через базовую линию вниз и находится ниже ведущей линии 1, генерируется сигнал продажи. Parabolic SAR используется для отслеживания стоп-лосса, генерируя сигнал стоп-лосса, когда цена ниже SAR.
Эта стратегия использует сочетание линий равновесия для определения будущих ценовых тенденций и устойчивости текущей тенденции. Она относится к типичным трендовым следующим стратегиям. Она следует за трендом путем торговли, когда появляются сигналы покупки и продажи. Между тем, механизм SAR Stop Loss and Take Profit избегает увеличения потерь.
Линии равновесия содержат информацию о ценах различных периодов, отражающие изменения тенденций заранее. Использование комбинации улучшает точность по сравнению с отдельными индикаторами.
В сочетании с линией равновесия он позволяет своевременно остановить потерю после получения прибыли, избегая увеличения потерь.
Эта стратегия имеет минимальные параметры без сложных технических показателей, таких как настройка кривой, простой и практичный для реализации.
Он определяет торговые сигналы от изменений цен внутри суток, подходящих для краткосрочной торговли. Он может полностью использовать внутрисуточные колебания для получения прибыли.
Тенденция после торговли приводит к более высокому снижению.
Частые торговые сигналы могут генерироваться на рынках с ограниченным диапазоном, что неблагоприятно влияет на прибыльность.
Простые параметры подвержены чрезмерной оптимизации. Реальная производительность торговли может быть не идеальной.
Для максимальной эффективности стратегии следует выбирать акции с четкими тенденциями.
Другие показатели, такие как скользящие средние, могут быть добавлены для фильтрации неопределенных сигналов и избежания ложных сделок.
Параметры 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)