Stratégie boursière d'oscillateur à moyenne mobile doublement lissée


Date de création: 2024-02-05 10:47:38 Dernière modification: 2024-02-05 10:47:38
Copier: 1 Nombre de clics: 567
1
Suivre
1617
Abonnés

Stratégie boursière d’oscillateur à moyenne mobile doublement lissée

Aperçu

Cette stratégie utilise l’indicateur de l’oscillateur de l’équilibre de la doublure pour déterminer les points de vente et d’achat d’une action. L’indice de l’oscillateur de l’équilibre de la doublure est constitué de deux moyennes mobiles binaires de deux paramètres différents. Il mesure le phénomène de survente en calculant la dynamique des variations de prix.

Principe de stratégie

L’indicateur central de cette stratégie est l’indicateur de l’oscillateur de la ligne moyenne lisse double (TSI). L’indicateur est calculé de la manière suivante:

  1. Calculer la variation du prix pc=close-preclose

  2. Pour le traitement du PC, on prend une moyenne de 12 jours pour les périodes longues et de 9 jours pour les périodes courtes. On obtient une moyenne de 12 jours pour les périodes longues et 9 jours pour les périodes courtes.

  3. On obtient double_smoothed_abs_pc en appliquant le même procédé à la valeur absolue

  4. L’indice final du TSI est égal à 100.*(double_smoothed_pc/double_smoothed_abs_pc)

En calculant la relation entre la valeur du TSI et le signal de la ligne ts_signal, on peut déterminer la zone de survente et de surachat dans laquelle on se trouve et ainsi décider d’acheter ou de vendre.

Signaux d’achat: les valeurs du TSI traversent leur ligne de signal, indiquant que le cours de l’action est inversé, entrant dans la zone de survente, et peuvent être achetées.

Signaux de vente: les valeurs de la TSI sont passées sous leur ligne de signal, indiquant que le cours de l’action a été inversé et que la zone de survente est terminée et doit être vendue.

Analyse des avantages

Le plus grand avantage de cette stratégie réside dans l’utilisation d’indicateurs de doubles moyennes glissantes pour identifier les caractéristiques cycliques des cours. L’utilisation simultanée de deux cycles longs et courts dans les indices de doubles moyennes glissantes permet de capturer les tendances des changements de prix avec plus de sensibilité et de précision.

En outre, cette stratégie utilise l’indice TSI plutôt que d’autres indicateurs techniques courants, car l’indice TSI est plus attentif aux informations dynamiques sur les variations de prix. Cela permet de juger plus précisément les phénomènes de survente et de survente, ce qui permet de choisir de meilleurs nœuds de vente et de vente.

Analyse des risques

Le plus grand risque de cette stratégie réside dans le fait que la moyenne bilatérale est elle-même très sensible aux variations de prix, et qu’elle est susceptible de générer des signaux erronés en cas de fluctuation des cours. De plus, les critères de l’indice TSI pour juger des zones de survente sont encore relativement subjectifs, et un paramètre incorrect peut affecter l’exactitude de ces jugements.

Pour contrôler ces risques, il est recommandé d’optimiser les paramètres et d’ajuster la longueur de la moyenne courte et longue. En combinaison avec d’autres indicateurs, il est également nécessaire de vérifier les signaux et d’éviter d’ouvrir des positions dans des conditions de choc.

Direction d’optimisation

L’optimisation de cette stratégie se concentre principalement sur deux aspects:

  1. Optimisation des paramètres. La combinaison optimale des paramètres de la longueur moyenne et de la ligne de signal peut être testée avec plus de retours, ce qui améliore la sensibilité de l’indicateur.

  2. Configurer des indicateurs de filtrage. Par exemple, en combinaison avec d’autres indicateurs tels que les bandes de Brin, le KDJ pour vérifier les signaux d’achat et de vente, éviter les erreurs de prise de position. Ou mettre en place un filtre de volume de transaction, ouvrir une position uniquement si le volume de transaction est élevé.

  3. Augmentation de la stratégie de stop loss. Mise en place de stop loss mobile et temporel pour contrôler les pertes individuelles. Parallèlement, il est possible de suspendre les transactions en fonction de la situation du marché, afin de contrôler le risque systémique.

  4. Optimisation de la gestion des positions. La mise en place d’une taille et d’un ratio de position dynamiquement ajustés permet de contrôler l’exposé au risque de chaque transaction en fonction des conditions du marché.

Résumer

Cette stratégie utilise la méthode de calcul de l’indice de l’oscillateur de la ligne de la doublure de l’équilibre, tout en fusionnant deux cycles d’analyse de la dynamique des prix, afin de juger de la zone de survente et de décider du moment de l’achat et de la vente. Comparé à une seule ligne de l’équilibre, il a l’avantage d’un jugement plus précis et plus précis. Bien sûr, il est toujours nécessaire d’optimiser les paramètres de manière appropriée, en plus d’autres indicateurs pour filtrer les signaux, ce qui améliore la stabilité et la rentabilité de la stratégie.

Code source de la stratégie
/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-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/
// © shankardey7310

//@version=5
strategy("TSI STOCKS", shorttitle="TSI", overlay=true)

initialCapital = input(10000, title="Initial Capital")
riskPercent = input(1, title="Risk Percentage") / 100

longLength = input(12, title="Long Length")
shortLength = input(9, title="Short Length")
signalLength = input(12, title="Signal Length")

price = close
pc = ta.change(price)

double_smooth(src, long, short) =>
    first_smooth = ta.ema(src, long)
    ta.ema(first_smooth, short)

double_smoothed_pc = double_smooth(pc, longLength, shortLength)
double_smoothed_abs_pc = double_smooth(math.abs(pc), longLength, shortLength)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi_signal = ta.ema(tsi_value, signalLength)

riskAmount = (initialCapital * riskPercent) / close

if (tsi_value > tsi_signal and tsi_value[1] <= tsi_signal[1])
    strategy.entry("Long", strategy.long)

if (tsi_value < tsi_signal and tsi_value[1] >= tsi_signal[1])
    strategy.close("Long")

plot(tsi_value, title="True Strength Index", color=#2962FF)
plot(tsi_signal, title="Signal", color=#E91E63)
hline(0, title="Zero", color=#787B86)