Многопоказательная стратегия обращения столкновения

Автор:Чао Чжан, Дата: 2024-01-04 18:02:12
Тэги:

img

Обзор

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

Принцип

Стратегия состоит из двух частей. Первая часть представляет собой систему 123 реверсии, которая наблюдает за изменением цен закрытия за последние два дня, а также за значением 3-периодического медленного стохастического индикатора. В частности, когда закрытие вчера ниже, чем за предыдущие 2 дня, а закрытие сегодня выше, чем вчера, и медленный стохастический показатель 9-периодического периода ниже 50, вы идете в длинный курс; наоборот, когда закрытие сегодня ниже, чем вчера, а быстрый стохастический показатель выше 50, вы идете в короткий.

Второй индикатор отслеживает количество последовательных дней вверх в последнее время в течение n дней. Если последние n дней все растут, он выводит 1, в противном случае 0. Этот индикатор используется для определения формирования тренда.

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

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

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

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

  2. Стохастические параметры 9-дневного и 3-дневного сравнения быстрых и медленных линий могут смягчить изменения параметров и избежать краткосрочных колебаний и повысить стабильность.

  3. Настраиваемые параметры, включая запасы, количество дней роста параметры позволяют адаптироваться к различным рынкам.

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

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

В этой стратегии также есть некоторые риски:

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

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

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

  4. Удерживание долгосрочных позиций без своевременной остановки потерь или преследования реверсий акций также сопряжено с рисками.

Следовательно, для смягчения рисков могут быть приняты следующие меры:

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

  2. Установите точки остановки потери на лимит по сделке.

  3. Оптимизировать параметры и устанавливать правила параметров для различных рынков.

  4. Избегайте долгосрочного хранения отдельных акций и поддерживайте ликвидность.

Руководство по оптимизации

По-прежнему существует большой потенциал для оптимизации этой многопоказательной стратегии реверсии, главным образом из следующих аспектов:

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

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

  3. Добавьте стоп-лосс и условия получения прибыли для большей надежности.

  4. Проверьте различные временные рамки в части индикатора тренда.

  5. Оценить применимость в отношении фондовых индексов, форекс, сырьевых товаров, криптовалют.

  6. Разработать стратегии совокупного использования, которые динамически корректируют распределение на нескольких рынках одновременно.

Резюме

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


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/03/2021
// 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
// Evaluates for n number of consecutive higher closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// 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


NBU(nLength) =>
    pos = 0.0
    nCounter = 0
    nCounter :=  iff(close[1] >= open[1], nz(nCounter[1],0)+1,
                  iff(close[1] < open[1], 0, nCounter))
    C1 = iff(nCounter >= nLength, 1, 0)
    posprice = 0.0
    posprice := iff(C1== 1, close, nz(posprice[1], 0)) 
    pos := iff(posprice > 0, 1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & N Bars Up", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- N Bars Up ----")
nLength = input(4, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNBU = NBU(nLength)
pos = iff(posReversal123 == 1 and posNBU == 1 , 1,
	   iff(posReversal123 == -1 and posNBU == -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 )

Больше