Cette stratégie utilise la stratégie de rétrogradation de 123 pour déterminer la relation entre les prix des deux derniers jours de négociation, combinée à l’indicateur de Stoch pour déterminer les signaux de rétrogradation. La stratégie de rétrogradation de 123 utilise l’analyse de la régression linéaire pour déterminer la relation entre les prix et les lignes de tendance, générant des transactions.
La stratégie est basée sur les principes suivants:
Si la relation entre les prix de clôture des deux derniers jours de négociation est que le prix de clôture d’aujourd’hui est supérieur à celui d’hier, et que la ligne rapide de Stoch est inférieure à la ligne lente, on considère qu’il existe un signal de revers de bullish
Si la relation entre le prix de clôture des deux derniers jours de négociation est que le prix de clôture d’aujourd’hui est inférieur à celui d’hier, et que la ligne rapide de Stoch est supérieure à la ligne lente, on considère qu’il y a un signal de revers à la baisse
Les règles de jugement sont les suivantes:
Si le prix de clôture d’aujourd’hui est supérieur au prix de clôture d’hier et que la ligne rapide de Stoch est , un signal d’achat est généré
Si le prix de clôture d’aujourd’hui est inférieur au prix de clôture d’hier et que la ligne rapide de Stoch est supérieure à la ligne lente de Stoch et que la ligne rapide de Stoch est inférieure à la ligne rapide de Stoch, un signal de vente est généré.
La stratégie nécessite de définir des paramètres d’indicateur de Stoch, notamment: calculer la longueur de la période K de Stoch, la longueur de la période de lissage de la ligne rapide de Stoch, la longueur de la période de lissage de la ligne lente de Stoch, la longueur de la période de lissage de la ligne lente de Stoch, le niveau de la ligne rapide de Stoch.
La stratégie est basée sur l’analyse de la régression linéaire pour juger de la relation entre le prix et la ligne de tendance de la régression linéaire. Ses règles de jugement sont les suivantes:
Si le prix de clôture est supérieur à l’intervalle de régression linéaire, un signal d’achat est généré
Si le prix de clôture est inférieur à l’intervalle de régression linéaire, un signal de vente est généré
Cette stratégie nécessite la définition d’un cycle de régression linéaire LengthLRI, ainsi que d’une source de données de régression linéaire xSeria.
Cette stratégie combinée nécessite de satisfaire à la fois à la stratégie de 123 inversion et à la stratégie de coupe de distance de régression linéaire pour générer des ordres de négociation réels, ce qui élimine efficacement les faux signaux et améliore l’efficacité des transactions.
Cette stratégie présente les avantages suivants:
La combinaison de deux types de stratégies différentes, qui doivent produire des signaux simultanément, permet de commander. Ce mécanisme d’authentification multifactorielle permet de filtrer les signaux erronés occasionnellement générés par une stratégie, de réduire les transactions inutiles et d’améliorer efficacement la qualité du signal.
L’interruption de régression linéaire permet de refléter en temps réel la relation entre le prix et la ligne de tendance, et si le prix s’est fortement écarté de la tendance, de suggérer à la stratégie de modifier la direction de la position. Cela permet de stopper les pertes à temps et d’éviter d’être pris au piège dans la tendance historique.
Les stratégies de régression linéaire sont plus efficaces pour identifier les points d’achat et de vente des tendances. Les stratégies de reprise 123 sont plus efficaces pour identifier les points de reprise. Les deux stratégies peuvent être combinées avec les avantages du trading de tendance et du trading de reprise.
Les deux stratégies offrent des paramètres personnalisables qui peuvent être optimisés pour différentes variétés et tendances afin d’optimiser l’efficacité de la stratégie combinée.
La stratégie présente également les risques suivants:
Les signaux de négociation qui doivent satisfaire les deux stratégies manquent une partie de l’opportunité de tirer profit d’une seule stratégie. Si l’efficacité d’une stratégie s’affaiblit, cela entraîne une dégradation de l’efficacité de l’ensemble des transactions.
La régression linéaire nécessite un certain nombre de données historiques à calculer, ne peut pas réagir en temps réel à des événements soudains et présente un certain retard. Si le prix fait un bond important, la ligne de tendance de régression linéaire nécessite un certain temps pour s’ajuster, ce qui peut générer un mauvais signal.
Les deux stratégies nécessitent la sélection des paramètres appropriés, qui peuvent nécessiter des ajustements indépendants pour certaines variétés. Si les paramètres sont mal sélectionnés, l’effet de la stratégie sera considérablement réduit.
Le risque de contrepartie peut être réduit par:
Laissez les conditions de déclenchement du signal combiné suffisamment libres pour éviter de manquer trop d’occasions
Une régression linéaire alternative, combinée à des indicateurs de tendance, pour obtenir des jugements de tendance plus en temps réel
Optimisation des paramètres auxiliaires par des méthodes telles que l’apprentissage automatique pour améliorer l’effet de sélection des paramètres
Cette stratégie peut être optimisée de la manière suivante:
Il est possible de collecter des données historiques, de concevoir des objectifs d’optimisation des paramètres, d’utiliser des algorithmes d’apprentissage automatique pour rechercher les meilleures combinaisons de paramètres, telles que l’algorithme génétique, l’optimisation Bayesian, etc.
Il est possible de définir des règles de stop-loss en combinaison avec l’ATR, les indicateurs de tendance, etc. pour contrôler la perte maximale d’une seule transaction.
Les conditions auxiliaires d’entrée sur le marché, telles que le filtrage de la ligne uniforme, le jugement de la bande de Brin, peuvent être ajoutées sur la base des signaux de négociation, ce qui réduit la fréquence d’ajustement des positions et évite la prise de position.
L’utilisation de la technologie de traitement du langage naturel pour évaluer l’humeur des acteurs du marché et aider à la prise de décision.
L’utilisation de modèles d’apprentissage en profondeur tels que LSTM, GRU et d’autres pour la prévision des prix est une référence importante pour les décisions stratégiques.
Cette stratégie permet de filtrer efficacement les faux signaux, tout en capturant les retournements et les opportunités de trading de tendance. Cependant, la stratégie présente également un certain risque de retard. Il est nécessaire de se concentrer sur l’optimisation des paramètres et d’étendre le mécanisme de contrôle des vents pour améliorer encore la stabilité de la stratégie.
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-19 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 25/01/2021
// 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
// Linear Regression Intercept is one of the indicators calculated by using the
// Linear Regression technique. Linear regression indicates the value of the Y
// (generally the price) when the value of X (the time series) is 0. Linear
// Regression Intercept is used along with the Linear Regression Slope to create
// the Linear Regression Line. The Linear Regression Intercept along with the Slope
// creates the Regression line.
//
// 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
LRI(Length,xSeria) =>
pos = 0.0
xX = Length * (Length - 1) * 0.5
xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
xXY = 0.0
for i = 0 to Length-1
xXY := xXY + (i * xSeria[i])
xSlope = (Length * xXY - xX * sum(xSeria, Length)) / xDivisor
xLRI = (sum(xSeria, Length) - xSlope * xX) / Length
pos:= iff(close > xLRI, 1,
iff(close < xLRI, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Line Regression Intercept", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Line Regression Intercept ----")
LengthLRI = input(14, minval=1)
xSeria = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLRI = LRI(LengthLRI,xSeria)
pos = iff(posReversal123 == 1 and posLRI == 1 , 1,
iff(posReversal123 == -1 and posLRI == -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 )