Stratégie de tendance et de momentum de transformation de Fisher avec Triple EMA

TEMA EMA Fisher Transform Zero Line SMA
Date de création: 2025-02-20 17:41:02 Dernière modification: 2025-02-20 17:41:02
Copier: 2 Nombre de clics: 415
2
Suivre
319
Abonnés

Stratégie de tendance et de momentum de transformation de Fisher avec Triple EMA Stratégie de tendance et de momentum de transformation de Fisher avec Triple EMA

Aperçu

Cette stratégie combine les indicateurs techniques TEMA et Fisher Transform pour déterminer les moments d’entrée et de sortie en identifiant les tendances et les signaux de dynamique. TEMA, en tant qu’indicateur de suivi de tendance à faible latence, est capable d’identifier efficacement la direction de la tendance du marché, tandis que Fisher Transform fournit un signal de dynamique plus clair en convertissant les variations de prix en une distribution orthogonale de Gauss.

Principe de stratégie

La logique centrale de la stratégie repose sur deux indicateurs principaux:

  1. L’indicateur TEMA utilise la méthode de calcul de la moyenne mobile à triple indice, réduisant le retard des moyennes mobiles traditionnelles par la formule “3 × EMA - 3 × EMA (((EMA) + EMA (((EMA)) “, avec une période par défaut de 21 ◦.
  2. L’indicateur de transformation de Fisher transforme les données de prix en une distribution normale, avec un paramètre par défaut de 10, en appliquant une transformation logarithmique après traitement standardisé des prix des hauts et des bas pour rendre le signal plus clair.

Les règles de trading sont les suivantes :

  • Pour les conditions multiples: prix sur la ligne TEMA et sur l’axe 0 de la transformation de Fisher
  • Conditions de vide: prix sous la ligne TEMA et sous l’axe 0 de la transformation Fisher
  • Jeux multiples: prix en traversant la ligne TEMA ou en traversant l’axe 0 en traversant la transformation Fisher
  • Billets blancs: prix sur la ligne TEMA ou sur l’axe 0 de la transformation Fisher

Avantages stratégiques

  1. Une fiabilité élevée du signal: une combinaison de tendances et d’indicateurs de dynamique permet de filtrer efficacement les faux signaux
  2. Faible latence: TEMA a une vitesse de réponse plus rapide que la moyenne mobile traditionnelle
  3. Signal clair: les propriétés de distribution normale de la transformation de Fisher rendent le signal de transaction plus clair
  4. Le contrôle des risques est parfait: des conditions de stop-loss claires sont définies
  5. Paramètres réglables: paramètres de l’indicateur peuvent être ajustés en fonction des différentes conditions du marché
  6. L’effet visuel est bon: il fournit une présentation graphique claire

Risque stratégique

  1. Risque de marché volatil : de faux signaux de cassure peuvent fréquemment se produire dans un marché latéral.
  2. Risque de retard: bien que TEMA ait réduit le retard, il y a encore un certain retard
  3. Sensibilité des paramètres : Différents réglages de paramètres peuvent entraîner de grandes différences dans les performances de la stratégie
  4. Dépendance aux conditions du marché: les stratégies sont plus performantes dans les marchés en tendance

Orientation de l’optimisation de la stratégie

  1. Introduction d’un filtre d’oscillation: des signaux de négociation dans des environnements à faible volatilité peuvent être filtrés par des indicateurs ATR
  2. Optimisation des mécanismes de sortie: inclusion d’un arrêt mobile ou d’une protection des bénéfices
  3. Augmentation du filtrage temporel: la stratégie de négociation peut être ajustée en fonction des caractéristiques du marché pour différentes périodes de temps
  4. Ajout d’une confirmation de transaction: une combinaison d’indicateurs de transaction améliore la fiabilité du signal
  5. Optimisation des paramètres dynamiques: ajustement dynamique des paramètres de l’indicateur en fonction de l’état du marché

Résumer

Il s’agit d’une stratégie de négociation complète combinant l’analyse des tendances et de la dynamique, utilisée en combinaison avec TEMA et Fisher Transform, qui garantit à la fois la capacité de suivre les tendances et fournit un signal de confirmation de la dynamique claire. La stratégie est conçue de manière rationnelle et a une bonne praticité, mais dans l’application réelle, il est nécessaire de prêter attention à l’adaptation à l’environnement du marché et d’optimiser les paramètres en fonction des circonstances.

Code source de la stratégie
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-19 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Triple EMA (TEMA) + Fisher Transform Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ==== Triple EMA (TEMA) Settings ====
temaLength = input.int(21, title="TEMA Length", minval=1)

// Implementácia Triple EMA (TEMA)
// TEMA = 3 * EMA(close, length) - 3 * EMA(EMA(close, length), length) + EMA(EMA(EMA(close, length), length), length)
ema1 = ta.ema(close, temaLength)
ema2 = ta.ema(ema1, temaLength)
ema3 = ta.ema(ema2, temaLength)
tema = 3 * ema1 - 3 * ema2 + ema3
plot(tema, color=color.blue, title="TEMA")

// ==== Fisher Transform Settings ====
fisherLength = input.int(10, title="Fisher Length", minval=1)
fisherSmooth = input.int(1, title="Fisher Smoothing", minval=1)  // Zvyčajne sa používa 1 alebo 2

// Výpočet Fisher Transform
// Krok 1: Normalizácia ceny
price = (high + low) / 2
maxPrice = ta.highest(price, fisherLength)
minPrice = ta.lowest(price, fisherLength)
value = 0.5 * (2 * ((price - minPrice) / (maxPrice - minPrice)) - 1)
value := math.min(math.max(value, -0.999), 0.999)  // Orezanie hodnoty pre stabilitu

// Krok 2: Výpočet Fisher Transform
var float fisher = na
fisher := 0.5 * math.log((1 + value) / (1 - value)) + 0.5 * nz(fisher[1])
fisher := fisherSmooth > 1 ? ta.sma(fisher, fisherSmooth) : fisher
plot(fisher, color=color.red, title="Fisher Transform", linewidth=2)

// ==== Strategie Podmienky ====
 // Long Condition: Cena prekročí TEMA smerom nahor a Fisher Transform prekročí 0 smerom nahor
longCondition = ta.crossover(close, tema) and ta.crossover(fisher, 0)
if (longCondition)
    strategy.entry("Long", strategy.long)

 // Short Condition: Cena prekročí TEMA smerom nadol a Fisher Transform prekročí 0 smerom nadol
shortCondition = ta.crossunder(close, tema) and ta.crossunder(fisher, 0)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Long Condition: Cena prekročí TEMA smerom nadol alebo Fisher Transform prekročí 0 smerom nadol
exitLong = ta.crossunder(close, tema) or ta.crossunder(fisher, 0)
if (exitLong)
    strategy.close("Long")

// Exit Short Condition: Cena prekročí TEMA smerom nahor alebo Fisher Transform prekročí 0 smerom nahor
exitShort = ta.crossover(close, tema) or ta.crossover(fisher, 0)
if (exitShort)
    strategy.close("Short")

// ==== Voliteľné: Vykreslenie Zero Line pre Fisher Transform ====
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)