blocs de comparaison

Création de blocs consécutifs dans une stratégie Quant X

Dans StrategyQuant X 131, nous avons ajouté deux nouveaux blocs de comparaison. Dans cet article, nous allons les discuter plus en détail. Les blocs de comparaison sont des extraits que nous pouvons utiliser dans l'assistant ou le constructeur d'algo et qui servent à comparer deux valeurs. ( Gauche et droite )

Fondamentalement, le comptage supérieur / comptage inférieur compare le nombre de barres où la condition est remplie.

  • Greater Count vérifie la condition selon laquelle X est supérieur ou égal à Y, pour le nombre de barres spécifié.
  • Lower Count vérifie la condition selon laquelle X est inférieur ou égal à Y, pour le nombre de barres spécifié.

Les blocs de comparaison sont également utilisés dans Builder, où le moteur génétique recherche de nouvelles combinaisons de blocs pour créer une stratégie algorithmique rentable.

Nous allons maintenant montrer deux exemples de création et de test de ces blocs :

 

Règles consécutives RSI

Dans le premier exemple, nous montrons comment créer un bloc personnalisé - RSI ( 14 ) est supérieur à une valeur de 50 X barres consécutives dans une rangée. Dans un premier temps, nous sélectionnons le bloc de comparaison Est plus important pour les barres X.

Nous pouvons choisir plusieurs paramètres pour un bloc donné

 

Nous pouvons définir le Barres  - un nombre de barres qui doivent remplir la condition et la Autoriser les mêmes valeurs option. Autoriser les mêmes valeurs est utile dans une situation où les deux valeurs sont égales. Par exemple, lorsque le RSI a deux barres d'affilée avec la même valeur.

Après avoir sélectionné un bloc de comparaison particulier, SQX nous propose le paramétrage du bloc. Nous définissons l'indicateur de gauche et l'indicateur de droite.

Dans notre cas, nous allons comparer le RSI ( 14 ) et la valeur 50.

Il est conseillé de paramétrer également le bloc personnalisé donné. Nous choisissons le nombre de barres pendant lesquelles la condition donnée est valide, la période de l'IFR et la valeur au-dessus de laquelle l'IFR doit être pendant X barres.

C'est une bonne pratique de créer une règle opposée, dans notre cas nous créons une condition miroir qui est plus basse pour les barres X, en modifiant légèrement dans les paramètres du bloc seulement la valeur variable RSI, que nous changeons à l'intervalle 20-50.

 

Barres consécutives vers le haut ou vers le bas

Voyons maintenant un exemple de création de barres consécutives Up/down. La barre UP est définie lorsque le cours de clôture est supérieur au cours d'ouverture et vice versa.

Comme dans les exemples précédents, l'utilisation est le comptage supérieur avec la condition Close > Open.

Pour le bloc opposé, nous utilisons Lower Count pour créer un bloc dont le corps contient la condition suivante Close < Open

 

Détection des fausses ruptures

Une autre méthode, un peu plus compliquée, consiste à utiliser le comptage supérieur/inférieur pour détecter les fausses ruptures. Commençons par la définition d'une rupture de sommet hebdomadaire.

Un breakout de sommet hebdomadaire peut être simplement défini comme une condition dans laquelle le dernier sommet est égal au sommet hebdomadaire actuel.

 

À ce stade, examinons à quel moment se produit une fausse rupture. Cela se produit lorsque le cours génère un nouveau sommet, mais que le cours stagne et ne bouge pas. Cette situation peut durer plusieurs barres. Pour résoudre cette situation, nous pouvons définir à ce stade que de telles situations sont couvertes uniquement par le paramétrage de la fonction Déplacement paramètre.

En ajoutant le Bars Ago nous sommes en mesure de capturer les situations où les barres hautes hebdomadaires Ago ont été cassées dans le passé.

Pour pouvoir détecter que le prix est inférieur au sommet hebdomadaire actuel et aussi au nombre de barres X Ago pour briser le breakout hebdomadaire, nous ajoutons le bloc de comparaison Lower Count.

Un bloc ainsi préparé permet de filtrer efficacement ces situations. Il y a un petit problème avec deux paramètres identiques Bars Ago et Bars Ago Int. Normalement, il s'agit des mêmes variables, mais elles doivent être déclarées séparément. Il en va ainsi pour le bon fonctionnement des autres fonctions de SQX. Quoi qu'il en soit, nous avons deux façons de résoudre ce problème.

  1. Nous laissons le moteur SQX trouver lui-même une solution, mais cela prend plus de temps lors de la génération de la stratégie.
  2. Nous aidons SQX en définissant des ensembles de paramètres dans la configuration du constructeur.

 

Dans l'image ci-dessous, nous voyons un bloc personnalisé HighWeekBreakout avec des ensembles de paramètres définis et une pondération accrue de ces paramètres qui garantit que le constructeur donne la priorité aux ensembles de paramètres que nous définissons.

Pour le bloc opposé, nous utilisons une logique similaire avec Low, Weekly Low et Greater Count.

Conclusion

Les procédures ci-dessus peuvent être utilisées dans la conception de stratégies directement dans Algo Wizard ou dans StrategyQuantX builder. En utilisant des blocs personnalisés, vous pouvez mieux cibler la stratégie de trading souhaitée et réduire les degrés de liberté. Vous devez être créatif lorsque vous créez des blocs comme celui-ci. Idéalement, vous obtenez des idées similaires en regardant des graphiques et en recherchant des scénarios possibles.

clonex / Ivan Hudec

Ivan Hudec — “ Clonex ” sur le forum

Je suis trader depuis 15 ans et je développe des stratégies avec StrategyQuant X depuis 2014. Aujourd’hui, je me consacre à trois activités : je développe et teste en conditions réelles des stratégies automatisées, j’enrichis la plateforme SQX elle-même avec des indicateurs personnalisés, des extraits de code et des outils Python dédiés à l’apprentissage automatique et à la recherche quantitative, et j’aide d’autres traders à atteindre leurs objectifs plus rapidement — sans qu’ils aient à commettre les mêmes erreurs coûteuses que celles que j’ai commises au fil des années.
La plupart des stratégies de trading au détail semblent très prometteuses lors des backtests, mais s'effondrent en conditions réelles. Mon travail va à l'encontre de cette tendance : je développe des stratégies honnêtes, validées et suffisamment robustes pour qu'on puisse leur confier de l'argent réel. Je décris ce processus — avec ses bons et ses mauvais côtés, ainsi que le surajustement dont personne ne parle — sur mon site, algotrading.space.
Si vous souhaitez approfondir vos connaissances en matière de validation, de développement SQX sur mesure ou de création d'un véritable avantage concurrentiel grâce aux données et au code, c'est là que je partage toutes ces informations.  www.algotrading.space

0 Commentaires
Le plus ancien
Le plus récent Le plus populaire

Poursuivre la lecture