
Cette stratégie utilise les indicateurs dynamiques ADX, RSI et les bandes de Brin pour déterminer les tendances du marché et les situations de survente et de survente, pour réaliser des stratégies de trading automatiques de bas prix et de vente à bas prix et de sortie rentable.
En fonction de ces indicateurs, les stratégies de négociation sont les suivantes:
Conditions d’achat :
Conditions de vente :
Cette stratégie utilise de multiples indicateurs pour juger de l’état du marché, afin d’éviter la probabilité d’une erreur de jugement d’un seul indicateur. En même temps, par la tendance, le jugement de l’état de survente de l’achat et de la vente, il est possible de bloquer efficacement les points de retournement du marché, pour réaliser des achats bas et des ventes élevées.
La stratégie permet de saisir plus rapidement les opportunités à court terme que l’utilisation d’un seul indicateur de tendance. La stratégie permet de mieux saisir la direction de la tendance que l’utilisation d’un seul indicateur de choc. Par conséquent, la stratégie conserve les avantages du suivi de la tendance et a la flexibilité d’opérer en contre-courant, une stratégie quantitative potentiellement plus efficace.
Les principaux risques associés à cette stratégie sont les suivants:
Les mesures de gestion des risques correspondantes:
La stratégie peut être optimisée principalement dans les domaines suivants:
Optimiser les paramètres de l’indicateur. Des algorithmes d’optimisation intelligents peuvent être introduits pour optimiser indépendamment les paramètres de différentes variétés.
Augmentation de l’ingénierie des caractéristiques. Introduction de plus d’indicateurs techniques des prix, mise en place de modèles de support pour la formation de vecteurs et autres, amélioration de la précision du signal.
Combinaison des stratégies de percée. Selon les caractéristiques de la situation des différentes variétés, l’application de règles de jugement basées sur les voies, la résistance au support, etc., pour saisir les points de percée et renforcer la stabilité de la stratégie.
Optimiser le mécanisme de stop-loss. Introduire des méthodes telles que le suivi des arrêts, le stop-loss mobile, etc. pour réaliser un ajustement dynamique des arrêts et des arrêts, le verrouillage maximal des bénéfices et la gestion efficace des risques.
Cette stratégie est une stratégie de trading quantitatif à moyen et à court terme, utilisant plusieurs indicateurs techniques tels que l’ADX, le RSI et les courbes de Brent pour juger de l’état du marché. Les opérations d’achat et de vente sont effectuées lors de la détermination des changements majeurs dans la structure du marché. La logique de la stratégie est clairement interprétable, ce qui réduit considérablement la probabilité d’erreur de jugement d’un indicateur technique unique.
/*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)