Stratégie de backtesting de l'indicateur de transformation de Fisher


Date de création: 2024-01-25 14:22:36 Dernière modification: 2024-01-25 14:22:36
Copier: 0 Nombre de clics: 772
1
Suivre
1617
Abonnés

Stratégie de backtesting de l’indicateur de transformation de Fisher

Aperçu

Cette stratégie est basée sur la méthode de rétroévaluation de l’indicateur de conversion de Fisher. La formule de conversion de Fisher permet de convertir les données de prix en une distribution normale, utilisée pour identifier les points de crête et les points de basculement. La stratégie est combinée avec l’indicateur de conversion de Fisher pour déterminer la tendance des prix et permettre le trading automatisé.

Principe de stratégie

  1. Calcul de l’indicateur HL2
  2. Calculer la valeur maximale xMaxH et la valeur minimale xMinL de HL2 sur la période la plus récente de Length
  3. Calculer le taux de conversion de Fisher:
    • nValue1 est égal à 0,33 × (standardisé HL2) + 0,67 × nValue1 pour la période précédente
    • nValue2 limite nValue1 à une valeur comprise entre -0.99 et 0.99
    • Conversion de nFish en fonction logarithmique de nValue2
  4. Déterminez si nFish est positif ou négatif et déterminez la direction de la position
  5. Signaux de positionnement possig, si le trading est inversé, le positionnement est inversé
  6. Entrée: Possig = 1 fait plus, possig = -1 fait moins

Analyse des forces stratégiques

  1. L’indicateur de conversion de Fisher identifie les pics et les virages des prix et détermine les tendances avec précision.
  2. Le taux de victoires est amélioré par la combinaison des vibrations de filtrage de HL2
  3. Le trading inversé peut être configuré pour s’adapter à différentes conditions de marché
  4. Automatiser les transactions, sans jugement humain, réduire les coûts de transaction

Analyse des risques

  1. L’indicateur de conversion de Fisher est en retard et peut manquer les variations de prix de la ligne courte
  2. Le risque de rupture de la tendance sismique
  3. Une mauvaise configuration du trading inversé peut entraîner des transactions systématiquement erronées
  4. Il existe un certain risque de faux positifs sans tenir compte de la vérification sur plusieurs périodes.

Résolution des risques:

  1. Ajustez les paramètres pour réduire les délais
  2. Augmenter le stop-loss et maîtriser les pertes individuelles
  3. Optimiser le filtrage des transactions inverses en combinaison avec d’autres indicateurs
  4. Augmentation de la vérification multiple des tendances, des niveaux de prix et des bandes de fréquences

Orientation de l’optimisation de la stratégie

  1. Filtrage des indicateurs de tendance pour assurer une cohérence des grandes tendances
  2. Augmentation de l’indicateur de bande passante pour améliorer la précision de la détection des virages de prix
  3. Vérification sur plusieurs périodes afin d’éviter les faux positifs
  4. Modification dynamique du stop loss
  5. Paramètres d’optimisation, maximisation des chances de victoire et des facteurs de profit

Les stratégies d’optimisation ci-dessus permettent d’améliorer encore la rentabilité des stratégies, de bloquer les bénéfices et de contrôler les risques, ce qui permet d’obtenir des résultats de négociation plus stables et plus efficaces.

Résumer

Les stratégies de retracement de l’indicateur de variation de Fisher sont intégrées à l’indicateur de variation de Fisher pour déterminer les points de basculement et la direction de la tendance. La stratégie est précise, hautement automatisée et permet d’obtenir des résultats de négociation stables et efficaces grâce à l’optimisation des paramètres.

Code source de la stratégie
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v2.0 22/12/2016
// 	Market prices do not have a Gaussian probability density function
// 	as many traders think. Their probability curve is not bell-shaped.
// 	But trader can create a nearly Gaussian PDF for prices by normalizing
// 	them or creating a normalized indicator such as the relative strength
// 	index and applying the Fisher transform. Such a transformed output 
// 	creates the peak swings as relatively rare events.
// 	Fisher transform formula is: y = 0.5 * ln ((1+x)/(1-x))
// 	The sharp turning points of these peak swings clearly and unambiguously
// 	identify price reversals in a timely manner. 
//
//  For signal used zero. 
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Fisher Transform Indicator by Ehlers Backtest", shorttitle="Fisher Transform Indicator by Ehlers")
Length = input(10, minval=1)
reverse = input(false, title="Trade reverse")
hline(1, color=white)
xHL2 = hl2
xMaxH = highest(xHL2, Length)
xMinL = lowest(xHL2,Length)
nValue1 = 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
nValue2 =   iff(nValue1 > .99,  .999,
	         iff(nValue1 < -.99, -.999, nValue1))
nFish = 0.5 * log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
pos = iff(nFish > 0, 1,
	   iff(nFish < 0, -1, nz(pos[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)	   	    
// barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nFish, color=green, title="Fisher")
plot(nz(nFish[1]), color=red, title="Trigger")