Система отслеживания реверсии двойных скользящих средних включает в себя стратегию 123 реверсии и стратегию Ichimoku для выявления возможностей реверсии и отслеживания тенденций избыточной доходности.
Стратегия состоит из двух подстратегий:
Эта стратегия торгуется на основе ценовых моделей.
Пойти длинный, когда цена закрытия повышается в течение двух дней подряд, а 9-дневный медленный стохастик ниже 50.
Сократитесь, когда цена закрытия падает в течение двух дней подряд, а 9-дневный быстрый стохастический показатель превышает 50.
Он использует прорыв закрытия предыдущих дней для определения обратного движения и использует стохастику для фильтрации шума.
Эта стратегия основана на кроссовере из пяти линий Ичимоку.
Продолжайте, когда цена закрытия выше базовой.
Сократите, когда цена закрытия ниже линии конверсии.
где базовая линия - это средняя точка наивысшего максимума и наименьшего минимума за последние 26 дней, а линия конверсии - это средняя точка наивысшего максимума и наименьшего минимума за последние 9 дней.
Окончательная стратегия объединяет сигналы из двух подстратегий, входящие, когда оба сигналы длинные или короткие, и выходящие, когда они не согласны.
Сочетает в себе изменение и следование тенденции, гибкость в обнаружении изменений и тенденций.
123 схема проста и эффективна в выявлении обратных действий.
Параметры Ичимоку оптимизированы, с меньшим риском прорыва.
Сочетание двух различных стратегий может достичь оптимизации.
Стратегии реверсии склонны к ловушкам и потерям.
Ичимоку может испытывать сбои на рынках с ограниченным диапазоном, тонко настраивать параметры или добавлять фильтры, чтобы уменьшить ненужные сделки.
Несовместимые параметры при сочетании стратегий могут привести к слишком частому или редкому сигналу. Требуется тщательное тестирование и оптимизация.
Испытывать больше показателей для лучших фильтров, например, включая объем.
Оптимизируйте параметры Ичимоку, чтобы соответствовать характеристикам прибора.
Добавить механизмы остановки потерь, например, установленные выходы на основе ATR.
Добавить модуль управления деньгами для контроля рисков.
Собирать больше данных для надежного бэкстестинга, обнаруживать проблемы и итерации.
Система отслеживания обратного движения двойных скользящих средних сочетает в себе сильные стороны стратегий обратного движения и следующих за трендом посредством оптимизации и комбинации для генерации альфы. У нее есть торговые достоинства, но существуют риски, такие как випсавы и стоп-лосс. Мы должны постоянно совершенствовать логику в бэкстестах и внедрять надлежащий контроль рисков для стабильности и эффективности в реальном мире. В целом она обеспечивает хороший подход к объединению разных стратегий для лучших общих результатов.
/*backtest start: 2023-10-07 00:00:00 end: 2023-11-06 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 26/11/2020 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // Ichimoku Strategy // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos middleDonchian(Length) => lower = lowest(Length) upper = highest(Length) avg(upper, lower) Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement) => pos = 0.0 Tenkan = middleDonchian(conversionPeriods) Kijun = middleDonchian(basePeriods) xChikou = close SenkouA = middleDonchian(laggingSpan2Periods) SenkouB = (Tenkan[basePeriods] + Kijun[basePeriods]) / 2 pos := iff(close < SenkouA[displacement], -1, iff(close > SenkouB, 1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Ichimoku2c", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- conversionPeriods = input(9, minval=1), basePeriods = input(26, minval=1) laggingSpan2Periods = input(52, minval=1), displacement = input(26, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posIchimoku2c = Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement) pos = iff(posReversal123 == 1 and posIchimoku2c == 1 , 1, iff(posReversal123 == -1 and posIchimoku2c == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )