
Il est en effet très simple d’écrire des stratégies de tendance en langage Mai. Grâce à l’encapsulation, une stratégie peut être écrite en utilisant seulement quelques lignes de code. En plus d’interroger la documentation du langage Mai, vous pouvez utiliser le langage Mai sur la plateforme de trading FMZ :Documentation quantifiée Mylang de l’inventeurEn outre, certains articles d’orientation sont manquants. Dans cet article, jouons avec le langage du microphone sur FMZ. Le langage Mai peut être divisé en deux aspects sur FMZ : le marché au comptant de la monnaie numérique et les marchés à terme de la monnaie numérique. Voyons les différences d’utilisation sur les différents marchés. Commençons par examiner un point plus important.
La bibliothèque de trading en langage Mai intègre et encapsule certaines valeurs, paramètres et modes qui doivent être définis par l’utilisateur. Elle est séparée du niveau de code de stratégie et constitue une bibliothèque de cadres définie et configurée par l’utilisateur lors de la création d’un marché réel. le tien.

Afin de maîtriser l’utilisation des stratégies de langage du microphone sur FMZ, il est essentiel de comprendre ces paramètres et réglages. Apprenons ensemble les concepts et les utilisations de chaque paramètre.
Exécution
Les méthodes d’exécution sont divisées en收盘价模型、实盘价模型。


En termes simples, lorsque la dernière colonne de la ligne K est terminée et que la colonne de la ligne K du nouveau cycle sort, le programme en temps réel exécute la logique de stratégie établie (le code de stratégie de trading écrit). L’avantage de ce mode est qu’il évite les interférences causées par les variations de prix en temps réel au sein du cycle et ne considère les données du marché que lorsque la dernière colonne de la ligne K est finalisée comme base pour les achats, les ventes et les ouvertures stratégiques. clôture. L’inconvénient est qu’il peut y avoir un retard dans l’ouverture et la fermeture des positions, car la stratégie n’agira pas tant que le dernier cycle de la barre K-line ne sera pas terminé.
Comme le montre la figure ci-dessus, l’heure affichée dans la barre d’état et dans le graphique de stratégie est décalée de 8 heures. Cela est dû à l’incohérence entre les paramètres de fuseau horaire de l’appareil du dépositaire et le navigateur qui affiche actuellement le graphique.


Taille de lot d’ouverture par défaut Lors de l’écriture d’une stratégie de langage Mic, si le paramètre de quantité de commande n’est pas spécifié pour BK, SK, BPK, SPK, le paramètre sera utilisé comme quantité de commande. Par exemple:
MA5^^MA(C,5);
MA10^^MA(C,10);
CROSSUP(MA5,MA10),BK;
À ce stade, si les « lots d’ouverture par défaut » sont définis sur 2, alors lorsque la condition d’exécution de la stratégie BKCROSSUP(MA5,MA10)Lorsqu’il est déclenché, la quantité d’achat est de 2 (plus précisément 2 lots, 2 pièces ou 2 contrats, selon l’échange ajouté, qu’il s’agisse de devises numériques au comptant ou de contrats à terme sur devises numériques).
Prenons l’exemple du système de backtesting :

Pour un trading réel, veuillez vous référer à la page d’échange et ajouter vous-même l’objet d’échange configuré :

Quantité maximale de commande par transaction unique Le nombre maximum d’ordres autorisés à la fois. Si le volume de l’ordre est important lorsque le signal est déclenché (défini par les paramètres de commande dans la stratégie ou la taille du lot d’ouverture par défaut), l’ordre sera divisé en ordres plus petits lorsque l’ordre sera exécuté. un.
Points de glissement (entier)
Ce paramètre est le même que celui du groupe « Spot Trading ».定价货币精度Paramètre lié, principalement utilisé pour définir la prime ajoutée ou soustraite lors du placement d’un ordre. Par exemple, lorsque vous devez acheter, le prix de vente de l’adversaire est de 10, et nous plaçons un ordre d’achat à 11, alors 11-10= 1 La différence supplémentaire de 1 yuan est le glissement. Au contraire, la partie vendue à prix réduit est le glissement. Le but de l’ajout du glissement est de garantir la transaction.
Par exemple, dans le trading de contrats à terme sur matières premières, différentes variétés ont des ticks de prix différents (c’est-à-dire des prix à un tick). Il en va de même pour le trading de crypto-monnaies. Si le prix de l’ordre n’est pas un multiple du tick de prix, par exemplei2009Contrat de minerai de fer 2009, le prix tick est de 0,5, si je passe une commande à 760,1, il ne répond pas à l’exigence de priceTick, une telle commande ne peut pas être passée avec succès, la bourse rejettera la commande, si la commande est de 760,5 OK. Vous devez donc prendre en compte cette question lors de la définition du prix de glissement.
Le système obtiendra automatiquement le prixTick du produit actuel (le paramètre de précision de la devise de tarification n’est pas effectif).滑价点数Il s’agit d’un multiple de priceTick, par exemple :

Le saut de prix affiché est de 1e-7, soit 0,0000001, lorsque nous fixons le point de glissement à 5.


Parce que les informations telles que les sauts de prix fournies par les monnaies numériques ne sont pas uniformes, et certaines les fournissent tandis que d’autres ne le font pas. Par conséquent, le paramètre « précision de la devise de tarification » est nécessaire pour le contrôler. Par exemple, si le paramètre « Précision de la devise de tarification » est défini sur 2, le prix de la commande pendant la transaction en cours est précis à la deuxième décimale, soit 0,01. À l’heure actuelle, le prix Tick est de 0,01. Si le point de glissement est fixé à 5, le glissement (ou la prime) ajouté ou soustrait en fonction du prix de la contrepartie à chaque fois qu’un ordre est passé est de 0,05.


Ce paramètre est principalement utilisé pour数字货币期货Code des contrats de fixation du marché, voirDocumentation sur la langue Mai
Si l’objet d’échange ajouté par la stratégie est un spot de monnaie numérique, ce paramètre n’est pas valide.
Si ce paramètre est coché, lorsque la stratégie est redémarrée après avoir été arrêtée, les positions précédentes seront poursuivies et le signal continuera à fonctionner au lieu de fonctionner dans l’état initial. Si vous devez exécuter la stratégie dans son état initial, vous pouvez décocher ce paramètre.
Délais de nouvelle tentative de commande Si un ordre n’est pas exécuté (par exemple, si le marché évolue très rapidement et si le glissement n’est pas important), le prix du marché peut avoir bougé au moment où l’ordre est passé). Annulez la commande et passez-en une nouvelle. Ce paramètre contrôle le nombre de fois où la commande peut être passée à nouveau. Si le nombre est supérieur, aucune autre commande ne sera passée et l’exécution du signal sera terminée.
Intervalle d’interrogation du réseau (millisecondes) Il n’est valable que pour les contrats à terme et au comptant de devises numériques et contrôle la fréquence d’exécution de la rotation du programme.
Temps de synchronisation du compte (secondes) L’intervalle de lecture des données de compte.
Temps de synchronisation de la position après l’ouverture d’une position (millisecondes) Principalement utilisé dans les échanges de contrats à terme sur devises numériques. Parfois, l’interface d’échange de contrats à terme sur devises numériques renvoie des données anciennes, ce qui entraîne un jugement de position incorrect, ce qui entraîne des commandes répétées pour les stratégies. L’augmentation de ce paramètre peut atténuer ces problèmes. Une fois que la stratégie a placé un ordre pour ouvrir une position, attendez une certaine période de temps pour synchroniser la position.
Effet de levier Ce paramètre est uniquement utilisé pour les contrats à terme sur devises numériques. Lors de la définition de l’effet de levier des contrats à terme sur devises numériques, la plage et la valeur de l’effet de levier prises en charge par chaque bourse de contrats à terme sur devises numériques peuvent être différentes. Veuillez traiter le paramètre de manière spécifique.
Volume d’un lot Ce paramètre n’est valable que pour les transactions au comptant en monnaie numérique, c’est-à-dire pour définir la quantité de commande par défaut
Volume de transaction minimum Utilisé pour le spot de monnaie numérique, il est différent du concept de précision. Les nouveaux étudiants sont toujours confus ici. La précision fait référence à la décimale à laquelle elle est précise et n’indique pas la taille de la valeur. Le volume de transaction minimum fait référence à la valeur minimale de chaque commande. Si le volume de commande calculé est inférieur à cette valeur, aucune transaction ne sera effectuée (par exemple, fonds insuffisants, transaction incomplète, une petite quantité de la quantité de transaction prévue restant dans la répartition) transactions, etc.). En termes simples, pour une opération de commande, la quantité commandée doit au moins correspondre à cette valeur, et aucune commande ne sera passée si elle est inférieure à cette valeur.
Précision de la devise de tarification Ce paramètre fait référence à la précision du prix (nombre de décimales dans le prix) pendant la négociation, ce qui affecte le paramètre « points de glissement » dont nous avons parlé plus tôt. Une attention particulière doit être accordée à certaines paires de trading libellées en BTC. Les valeurs de prix de ces paires de trading sont très petites et comportent de nombreuses décimales. Vous devez être prudent lors de la définition de la précision du prix.
Précision du type de transaction Ce paramètre fait référence à la précision de la quantité commandée pendant la négociation et contrôle les décimales de la quantité commandée. Par exemple, si la quantité commandée est prévue pour être de 0,1234 pièces, si ce paramètre est défini sur 2, la quantité commandée sera ajustée à 0,12.
Frais Ce paramètre est appliqué à la monnaie numérique spot. Le paramètre de frais est utilisé pour calculer la quantité commandée lors de la passation d’une commande (lors de l’achat d’une commande) afin d’éviter que la quantité de commande calculée ne dépasse le nombre réel d’actifs requis. Si vous n’êtes pas sûr de le taux de change, vous pouvez l’ajuster en conséquence. Réglez ce paramètre un peu plus grand.
Intervalle de statistiques sur les profits et les pertes
Les statistiques de profit de Mai Language calculent et impriment le profit et la perte flottants actuels à intervalles de temps réguliers, de sorte qu’ils peuvent être calculés indépendamment du fait qu’il y ait ou non une position (il n’y a pas de position réelle dans le spot de monnaie numérique, c’est une position logique).
Comme indiqué ci-dessus, ce paramètre est défini sur heures et la courbe de rendement est imprimée une fois par heure. Le revenu imprimé est le suivant : revenu cumulé + bénéfice et perte flottants courants.
Nouvelle tentative en cas d’échec (millisecondes) Ce paramètre est utilisé pour déterminer l’intervalle entre les tentatives lorsqu’un appel d’interface échoue.
Utiliser un proxy Ce paramètre est principalement utilisé pour les contrats à terme sur devises numériques et les contrats au comptant sur devises numériques. L’utilisation du proxy SS5 permet aux hébergeurs de serveurs nationaux d’accéder à certaines interfaces d’échange Q-ed.
Masquer les erreurs réseau courantes Cochez ce paramètre pour filtrer certains journaux d’erreurs.
Adresse de base du commutateur
Ce paramètre est principalement utilisé pour les contrats à terme sur devises numériques et les devises au comptant, et est utilisé pour changer l’adresse de base de l’interface API du protocole REST, comme pour changer l’environnement du disque de simulation Binance :https://testnet.binancefuture.com。
Notifications push Une fois ce paramètre vérifié, le journal des commandes et les messages push de la stratégie seront transmis aux options push définies pour le compte actuel.

Nous connaissons ici les paramètres de modèle de Mai Language. Dans le prochain article, nous pourrons nous familiariser avec l’interface d’exécution de Mai Language, les graphiques et d’autres contenus sur la plateforme FMZ.