
La stratégie est une stratégie de trading d’actions auto-adaptative basée sur des indicateurs de dynamisme. Elle intègre les bandes de Bryn, les canaux Keltner et les indicateurs de compression des prix, permettant de juger des tendances, d’identifier les points de rupture et de négocier automatiquement les sorties de stop-loss.
La stratégie consiste principalement à construire des canaux de prix via les bandes de Bryn et les canaux Keltner, en identifiant les ruptures de canaux qui forment un signal de transaction. Lorsque le prix franchit le canal de bas en haut, des opérations de hausse sont effectuées; lorsque le prix franchit le canal de haut en bas, des opérations de baisse sont effectuées.
En particulier, les bandes de Brin augmentent et diminuent la différence standard en calculant le prix; les canaux Keltner augmentent et diminuent la différence en calculant la moyenne des prix plus la plage de fluctuation moyenne. Lorsque les deux canaux sont fdopen, la tendance est considérée comme entrant dans la correction et attend la prochaine rupture. L’indicateur de compression des prix reflète si le prix est comprimé dans les deux canaux.
Dans l’ensemble, la stratégie combine plusieurs indicateurs pour déterminer les mouvements de prix, formant une logique claire de long et de court qui permet de filtrer efficacement les fausses percées et d’identifier les opportunités de transactions à forte probabilité.
L’intégration d’indicateurs multiples, le jugement est fort. La combinaison d’indicateurs est complémentaire et peut améliorer l’exactitude de l’identification.
Détermination de l’écart d’indicateur de compression pour réduire les fausses percées. L’écart d’indicateur comme condition auxiliaire pour éviter les transactions inutiles.
Adaptation automatique des arrêts de canal, contrôle efficace des risques. Le canal en tant que position d’arrêt peut être automatiquement ajusté en fonction des fluctuations du marché, réduisant les pertes.
La configuration des paramètres est simple et adaptée à l’automatisation. Il n’y a que quelques paramètres principaux, ce qui facilite le test et l’optimisation, et l’intégration dans le système de trading automatique.
La fréquence des conversions multiples augmente le nombre d’opérations. La fréquence des ouvertures de positions peut entraîner des positions plus ouvertes en cas de choc.
Un paramètre d’indicateur inapproprié peut manquer une occasion de bien s’entraîner. Il faut tester et optimiser suffisamment pour trouver le paramètre optimal.
Il convient uniquement aux actions dont la direction est claire et ne convient pas aux marchés extrêmement volatiles. Les indicateurs sont faciles à tromper et à produire de faux signaux.
Ajout de modules de contrôle de position, optimisation de l’efficacité de l’utilisation des fonds. Par exemple, répartition des fonds en fonction de la force de rupture, etc.
Ajout de modèles d’apprentissage automatique pour ajuster dynamiquement les paramètres de l’indicateur. Les paramètres de l’indicateur peuvent être automatiquement adaptés à différentes périodes et à différentes actions.
Amélioration de la stratégie de stop loss, introduction de plus d’indicateurs auxiliaires pour déterminer le moment de stop loss. Les améliorations permettent de réduire le nombre de stop loss aux points critiques.
La stratégie intègre les bandes de Bryn, les canaux Keltner et les indicateurs de compression des prix pour former une logique de jugement claire et un système de contrôle des risques. Elle intègre le jugement des tendances et les opérations de rupture, qui peuvent s’adapter automatiquement à la situation et identifier des opportunités de transactions à forte probabilité.
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © juliopetronilo
//@version=4
strategy("DMI/ADX/Squeeze Robot", shorttitle="DMI/ADX/SQZ", overlay=true)
// Squeeze Momentum Indicator
length = input(20, title="BB Length")
mult = input(2.0, title="BB MultFactor")
lengthKC = input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")
useTrueRange = input(true, title="Use TrueRange (KC)")
source = close
basis = sma(source, length)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev
ma = sma(source, lengthKC)
rangeKC = useTrueRange ? tr : (high - low)
rangema = sma(rangeKC, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz = not (sqzOn or sqzOff)
val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)), sma(close, lengthKC)), lengthKC, 0)
// DMI/ADX Plot
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
keyLevel = input(23, title="Key Level for ADX")
dirmov(len) =>
up = change(high)
down = -change(low)
truerange = rma(tr, len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx_val = abs(plus - minus) / (sum == 0 ? 1 : sum) * 100
[adx_val, plus, minus]
[sig, up, down] = adx(dilen, adxlen)
// Estrategia de Trading
strategy.entry("Buy", strategy.long, when=sqzOn and crossover(up, down) and crossover(val, 0))
strategy.entry("Sell", strategy.short, when=sqzOn and crossunder(up, down) and crossunder(val, 0))
strategy.close("Buy", when=sqzOff)
strategy.close("Sell", when=sqzOff)
// Plot de los indicadores
plot(val, color=color.blue, style=plot.style_histogram, linewidth=4)
plot(0, color=noSqz ? color.blue : sqzOn ? color.black : color.rgb(236, 238, 247), style=plot.style_cross, linewidth=2)
plot(up, color=color.blue, title="+DI")
plot(down, color=color.gray, title="-DI")
plot(keyLevel, color=color.white, title="Key Level")