Stratégie de trading de l'oscillateur du chaos fractal


Date de création: 2023-09-18 15:10:09 Dernière modification: 2023-09-18 15:10:09
Copier: 1 Nombre de clics: 1280
1
Suivre
1617
Abonnés

Aperçu

La stratégie consiste à déterminer la direction de la tendance du marché en calculant l’indicateur de l’oscillateur de chaos fractal (FCO), permettant de suivre la tendance. Le FCO détermine la tendance des prix en comparant les variations des valeurs maximales et minimales locales. La fourchette numérique est comprise entre -1 et 1, et plus la valeur est élevée, plus la tendance est évidente.

Principe de stratégie

Calculer l’indicateur FCO en comparant les variations des extrêmes de deux groupes adjacents. Par exemple, lorsque le dernier groupe de extrêmes est en désaccord avec le groupe précédent, le FCO est 1, ce qui indique que la tendance à la hausse est forte.

Analyse des avantages

  • L’indicateur FCO est simple et efficace pour juger de la tendance.
  • Il n’y a pas besoin de paramètres complexes, il est facile à utiliser
  • Le système de négociation est basé sur des lignes courtes et est adapté aux transactions intra-journées.
  • Vous pouvez choisir de faire plus ou moins selon vos besoins.

Analyse des risques

  • La classification n’est pas complètement précise et peut manquer le point de basculement.
  • Le risque de perte est qu’il soit impossible de déterminer avec précision le point de basculement de la tendance
  • Les transactions quotidiennes sont fréquentes et les frais de traitement sont élevés.

Les paramètres peuvent être optimisés de manière appropriée ou combinés avec d’autres indicateurs pour déterminer le renversement de tendance.

Direction d’optimisation

  • Test de différents paramètres de périodes de découpage
  • Optimiser le seuil de surcoût du FCO
  • Les indicateurs tels que les moyennes mobiles sont associés à un renversement de tendance
  • Paramètres de test de robustesse dans différentes variétés

Résumer

La stratégie FCO est une stratégie de suivi des tendances facile à mettre en œuvre.

Code source de la stratégie
/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/02/2018
//   The value of Fractal Chaos Oscillator is calculated as the difference between 
// the most subtle movements of the market. In general, its value moves between 
// -1.000 and 1.000. The higher the value of the Fractal Chaos Oscillator, the 
// more one can say that it follows a certain trend – an increase in prices trend, 
// or a decrease in prices trend.
//
//   Being an indicator expressed in a numeric value, traders say that this is an 
// indicator that puts a value on the trendiness of the markets. When the FCO reaches 
// a high value, they initiate the “buy” operation, contrarily when the FCO reaches a 
// low value, they signal the “sell” action. This is an excellent indicator to use in 
// intra-day trading.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
fractalUp(pattern) =>
    p = high[pattern+1]
    okl = 1
    okr = 1
	for i = pattern to 1
		okl := iff(high[i] < high[i+1] and okl == 1 , 1, 0)
	for i = pattern+2 to pattern*2+1
		okr := iff(high[i] < high[i-1] and okr == 1, 1, 0)
	res = iff(okl == 1 and okr == 1, p, res[1])
    res

fractalDn(pattern) =>
    p = low[pattern+1]
    okl = 1
    okr = 1
	for i = pattern to 1
		okl := iff(low[i] > low[i+1] and okl == 1 , 1, 0)
	for i = pattern+2 to pattern*2+1
		okr := iff(low[i] > low[i-1] and okr == 1, 1, 0)
	res = iff(okl == 1 and okr == 1, p, res[1])
    res

strategy(title="Fractal Chaos Oscillator", overlay = false)
Pattern = input(1, minval=1)
reverse = input(false, title="Trade reverse")
xUpper = fractalUp(Pattern)
xLower = fractalDn(Pattern)
xRes = iff(xUpper != xUpper[1], 1, 
         iff(xLower != xLower[1], -1, 0))
pos = iff(xRes == 1, 1,
       iff(xRes == -1, -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(xRes, color=blue, title="FCO")