
Cette stratégie est nommée la stratégie de rupture basée sur la chaîne de prix. L’idée principale est d’utiliser la chaîne de prix pour juger de la tendance et de la direction du marché et de créer une position lorsque le prix franchit la chaîne.
La stratégie utilise les fonctions highest (..) et lowest (..) pour calculer les prix les plus élevés et les plus bas des périodes précédentes, afin de déterminer l’orbite ascendante et descendante de la chaîne de prix. La ligne médiane de la chaîne est définie comme la moyenne de l’orbite ascendante et descendante. Ensuite, la taille des entités de la ligne K est calculée et, par l’utilisation de l’alignement SMA, il est déterminé si l’entité de la dernière ligne K est plus grande que la moitié de l’entité moyenne.
Il s’agit d’une stratégie de rupture qui utilise les canaux de prix pour déterminer les tendances.
L’utilisation de canaux de prix pour déterminer la direction de la tendance globale peut filtrer efficacement le bruit du marché.
Deux lignes K consécutives dans le même sens indiquent une plus grande dynamique et un taux de réussite plus élevé.
Le fait de juger que les entités de la ligne K sont supérieures à la moitié de la moyenne permet d’éviter d’être trompé par une fausse percée.
La logique de la stratégie est simple, facile à comprendre et à mettre en œuvre.
Paramètres personnalisables tels que le cycle de la passerelle, le type de transaction, le temps de transaction, etc.
Cette stratégie comporte aussi des risques potentiels:
La probabilité d’un échec de la percée est toujours présente, ce qui pourrait entraîner des pertes.
Les jugements de passage peuvent être invalidés en cas de forte volatilité.
L’absence de mécanismes de prévention des pertes et le manque de contrôle efficace des pertes.
Les règles de négociation sont simples et il y a un risque de surconformité.
L’incapacité à s’adapter à un environnement de marché plus complexe
La solution est la suivante:
Optimiser les paramètres pour améliorer le taux de réussite des percées.
Le taux d’inflation est le plus bas de la zone euro, et il est le plus bas de la zone euro.
Ajout de paramètres mobiles pour arrêter les pertes.
Un test de complexité est effectué pour vérifier la conformité.
L’augmentation des algorithmes d’apprentissage automatique et l’adaptation des stratégies
La stratégie a été optimisée pour:
Augmentation des mécanismes de stop loss pour une meilleure maîtrise des risques. Il est possible de mettre en place des stop loss rétrogrades ou des stop loss mobiles à l’aide d’indicateurs tels que l’ATR.
Les paramètres d’optimisation, tels que le cycle de passage, le paramètre de largeur de percée, etc. Les algorithmes génétiques, la recherche de grille et d’autres méthodes peuvent être utilisés pour trouver les paramètres optimaux.
Augmentation des conditions de filtrage pour améliorer la certitude de la rupture. Par exemple, la rupture peut être confirmée par le volume de transactions.
L’ajout de modèles d’apprentissage automatique permet d’utiliser plus de données pour améliorer la prévisibilité et l’adaptabilité des stratégies. L’apprentissage en profondeur, tel que le LSTM, peut capturer des modèles de situation plus complexes.
Optimiser les combinaisons, regrouper les différents types de stratégies de percée, réaliser une orthopédie et réduire les similitudes.
Cette stratégie est une stratégie quantitative basée sur les tendances de jugement des canaux de prix et la détection des signaux de rupture. Elle a des avantages de jugement des tendances et de confirmation des ruptures, mais il existe également un certain risque de fausse rupture. Nous pouvons améliorer la stratégie et réduire les risques en utilisant des méthodes telles que l’optimisation des paramètres, les paramètres de stop-loss et l’ajout de filtres conditionnels.
/*backtest
start: 2023-12-16 00:00:00
end: 2024-01-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Price Channel Strategy v1.0", shorttitle = "Price Channel str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
pch = input(30, defval = 30, minval = 2, maxval = 200, title = "Price Channel")
showcl = input(true, defval = true, title = "Show center-line")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
src = close
//Price channel
lasthigh = highest(src, pch)
lastlow = lowest(src, pch)
center = (lasthigh + lastlow) / 2
col = showcl ? blue : na
plot(center, color = col, linewidth = 2)
//Bars
bar = close > open ? 1 : close < open ? -1 : 0
rbars = sma(bar, 2) == -1
gbars = sma(bar, 2) == 1
//Signals
body = abs(close - open)
abody = sma(body, 10)
up = rbars and close > center and body > abody / 2
dn = gbars and close < center and body > abody / 2
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2
//Trading
if up
if strategy.position_size < 0
strategy.close_all()
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
if dn
if strategy.position_size > 0
strategy.close_all()
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
if exit
strategy.close_all()