Эта стратегия представляет собой двойную стратегию торговли с обратным отслеживанием колебаний, которая использует стратегию обратного отслеживания случайных индикаторов и определенный показатель волатильности Йекен для получения более надежного торгового сигнала. Эта стратегия предназначена для получения прибыли в точке обратного отслеживания тенденции и применяется для торговли средней и длинной линией.
Стратегия состоит из двух частей:
В этой части используются случайные индикаторы, чтобы генерировать торговые сигналы. При закрытии цены в течение двух дней подряд ниже, чем в день закрытия, и при открытии цены в течение двух дней подряд выше, чем в день закрытия, и при открытии цены в течение двух дней подряд выше, чем в день закрытия, и при закрытии цены в течение двух дней подряд выше, чем в день закрытия, и при закрытии цены в течение двух дней подряд выше, чем в день закрытия, и при закрытии цены в течение двух дней подряд выше, чем в день закрытия, и при закрытии цены в течение двух дней подряд выше, чем в день закрытия.
Этот показатель рассчитывает изменение разницы между максимальной и минимальной ценой за определенный период времени. Когда разница увеличивается, это означает, что волатильность повышается, и можно сделать пробел; когда разница уменьшается, это означает, что волатильность снижается, и можно сделать больше.
Окончательный торговый сигнал - это комбинация двух сигналов. Принимается тот сигнал, который совпадает с сигналом случайного индикатора и сигналом волатильности; если два сигнала не совпадают, то торговля не проводится.
Эта стратегия имеет следующие преимущества:
Комбинированное использование двух различных типов показателей позволяет повысить точность сигнала.
Применение механизма двойного подтверждения позволяет уменьшить количество ложных сигналов и контролировать риск.
В качестве основного направления торговли, можно получить прибыль в точке перехода тренда.
Настройка параметров гибкая и может быть скорректирована для различных сортов и периодов.
Параметры индикатора могут быть отрегулированы, чтобы достичь оптимального состояния.
Также существуют следующие риски:
В обратном сигнале может возникнуть ошибочное восприятие, что приводит к потере. Параметры могут быть соответствующим образом изменены, чтобы уменьшить вероятность ошибочного восприятия.
При резком расширении волатильности существует риск потери в направлении дискортирования. Для контроля риска можно установить стоп-лосс.
При резких колебаниях ситуации двойной портфель может потерпеть неудачу. В этот момент можно рассмотреть возможность приостановки торговли, ожидая, пока показатель не стабилизируется.
Необходимо одновременно контролировать два показателя, что увеличивает объем работы трейдеров. Можно составить автоматическую торговую программу, чтобы снизить объем работы.
Эта стратегия может быть оптимизирована в следующих аспектах:
Проверьте больше комбинаций параметров, чтобы найти оптимальные.
Добавление других подтверждающих показателей, таких как показатели количества и цены, образует множественное подтверждение.
Включение механизмов остановки убытков, таких как остановка в движении, остановка в интервале и т. д., для дальнейшего контроля риска.
Оптимизация стратегий управления капиталом, таких как фиксированная доля, Kelly и т.д., повышение эффективности прибыли.
Параметры для разных сортов и циклов могут быть настроены по-разному, что позволяет тестировать больше сортов и циклов.
Стратегия использует двойные показатели для формирования торговых сигналов, чтобы захватить рынок, который переворачивается в основном торговом направлении. Имеет преимущества, такие как высокая точность сигналов, хороший контроль риска, и есть определенное место для улучшения.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 29/07/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
// Chaikin's Volatility indicator compares the spread between a security's
// high and low prices. It quantifies volatility as a widening of the range
// between the high and the low price.
// You can use in the xPrice1 and xPrice2 any series: Open, High, Low, Close, HL2,
// HLC3, OHLC4 and ect...
//
// 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
ChaikinVolatility(Length, ROCLength, Trigger) =>
pos = 0
xPrice1 = high
xPrice2 = low
xPrice = xPrice1 - xPrice2
xROC_EMA = roc(ema(xPrice, Length), ROCLength)
pos := iff(xROC_EMA < Trigger, 1,
iff(xROC_EMA > Trigger, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Chaikin Volatility", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCV = input(10, minval=1)
ROCLength = input(12, minval=1)
Trigger = input(0, minval=0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posChaikinVolatility = ChaikinVolatility(LengthCV, ROCLength, Trigger)
pos = iff(posReversal123 == 1 and posChaikinVolatility == 1 , 1,
iff(posReversal123 == -1 and posChaikinVolatility == -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 )