
Dans l’article précédent, nous avons découvert les paramètres du modèle de la « Mai Language Trading Library » de Mai Language. Ce modèle est fourni avec la stratégie Mai Language lors de sa création et encapsule certaines fonctions qui doivent être définies dans les transactions. Dans cet article, nous continuerons à en apprendre davantage sur l’utilisation du langage Mai dans la plateforme de trading quantitatif Inventor.
Les paramètres de stratégie du langage Mai sont les mêmes que ceux des autres langages de la plateforme de trading quantitatif Inventor. Ils sont définis sur la page d’édition de stratégie. Par exemple, nous utilisons la version en langue MaiDual ThrustLa stratégie comme exemple.
Adresse de la stratégie : https://www.fmz.com/strategy/128884.


Sur la page d’édition de la politique, les paramètres définis pour la politique peuvent être utilisés directement dans le code de la politique. Les paramètres de politique du langage Mai n’utilisent généralement que des types numériques. D’autres types tels que les types booléens, les listes déroulantes, les chaînes, etc. ne sont pas couramment utilisés.
Par exemple, dans l’exemple ci-dessusNLa valeur par défaut de ce paramètre est 4. Si ce paramètre n’est pas modifié lors de la création du robot, la valeur de N dans la stratégie sera 4 après l’exécution du robot.
Nous avons déjà compris le contenu au niveau de la stratégie linguistique Mai (paramètres de la stratégie linguistique Mai, paramètres du modèle de bibliothèque de trading linguistique Mai). Ensuite, examinons le trading et le backtesting réels de Mai Language.
Backtesting

Après avoir sélectionné la plage de temps du backtest (heure de début, heure de fin), définissez la période K-line de la stratégie. Mai Language prend également en charge plusieurs données de période K-line dans la stratégie. Cependant, la période de la ligne K définie ici est la période de la ligne K par défaut. Si elle est définie sur la ligne K quotidienne ici, le graphique généré automatiquement après l’exécution de la stratégie sera la ligne K quotidienne. Le mode de backtesting est divisé en « niveau réel » et « niveau de simulation ». Pour plus de détails, veuillez vous référer au document : https://www.fmz.com/digest-topic/4009. Sélectionnez ensuite le marché ou la bourse à tester. Après l’avoir ajouté, vous pouvez commencer le backtesting. Si d’autres paramètres doivent être ajustés, comme la valeur initiale du fonds de backtesting, etc., vous pouvez les définir en fonction de besoins spécifiques. Il y aura une invite lorsque vous placez la souris sur le paramètre.

Les paramètres liés au marché et à la bourse, tels que la valeur du fonds de simulation de backtest, le taux de frais de transaction de backtest, la précision du prix de backtest, la précision de la quantité de transaction, la source de données de backtest, etc., ne sont pas effectifs lorsqu’ils sont modifiés sur la page de backtest. Vous devez supprimer le les marchés et les échanges que vous avez ajoutés précédemment et ajoutez-les à nouveau une fois les paramètres terminés.
Offre ferme
La configuration proprement dite est beaucoup plus simple. Il vous suffit de spécifier un hôte pour le robot créé (c’est-à-dire sur quel hôte le robot s’exécutera). Définissez la période de la ligne K et l’objet d’échange à exploiter (c’est-à-dire l’objet de compte d’échange configuré).

Lorsque la stratégie est en cours d’exécution, il n’y a pas beaucoup de différence entre le trading réel et le backtest, sauf que le backtest contient des données statistiques supplémentaires générées automatiquement par le système de backtest.

Informations sur la barre d’état
Informations sur la barre d’état, le tableau est principalement divisé en « Informations sur le marché » et « Informations sur les fonds ». Informations sur le marchéIl enregistre principalement l’heure de début du cycle de ligne K par défaut actuellement défini, le type de transaction (code de contrat), le volume de position, le prix de la position et d’autres données. Il convient de noter que les mises à jour du marché pour le « Modèle de prix en temps réel » et le « Modèle de prix de clôture » définis dans les paramètres du modèle de la bibliothèque de trading Mai Language sont différentes. En prêtant attention aux mises à jour temporelles ici, vous pouvez juger du fonctionnement de la stratégie et des mises à jour du marché. (Jugement préliminaire : programme bloqué, journaux remplissant l’espace disque dur, etc.)
Informations sur le financementIl enregistre principalement la valeur du robot depuis le début de l’opération jusqu’aux fonds actuels.
Le bas de la barre d’état peut également afficher toutes les données de la stratégie, comme dans l’exemple suivant :UPTRACK, DOWNTRACK, réglez l’affichage selon vos besoins. Ici, nous devons parler de la méthode d’affectation dans le code de stratégie.
Les symboles suivants sont utilisés pour attribuer une valeur à une variable (extrait de la documentation de l’API du langage Mai)
Symboles:
Les deux points représentent l’affectation et sont envoyés vers le graphique (sous-graphique) et affichés dans le tableau de la barre d’état.
Symboles:=
Les deux points “égal” représentent l’affectation, mais ils ne sont pas exportés vers le graphique (graphique principal, sous-graphique, etc.) ni affichés dans le tableau de la barre d’état.
Symboles^^
Les deux symboles ^ représentent l’affectation, qui attribue une valeur à la variable et la renvoie au graphique (graphique principal) et l’affiche dans le tableau de la barre d’état.
Symboles..
Les deux symboles . représentent l’affectation, qui attribue une valeur à la variable et l’affiche dans le tableau de la barre d’état, mais n’est pas affichée sur le graphique (graphique principal, sous-graphique, etc.).
On peut voir que ces symboles sont tous des opérations d’affectation, mais la différence réside dans le fait que la variable est affichée dans la barre d’état et que la variable est dessinée sur le diagramme principal ou sur le diagramme attaché (à afficher plus tard).
^^、:、..Oui, vous pouvez afficher la valeur de la variable en bas du tableau de la barre d’état.
Graphique en chandeliers En fonction de la période de ligne K par défaut définie dans les pages de backtesting de stratégie et de trading réel, la stratégie générera un graphique de ligne K et affichera la courbe de valeur variable sur le graphique de ligne K en fonction du contenu de la stratégie. Par exemple, le graphique de l’exemple :

Image principale:
Pour faire simple, le graphique principal partage le même axe Y que la ligne K. Alors, quand devez-vous afficher des données sur le graphique principal ?
Lorsque les données à afficher, la taille de la valeur de la ligne de l’indicateur et la taille du prix sous-jacent sont similaires (c’est-à-dire que la taille de la valeur du prix sur la barre de la ligne K est similaire), elles peuvent être affichées sur le graphique principal, comme le graphique mobile. moyenne calculée par la stratégie. Les rails supérieurs et inférieurs du prix (UPTRACKetDOWNTRACK)。
Sous-image :
Alors, quel type de données convient d’être affiché dans le sous-graphique ?
Lorsque la ligne à tracer (données affichées) est significativement différente de la valeur du prix sur la BARRE de la ligne K (beaucoup plus grande ou plus petite que le prix sur la ligne K), elle peut être affichée sur le sous-graphique, car si il est affiché à ce moment dans l’image principale, cela provoquera une compression de l’image, ce qui est très gênant à observer. Par exemple, après avoir calculé l’indicateur MACD, vous souhaitez afficher l’indicateur MACD sur le graphique.
Par exemple, ajoutez une phrase à cet exemple de stratégie :AA^^(O-C)*100000;

Le graphique K-line ne peut plus être trouvé s’il est directement compressé.
Une autre différence est que le graphique de stratégie de langue Mai est un graphique HighCharts pendant le trading réel et un graphique tradingView pendant le backtesting.
Le graphique du marché réel :

Stratégie linguistique Mai, lorsque le signal de trading est déclenché (BK,SK,BP,SP,BPK,SPK ), un journal sera imprimé, indiquant l’emplacement (numéro de ligne) du déclencheur du signal dans le code et le nombre de fois que le signal est déclenché.

Une fois le prix et la quantité enregistrés dans le journal des ordres, le journal affichera également le prix de premier niveau de la contrepartie à ce moment-là. Par exemple, lors de l’achat d’une position longue, le prix et la quantité de l’ordre de demande de premier niveau seront affichés .