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.
- 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.
- 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.