Je vais essayer d'obtenir un double-smoothed abs.
En comparant la valeur de la STI avec sa ligne de signal tsi_signal, nous pouvons déterminer les zones de surachat ou de survente, et ainsi décider des points d'achat et de vente.
Signaux d'achat: TSI traverse son signal vers le haut, indiquant l'inversion du prix de l'action, marquant le début de la zone de surachat où nous devrions long.
Signaux de vente: TSI traverse en dessous de son signal à la baisse, indiquant l'inversion du prix de l'action, marquant la fin de la zone de surachat où nous devrions vendre.
Le plus grand avantage de cette stratégie réside dans l'utilisation de l'indicateur de moyenne mobile double pour identifier les caractéristiques cycliques des cours des actions. En utilisant simultanément des périodes longues et courtes dans la moyenne mobile double, il peut capturer les tendances de variation des prix de manière plus sensible et précise qu'une moyenne mobile unique, et est plus efficace pour déterminer les signaux de trading.
En outre, cette stratégie choisit l'indice de la STI plutôt que d'autres indicateurs techniques communs, car la STI accorde plus d'attention au calcul de la dynamique des variations de prix, ce qui permet de juger plus précisément des conditions de surachat/survente, ce qui se traduit par de meilleurs points de négociation.
Le plus grand risque de cette stratégie est que la moyenne mobile double elle-même est assez sensible aux variations de prix. En cas de fluctuation des prix, elle peut facilement générer de faux signaux. De plus, les critères de la STI pour juger des zones de surachat/survente sont toujours subjectifs et des paramètres incorrects affectent également la précision.
Pour contrôler de tels risques, il est conseillé d'optimiser les paramètres de manière appropriée en ajustant les longueurs des moyennes mobiles doubles. Il est également nécessaire de combiner d'autres indicateurs pour vérifier les signaux afin d'éviter d'ouvrir des positions en pleine volatilité.
Les orientations d'optimisation de cette stratégie portent principalement sur deux aspects:
Optimisation des paramètres: la combinaison optimale de paramètres tels que la longueur de la moyenne mobile longue et courte et la ligne de signal peut être testée pour améliorer la sensibilité.
Configurez des indicateurs de filtrage. tels que la combinaison des bandes de Bollinger, KDJ, etc. pour vérifier les signaux d'achat/vente et prévenir une ouverture erronée des positions. le filtre de volume de trading peut également être appliqué aux positions ouvertes uniquement lorsque le volume augmente.
Ajoutez une stratégie de stop-loss. Configurez un stop-loss mobile, une sortie chronométrée pour limiter la perte d'une seule position. Nous pouvons également suspendre temporairement le trading en fonction des conditions du marché pour contrôler le risque systématique.
Optimiser la taille des positions. Mettre en place une taille et une proportion dynamiques des positions en fonction des conditions du marché pour gérer l'exposition au risque de chaque transaction.
Cette stratégie utilise la méthode de calcul de l'indice de l'oscillateur de moyenne mobile double, intégrant à la fois l'analyse à long et à court terme des changements de dynamique des prix, déterminant ainsi les zones de surachat et de survente pour décider des entrées et sorties. Par rapport à une moyenne mobile unique, elle présente l'avantage d'un jugement plus précis et sensible. Bien sûr, une optimisation correcte des paramètres est toujours nécessaire, associée à d'autres indicateurs de filtrage des signaux, afin d'améliorer la stabilité et la rentabilité. Dans l'ensemble, cette stratégie fournit un outil technique efficace pour déterminer les points de trading, ce qui vaut la peine d'être testé et optimisé en direct.
/*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)