Documentation

Applications

Dernière mise à jour le 22. 4. 2020 par Mark Fric

Groupes aléatoires

Qu'est-ce qu'un groupe aléatoire ?

Les groupes aléatoires permettent de spécifier le groupe de blocs à utiliser lors de la génération d'une stratégie.

Comprendre Groupes aléatoires nécessite une compréhension Modèles de stratégie d'abord. Consultez d'abord cet article si vous ne savez pas ce que sont les modèles de stratégie.

Votre choix de blocs de construction dans StrategyQuant est global - cela signifie qu'il est utilisé pour toutes les conditions d'entrée et de sortie.

Que se passe-t-il si vous voulez spécifier plus précisément la sélection de blocs à choisir pour chaque Condition aléatoire l'espace réservé ?

C'est ici que Groupes aléatoires entrent en jeu. Lorsque vous cliquez sur RandomCondition dans le modèle de stratégie d'AlgoWizard, sa configuration s'ouvre :

Choix aléatoire du groupe

Vous pouvez voir que, par défaut, aucun groupe aléatoire n'est choisi. Cela signifie que StrategyQuant doit générer des conditions à partir de la sélection globale des blocs de construction.

Il est possible de le personnaliser et de demander à SQ X de générer des conditions uniquement à partir de votre propre groupe prédéfini. Avant cela, nous devons créer quelques groupes.

 

Comment créer et gérer des groupes de blocs aléatoires ?

Vous pouvez le faire dans un Personnaliser écran dans AlgoWizard. Cliquez sur Personnaliser dans la barre d'outils supérieure :

Vous accéderez ainsi à un éditeur de groupes de blocs aléatoires dans lequel vous pourrez créer et modifier vos propres groupes aléatoires :

Par défaut, StrategyQuant n'a pas de groupes aléatoires définis, c'est à vous de créer des groupes si vous voulez les utiliser.

C'est simple - cliquez sur Ajouter un groupe et renseignez le nom et le type de groupe.

Le type détermine le type de blocs que le groupe peut contenir et où il peut être utilisé :

  • Conditions - Le groupe peut être utilisé dans l'espace réservé RandomCondition, pour créer des conditions pour les signaux de trading.
  • Valeurs - Le groupe peut être utilisé dans l'espace réservé RandomValue pour créer des prix ou des valeurs numériques - par exemple pour le prix d'entrée Stop/Limit.
  • Actions - peut être utilisé dans l'espace réservé RandomAction pour créer un ordre d'entrée et d'autres actions.

Nous avons créé un nouveau groupe Groupe 1mais il est actuellement vide :

Pour pouvoir l'utiliser, nous devons ajouter des blocs à ce groupe. Vous pouvez utiliser Ajouter un bloc ou Copier-coller certains blocs existants de l'éditeur d'AlgoWizard. Le choix des blocs se fait de la même manière que dans l'éditeur :

Il vous suffit de trouver et de choisir vos signaux ou de combiner des indicateurs, des valeurs de prix et des comparaisons pour créer votre ensemble de conditions.

Nous pouvons créer un groupe comme celui-ci :

Notre Groupe 1 ne contient que 4 conditions possibles - deux pour l'indicateur Aroon et deux pour l'indicateur StdDev.

N'oubliez pas de cliquer sur Économiser pour sauver ce groupe.

 

Utilisation de groupes aléatoires dans le modèle de stratégie

Nous pouvons maintenant retourner à notre modèle de stratégie. Nous allons ajouter une autre condition aléatoire qui utilisera le groupe nouvellement créé. Cliquez sur Ajouter une autre condition :

Et puis trouver Condition aléatoire et le configurer comme suit :

 

Nous l'appellerons RandomFromGroup1 et nous choisirons Groupe 1 pour un groupe aléatoire.

Si vous l'avez fait correctement, il devrait ressembler à l'image ci-dessous :

Nous n'avons pas eu besoin de créer un nouveau Condition aléatoire - nous aurions pu nous contenter d'éditer celle qui existe déjà, mais ce n'est qu'un exemple. Avec la configuration actuelle, nous avons deux Condition aléatoire qui seront générés aléatoirement dans StrategyQuant :

  • Condition aléatoire(RandomConditionLong) - n'a pas de groupe spécifié, il sera donc généré à partir des blocs configurés dans Paramètres complets -> Blocs de construction. En outre, il peut utiliser des opérateurs et/ou peut contenir plus d'une condition - en fonction de vos paramètres dans Paramètres complets -> Que construire -> # de conditions, périodes
  • Condition aléatoire(RandomFromGroup1) - utilise le groupe 1, il sera donc généré à partir du groupe nouvellement défini. SQ ne choisira au hasard que parmi ces 4 blocs :
    • Aroon(14).Up croise au-dessus d'Aroon Down
    • Aroon(14).Down croise en dessous de Aroon Up
    • StdDev(14) change de direction vers le bas
    • StdDev(14) change de direction vers le haut

Ces blocs ne doivent pas être sélectionnés dans Paramètres complets -> Blocs de construction, et une seule condition sera générée.

 

Nous voulons que le signal d'entrée Short soit symétrique à celui de l'entrée Long, nous devons donc ajouter une NegatedCondition ici, de sorte que le modèle résultant ressemblera à ceci :

Lorsque nous utiliserons ce modèle pour générer une stratégie dans SQ X, il générera les conditions pour les signaux d'entrée.

 

Génération de paramètres en groupes aléatoires

Si vous utilisez le groupe aléatoire dans votre modèle de stratégie, son contenu a la priorité sur les paramètres définis dans les blocs de construction. Si l'espace réservé donné doit être généré à l'aide d'un groupe aléatoire, il sera généré à l'aide des blocs de ce groupe - et ces blocs N'ONT PAS BESOIN d'être sélectionnés dans la section Paramètres du constructeur -> Blocs de construction.

En outre, les blocs seront générés de la manière spécifiée dans le groupe aléatoire. Si vous utilisez des valeurs de paramètres fixes dans vos blocs, seules ces valeurs fixes seront utilisées.

Un exemple de groupe aléatoire MonGroupe:

Exemple de groupe aléatoire

 

Ce groupe contient deux blocs :

  • ICC > 0
  • L'indice RSI est en hausse

Vous pouvez voir que le CCI est défini avec une période fixe de 18, et que le RSI utilise une période définie de manière aléatoire. Cela signifie que lorsque vous générerez des stratégies en utilisant ce groupe :

  • chaque fois que la SQ choisit d'utiliser ICC > 0 il utilisera toujours la période fixe 18, de sorte que la condition sera toujours : CCI(18) > 0
  • chaque fois que la SQ choisit d'utiliser L'indice RSI est en hausse il générera la période RSI de façon aléatoire en utilisant votre configuration, il peut donc générer des conditions comme : RSI(20) en hausse, RSI(50) en hausse, etc.

Remarque : réglez toujours vos paramètres dans les blocs des groupes aléatoires sur aléatoire si vous voulez qu'ils soient générés de manière aléatoire.

Cet article a-t-il été utile ? L'article était utile L'article n'était pas utile

S'abonner
Notification pour
7 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
劉以撒
3. 12. 2021 12:44 pm

La dernière image est manquante

tomas262
Administrateur
Répondre à  劉以撒
3. 12. 2021 8:24 pm

Merci, j'ai corrigé le problème

Emmanuel
13. 4. 2022 4:59 pm

C'est exactement ce que je cherchais ! !!!!!!!!!!!!!!!!!!
C'est excellent ! !!!!!!!!!!!!
Merci à toute l'équipe de SQX 🙂 .

Emmanuel
19. 4. 2022 7:57 pm

C'est vraiment une idée géniale ! !!!!!!!!!!!!!!!!!

Emmanuel
19. 4. 2022 8:08 pm

Dans le projet personnalisé, avons-nous une tâche pour charger un groupe de blocs de construction ?

Emmanuel
2. 5. 2022 9:26 am

Peut-on avoir plus de précision sur le format des blocs ? Quels types de blocs sont acceptés ? Lorsque je l'utilise, j'obtiens une erreur. SQX ne fonctionne pas avec mes blocs. Y a-t-il des blocs qui ne sont pas compatibles ?

Emmanuel
Répondre à  Emmanuel
3. 5. 2022 19:19

le bloc "égal" et "non égal" donne lieu à une erreur