Кросс-трендовый разворот в сочетании с двойной стратегией тридцати осцилляторов


Дата создания: 2024-01-19 14:41:02 Последнее изменение: 2024-01-19 14:41:02
Копировать: 0 Количество просмотров: 675
1
Подписаться
1617
Подписчики

Кросс-трендовый разворот в сочетании с двойной стратегией тридцати осцилляторов

Обзор

Эта стратегия в основном объединяет два различных типа стратегических сигналов, реализуя наложение стратегических сигналов для достижения эффекта повышения качества сигнала. Первый тип сигналов - это стратегия пересечения в обратном направлении, второй тип - стратегия тридцати осцилляторов.

Стратегия 1: Стратегия пересечения трендов

Эта стратегия происходит из книги “Как я получила три раза больше прибыли на рынке фьючерсов” на странице 183. Она относится к стратегии обратного типа. Конкретная логика заключается в следующем: когда цена закрытия на два дня подряд выше цены закрытия предыдущего дня, а на девятый день медленная линия K ниже 50, делайте больше; когда цена закрытия на два дня подряд ниже цены закрытия предыдущего дня, а на девятый день быстрая линия K выше 50.

Стратегия 2: Тридцать колебателей

Эта стратегия использует разницу между 3-дневным средним и 10-дневным средним, чтобы построить показатель. Подробнее, это 3-дневная индикаторная скользящая средняя минус 10-дневная индикаторная скользящая средняя, чтобы получить разницу в быстрой линии, а затем на этой быстрой линии 16-дневная простая скользящая средняя, чтобы получить медленную линию.

Стратегический принцип

  • Сначала рассчитывается торговый сигнал для стратегии поперечного разворота тренда posReversal123;
  • Затем вычислить тридцать торговых сигналов по стратегии осциллятора posD_Three;
  • Когда два сигнала синхронны (двойной плюс или двойной пустота), выводим комбинированный сигнал;
  • По данным Synergy Signal Pos, это означает, что данные о направлении и цене конкретных сделок будут использоваться для определения конкретных целей.
  • Нарисуйте K-линии разных цветов.

Анализ преимуществ

Комбинированные сигналы, наложенные на несколько стратегий, обладают следующими преимуществами:

  1. Фильтрация ложных сигналов, улучшение качества сигнала

Поскольку требуется, чтобы две стратегии давали одновременно однонаправленный сигнал, можно избежать влияния ложного сигнала в одной стратегии, что повышает надежность сигнала.

  1. Интеграция различных идей торговли

В сочетании с двумя концепциями: стратегии обратного пути и стратегии тренда, можно в некоторой степени уменьшить стратегические слепые точки и получить более полное представление о рынке.

  1. Гибкость

В зависимости от реальных потребностей, портфель стратегий, участвующих в комплексе, может быть адаптирован, чтобы объединить различные типы стратегий и создать более разнообразную комплексную стратегию.

Анализ рисков

  1. Предполагаемые противоречия

Основным предположением этой стратегии является то, что несколько стратегий могут проверять сигналы друг друга. Но теоретически существует также возможность того, что все стратегии одновременно посылают ошибочные сигналы.

  1. Сигналы не совпадают

Когда два стратегических сигнала не совпадают, невозможно определить, какая стратегия более надежна, и существует определенный риск принятия решений.

  1. Ошибки в параметрах

Если параметры установлены неправильно, это может привести к тому, что некоторые стратегии не будут работать должным образом, что не позволит достичь желаемого эффекта от комбинации стратегий.

Ответ:

  1. Увеличение количества стратегий, большинство голосов

  2. Настройка точки остановки, чтобы контролировать потерю отдельного сигнала

  3. Оптимизация параметров, гарантирующая правильное функционирование стратегии

Направление оптимизации

Эта стратегия также может быть оптимизирована в следующих направлениях:

  1. Добавление большего портфеля стратегий

Можно продолжать добавлять больше различных типов стратегий, формируя комбинацию стратегий для дальнейшего улучшения качества сигнала.

  1. Предварительные условия фильтрации

В зависимости от особенностей рынка, можно установить некоторые предварительные условия, такие как фильтрация большого диска, чтобы избежать открытия позиции при неблагоприятных условиях.

  1. Динамическая смена стратегического веса

В зависимости от того, как различные стратегии работали в прошлом, можно динамически корректировать их весовое участие в комбинации, чтобы более эффективные стратегии играли большую роль.

  1. Подробности параметров оптимизации

В более систематическом подходе можно тщательно тестировать и оптимизировать параметры внутри стратегий, чтобы получить оптимальные параметры.

Подвести итог

Эта стратегия относится к комплексной стратегии многостратегического типа. Она объединяет две подстратегии стратегии обратного движения и тридцати колебаний. Эффективное устранение ложных сигналов в одной стратегии и улучшение качества сигналов, благодаря синхронизации их торговых сигналов для создания торговых инструкций. По сравнению с одной стратегией, этот тип комбинации стратегий имеет преимущества, такие как более высокая надежность сигнала, более высокая допустимость ошибок и т. Д. Но также требует внимания к рискам, которые могут быть вызваны согласованными предположениями, и принимать соответствующие меры для контроля.

Исходный код стратегии
/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-18 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/12/2019
// 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
// TradeStation does not allow the user to make a Multi Data Chart with 
// a Tick Bar Chart and any other type a chart. This indicator allows the 
// user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval.
// Walter Bressert's 3-10 Oscillator is a detrending oscillator derived 
// from subtracting a 10 day moving average from a 3 day moving average. 
// The second plot is an 16 day simple moving average of the 3-10 Oscillator. 
// The 16 period moving average is the slow line and the 3/10 oscillator is 
// the fast line.
// For more information on the 3-10 Oscillator see Walter Bressert's book 
// "The Power of Oscillator/Cycle Combinations" 
//
// 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

D_Three(Length1, Length2, Length3) =>
    pos = 0.0
    xPrice =  security(syminfo.tickerid,"D", hl2)
    xfastMA = ema(xPrice, Length1)
    xslowMA = ema(xPrice, Length2)
    xMACD = xfastMA - xslowMA
    xSignal = sma(xMACD, Length3)
    pos := iff(xSignal > xMACD, -1,
    	     iff(xSignal < xMACD, 1, nz(pos[1], 0)))     
    pos

strategy(title="Combo Backtest 123 Reversal & D_Three Ten Osc", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length1 = input(3, minval=1)
Length2 = input(10, minval=1)
Length3 = input(16, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_Three = D_Three(Length1, Length2, Length3)
pos = iff(posReversal123 == 1 and posD_Three == 1 , 1,
	   iff(posReversal123 == -1 and posD_Three == -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 )