Эта стратегия является многофакторной комбинацией стратегий, в сочетании с использованием фактора обратного отсчета и фактора динамики, целью которой является выявление возможности для обратного отсчета на рынке. Сначала стратегия использует долгосрочный отрицательный фактор обратного отсчета, чтобы идентифицировать возможности для обратного отсчета после полного падения, а затем использует индикатор динамики для вторичной фильтрации, чтобы отфильтровать ложные сигналы обратного отсчета при больших тенденциях, что позволяет блокировать короткие возможности для обратного отсчета.
Стратегия состоит из двух частей:
Эта часть использует мысль о реверсии в течение дня, чтобы определить связь между ценой закрытия за предыдущий день и ценой закрытия за предыдущие два дня, в сочетании с идентификацией возможности реверсии медленной K-линии. Конкретная логика:
Сигнал покупки: после падения цены на закрытие в течение двух дней подряд, цена на закрытие повышается в тот же день, и в течение девяти дней медленная линия K ниже 50 дает сигнал покупки;
Сигнал продажи: после двух дней подряд роста цены на закрытие, цена на закрытие падает в тот же день, и девять дней быстрая линия K выше 50, создает сигнал продажи.
В этой части используется метод сглаживания ценовой динамики трех ЭМА для построения динамического показателя. Формула показателя такова:
xPrice1 = close - close[1]
xPrice2 = abs(close - close[1])
xSMA_R = EMA(EMA(EMA(xPrice1,r), s), u)
xSMA_aR = EMA(EMA(EMA(xPrice2, r), s), u)
xTSI = xSMA_R / xSMA_aR * 100
xEMA_TSI = EMA(xTSI, N)
Из них xSMA_R - EMA-углаживание ценовой динамики, xSMA_aR - EMA-углаживание величины ценовых колебаний, xTSI - динамический показатель, составленный из их соотношения, xEMA_TSI - EMA-углаживание xTSI. Этот показатель определяет отношение xTSI и xEMA_TSI в качестве торгового сигнала.
В конце концов, стратегия проводит AND-операцию с двумя частями сигнала, и фактические торговые указания производятся только в том случае, если два компонента сигнализируют одновременно.
Основные преимущества этой стратегии заключаются в многофакторной конструкции, которая позволяет отфильтровывать ложные сигналы и обнаруживать высококачественные торговые возможности. В частности, есть три основных момента:
123 обратный фактор может идентифицировать краткосрочные точки отскока после свертывания падения.
Показатель динамики Эргдика может эффективно определять направление большого тренда, избегая обратного сигнала при большом тренде и, таким образом, фильтруя ложные сигналы.
В обоих сегментах сигналов используется AND-операция, которая позволяет повысить качество сигнала и повысить стабильность стратегии.
Несмотря на то, что стратегия использует многофакторный дизайн для управления рисками, основные риски, которые могут возникнуть, следующие:
Сигналы об обратном направлении могут возникать во время колебаний и не приносят прибыли.
Параметры между этими двумя факторами являются субъективными и могут быть слишком подходящими для конкретной породы.
После переворота цены могут вновь измениться, что может привести к увеличению риска потерь.
Эти риски могут быть смягчены путем оптимизации параметров для адаптации к большему количеству сортов, контроля за временем хранения после обращения вспять, мониторинга изменений в отношениях показателей в режиме реального времени.
Эта стратегия может быть оптимизирована в следующих аспектах:
Приспособить параметры двух факторов, чтобы найти более подходящий образец данных.
Добавление стратегий по сдерживанию убытков и борьба с единичными потерями.
Различные комбинации параметров используются для трендовых и шокирующих сортов.
Увеличение механизма перевеса факторов, чтобы лучшие факторы имели больший вес.
Добавление алгоритмов машинного обучения для автоматической оптимизации и обновления параметров.
Эта стратегия успешно объединяет обратные факторы и динамические показатели для достижения многофакторного оптимизированного дизайна. Она позволяет эффективно идентифицировать краткосрочные возможности для обратного обращения и использовать динамические показатели для повторной проверки сигналов, что повышает вероятность успешности стратегии. Хотя в стратегии все еще есть определенное место для улучшения, ее основные идеи предоставляют хорошие справочники для разработки количественных стратегий.
/*backtest
start: 2023-10-21 00:00:00
end: 2023-11-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 30/07/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
// r - Length of first EMA smoothing of 1 day momentum 4
// s - Length of second EMA smoothing of 1 day smoothing 8
// u- Length of third EMA smoothing of 1 day momentum 6
// Length of EMA signal line 3
// Source of Ergotic TSI Close
//
// This is one of the techniques described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). If you like to learn more, we advise you to
// read this book. His book focuses on three key aspects of trading: momentum,
// direction and divergence. Blau, who was an electrical engineer before becoming
// a trader, thoroughly examines the relationship between price and momentum in
// step-by-step examples. From this grounding, he then looks at the deficiencies
// in other oscillators and introduces some innovative techniques, including a
// fresh twist on Stochastics. On directional issues, he analyzes the intricacies
// of ADX and offers a unique approach to help define trending and non-trending periods.
//
// 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
ETSI(r,s,u,SmthLen) =>
pos = 0
xPrice = close
xPrice1 = xPrice - xPrice[1]
xPrice2 = abs(xPrice - xPrice[1])
xSMA_R = ema(ema(ema(xPrice1,r), s),u)
xSMA_aR = ema(ema(ema(xPrice2, r), s),u)
Val1 = 100 * xSMA_R
Val2 = xSMA_aR
xTSI = iff (Val2 != 0, Val1 / Val2, 0)
xEMA_TSI = ema(xTSI, SmthLen)
pos:= iff(xTSI > xEMA_TSI, 1,
iff(xTSI < xEMA_TSI, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Ergodic TSI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(4, minval=1)
s = input(8, minval=1)
u = input(6, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posETSI = ETSI(r,s,u,SmthLen)
pos = iff(posReversal123 == 1 and posETSI == 1 , 1,
iff(posReversal123 == -1 and posETSI == -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 )