Эта стратегия использует динамические индикаторы ADX, RSI и BRI, чтобы оценить рыночные тенденции и преодолеть перепродажи, чтобы достичь низких покупок и высоких продаж, а также для получения прибыли.
На основе вышеуказанных показателей можно оценить состояние рынка и разработать торговую стратегию, которая будет выглядеть следующим образом:
Условия покупки:
Условия продажи:
Эта стратегия использует несколько показателей для оценки состояния рынка, чтобы избежать ошибочной оценки одного показателя. В то же время, с помощью определения состояния тренда, перекупа и перепродажи, можно эффективно блокировать рыночные переломные точки, чтобы достичь низкой покупки и высокой продажи.
По сравнению с использованием одного трендового индикатора, эта стратегия позволяет более своевременно улавливать краткосрочные возможности. По сравнению с использованием одного шоковой индикатора, эта стратегия позволяет лучше уловить направление тенденции. Таким образом, эта стратегия сохраняет преимущества отслеживания тенденций и обладает гибкостью для противоположных действий, является потенциально высокоэффективной количественной стратегией.
Основные риски, связанные с этой стратегией:
Соответствующие меры управления рисками:
В этой стратегии есть много возможностей для оптимизации, в частности:
Оптимизация параметров показателей. Можно ввести алгоритмы интеллектуальной оптимизации для независимой оптимизации параметров различных сортов.
Добавление инженерных характеристик. Введение большего количества технических показателей цен, создание моделей для поддержки обучения, таких как векторные машины, повышение точности сигналов.
В сочетании со стратегией прорыва. В зависимости от особенностей поведения различных сортов, применяются правила суждения, основанные на каналах, поддерживающем сопротивлении и т. Д., Чтобы ухватить точку прорыва, повысить стабильность стратегии.
Оптимизация механизма остановочных стоп-убытков. Внедрение методов отслеживания стопов, мобильных стопов и т. Д., Реализация динамической регулировки стоп-убытков, максимальное блокирование прибыли, эффективный контроль рисков.
Эта стратегия является среднесрочной и краткосрочной количественной торговой стратегией, использующей различные технические показатели, такие как ADX, RSI, Brin Belt, для оценки состояния рынка. При определении существенных изменений в структуре рынка, она может быть использована для совершения операций по покупке и продаже. Логика стратегии может быть четко интерпретирована, что значительно снижает вероятность ошибочного определения одного технического показателя.
/*backtest
start: 2023-11-10 00:00:00
end: 2023-12-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("DAX Shooter 5M Strategy", overlay=true)
//Creo ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
th = input(title="threshold", type=input.integer, defval=20)
dirmov(len) =>
up = change(high)
down = -change(low)
plusDM = na(up) ? na : up > down and up > 0 ? up : 0
minusDM = na(down) ? na : down > up and down > 0 ? down : 0
truerange = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / truerange)
minus = fixnan(100 * rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
adx
[plus, minus] = dirmov(dilen)
sig = adx(dilen, adxlen)
//Creo RSI
src = close
len = input(7, minval=1, title="Periodo RSI")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
bandainf = input(30, title="Livello Ipervenduto")
bandasup = input(70, title="Livello Ipercomprato")
//Creo Bande di Bollinger
source = close
length = input(50, minval=1, title="Periodo BB")
mult = input(2.0, minval=0.001, maxval=50, title="Dev BB")
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.white)
p1 = plot(upper, color=color.aqua)
p2 = plot(lower, color=color.aqua)
fill(p1, p2)
//Stabilisco regole di ingresso
if crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
strategy.entry("COMPRA", strategy.long, limit=upper, oca_name="DaxShooter", comment="COMPRA")
else
//strategy.exit("exit", "COMPRA", loss = 90)
strategy.cancel(id="COMPRA")
if crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
strategy.entry("VENDI", strategy.short, limit=lower, oca_name="DaxShooter",comment="VENDI")
else
//strategy.exit("exit", "VENDI", loss = 90)
strategy.cancel(id="VENDI")
//Imposto gli alert
buy= crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
sell= crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
alertcondition(buy, title='Segnale Acquisto', message='Compra DAX')
alertcondition(sell, title='Segnale Vendita', message='Vendi DAX')
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)