Les ressources ont été chargées... Je charge...

La transaction quantifiée de la sphère monétaire est une nouveauté - qui vous rapproche de la quantification de la sphère monétaire.

Auteur:L'inventeur de la quantification - un petit rêve, Créé: 2021-05-06 11:20:04, Mis à jour: 2023-09-21 21:03:14

img

La quantité de transaction dans le cercle monétaire est nouvelle et vous rapproche de la quantité de transaction dans le cercle monétaire.

Des erreurs ont été signalées

Dans les articles précédents, nous avons appris que la transaction programmatique et quantifiée est un script qui exécute une série de calculs, de jugements et de déclenchements pour exécuter des opérations basées sur les données obtenues de l'échange. Ces opérations sont effectuées par l'intermédiaire de l'interface API de l'échange.

Bien sûr, les programmes programmatiques, les systèmes de négociation quantifiés ou les programmes développés sur le marché peuvent contenir toutes sortes d'avertissements d'erreur et d'erreurs. Ces erreurs ne sont pas limitées à l'interface API de l'échange.

Dans les plateformes d'échange quantifié par les inventeurs, les messages erronés peuvent également être divisés en plusieurs catégories:

  • Erreur de grammaire stratégique Ces erreurs sont les plus courantes et sont souvent causées par un manque de connaissances en programmation et par des erreurs de syntaxe lors de l'écriture de code à l'étape du test. Par exemple:

    img

    Le code a moins de caractères tels que des parenthèses. Ces erreurs sont généralement signalées par des astuces d'erreur sur la page de stratégie d'édition, et la stratégie ne fonctionne pas (elle rapporte directement des erreurs lors de l'exécution, comme illustré ci-dessous).

    imgDonc, après avoir écrit la stratégie, jetez un coup d'œil à la routine d'édition de la page de stratégie de la plate-forme pour voir s'il n'y a pas de petit XX rouge, il y a certainement une erreur flagrante.

  • Une erreur de programme à l'exécution causée par un bug de programme Le programme présente un BUG, et le déclenchement d'une anomalie lors de l'exécution du programme provoque un arrêt exceptionnel du programme, affichant un tel message d'erreur.

    img

    img

    Ces erreurs entraînent des anomalies et le programme cesse de fonctionner.

  • Des erreurs de configuration ou de configuration

    Sur la plateforme FMZ, les transactions sont généralement définies comme:X_YDans ce format, X représente le nom de la monnaie négociée et Y représente le nom de la devise (la devise de la paire de contrats de négociation de devises est généralement indiquée en USD, comme indiqué dans les articles précédents).BTC_USDTSi j'écris les transactions en désordre, je les écris comme suit:BTC-USDT

    img

    Une erreur est signalée dans le système de retouche de la plateforme FMZ:

    img

    Il y a une erreur sur le disque:

    img

    Il y a aussi une erreur fréquente de Deng Xiaoping:

    https://www.fmz.comimg

    Une telle erreur est due à une modification du mot de passe d'un compte sur la plateforme FMZ, ce qui entraîne des erreurs dans l'objet de l'échange configuré.API KEYÉchec (l'API KEY de l'utilisateur est configurée dans la plateforme FMZ après avoir été cryptée sur le côté du navigateur), la politique ne peut pas être lancée, ce qui entraîne un message d'erreur.

  • Erreur d'appel

    Les erreurs d'appel d'interface sont fréquentes dans les stratégies d'exécution. Dans les articles précédents, nous avons appris que les interfaces sur la plate-forme FMZ sont classées en deux catégories:L'interface qui génère les demandes réseauInterface qui ne génère pas de requête réseauLes erreurs d'interface ne provoquent pas l'arrêt du programme, généralement en raison d'une anomalie d'appel d'interface, qui renvoie des données erronées, puis la politique ne fait pas d'erreur, une anomalie de programme déclenchée par une erreur de données est utilisée.

    Voici une liste de quelques messages d'erreur d'interface générant des demandes de réseau:

    • Le temps passé sur Internet

      img

      L'un des messages d'erreur les plus fréquents rencontrés par les débutants est le fait d'utiliser un appareil sur le réseau national (un ordinateur personnel ou un serveur national).

    • http 429 est une erreur

      https://www.fmz.comimg

      L'un des messages d'erreur classiques est que l'interface d'un échange est appelée trop souvent, au-delà des limites de l'échange. Certains de mes nouveaux camarades diront peut-être que j'ai fait plus d'applications pour plusieurs bourses.API KEYNous devons savoir que la fréquence d'accès limitée par l'interface d'un échange est généralement basée sur l'adresse IP, en termes simples, si toutes les demandes envoyées à une adresse IP sont enregistrées sur cette adresse IP, le serveur de l'échange refuse l'accès si vous dépassez cette limite.

    • Des erreurs ont été signalées au niveau de l'interface opérationnelle des bourses

      Les temps d'arrêt mentionnés ci-dessus, 429, sont des erreurs au niveau du réseau. Des problèmes au niveau des opérations de l'interface de l'échange peuvent également survenir, par exemple, je veux obtenir un marché au comptant, mais j'ai mis en place une paire de transactions qui n'existe pas. J'ai testé l'outil de débogage de la plate-forme FMZ.

      img

      Il n'y a pas de différence entre les résultats d'exécution des outils de débogage, l'exécution des outils de débogage et l'exécution sur le disque dur.img

      Huobi	错误	GetTicker: Invalid ticker: {"Info":{"err-code":"invalid-parameter","err-msg":"invalid symbol","status":"error","ts":1620872079355},"High":0,"Low":0,"Sell":0,"Buy":0,"Last":0,"Volume":0,"OpenInterest":0,"Time":0}
      

      Les messages d'erreur ici signifient que la transaction a été annulée."err-msg":"invalid symbol"Je ne sais pas. Il existe de nombreux autres cas d'erreurs de ce type et liés à l'entreprise, comme le fait que certains échanges ne prennent pas en charge le levier avec une fraction de fraction lors de la mise en place du levier, ce qui entraînerait des erreurs d'appel d'interface si le levier est avec une fraction de fraction.

    Listez une appel d'interface qui ne génère pas de requête réseau

    • Le code du contrat à terme Certaines interfaces sont simplement des variables globales dans le système qui ne génèrent pas de requêtes réseau, par exemple:

      img

      Mais les erreurs de transmission de paramètres, ou les fautes d'orthographe, peuvent aussi être reportées.

      img

    Mais quel que soit le type d'erreur, les informations d'erreur affichées sont essentielles pour trouver le problème, et le problème peut généralement être détecté à partir des informations d'erreur. Vous pouvez utiliser des outils de traduction pour traduire les informations d'erreur et extraire les informations essentielles."err-msg":"invalid symbol"Vous savez probablement que c'est une mauvaise configuration de la paire de transaction, car elle est généralement représentée par un symbole anglais pour le code de transaction, la paire de transaction. Pour ce qui est de l'information sur les erreurs, nous avons simplement abordé les questions suivantes, et nous avons régulièrement rassemblé des messages pour les questions courantes:https://www.fmz.com/bbs-topic/1427

Système de détection

Le système de retouche est également un élément clé d'un outil de quantification, le système de retouche permet de prototypes pratiques de stratégies de test, les bugs potentiels, les problèmes de logique dans les stratégies de test préliminaires, etc. Le système de retouche nécessite une vision rationnelle. Le système de retouche peut refléter à un certain degré certains problèmes de stratégie.

Ci-dessous, une description simple des différents niveaux de langage de stratégie pris en charge par FMZ pour le système de retouche sur la plate-forme FMZ.

  • JavaScript

    Le navigateur est un navigateur qui utilise des ressources matérielles locales.

  • Python

    Dans le cas de la réévaluation par l'hôte, il est possible de choisir à qui l'hôte est spécifiquement attribué (les hôtes déployés et les hôtes publics de la plate-forme FMZ). Étant donné que la charge de l'hôte public sur la plate-forme FMZ est plus importante, il est recommandé d'utiliser la réévaluation par l'hôte local (ce qui est également plus rapide, car la réévaluation par l'hôte public peut annuler certaines tâches de réévaluation lorsque les tâches dépassent la charge, ce qui entraîne une interruption de la réévaluation).

  • C++

    Contrairement aux langages de scripts, les stratégies C++ doivent être compilées avant d'être exécutées. Les stratégies C++ sont compilées sur la plateforme FMZ (le serveur) avant d'être compilées (si le code est écrit avec des problèmes, la compilation peut ne pas être passée).

  • Langue Ma

    L'implémentation sous-jacente est JavaScript, et la répétition est également effectuée sur le côté du navigateur.

  • Visualisation

    L'implémentation sous-jacente est JavaScript, et la répétition est également effectuée sur le côté du navigateur.

Le mode de retouche du système de retouche de la plate-forme de négociation quantitative de l'inventeur est divisé en deux types (le langage de stratégie est le même, le langage de stratégie est le même).

img

Pour plus d'informations sur le système de retouche, consultez le tutoriel de la plateforme:

https://www.fmz.com/bbs-topic/4158#策略回测

  • 1°, réévaluation au niveau de l'analogie La simple analogue de la régression au niveau de l'analogue est la génération de données sur les prix à chaque nœud en fonction des données de la ligne K.

    K线中一根柱子不是有高开低收么,构成了一个价格框架,在这个K线代表的时间范围内,价格都在这个价格框架内,所以只要生成的价格在这个K线高开低收框架范围内,这个模拟出来的价格就是合理的。
    

    Il y a aussi une autre version de ce qui est arrivé à l'époque.https://www.fmz.comimgBien sûr, la situation est un peu plus complexe que dans le graphique, mais il est possible de comprendre le mécanisme de retouche au niveau de l'analogie. Sachant cela, il est nécessaire de noter les inconvénients de l'analyse de niveau d'analogie, bien que l'analyse de niveau d'analogie soit rapide (car le prix généré par l'analogie n'est pas le prix réel par seconde).Simulation des tendances des ticsLes prix peuvent ne pas être ce mouvement dans la réalité, bien que les prix soient dans le cadre de ce pilier K). La ligne K utilisée ici pour générer des données de ticks analogiques est appelée la ligne K inférieure, et la période de cette ligne K est appelée la période de la ligne K.Cycles de la ligne K inférieureLes paramètres suivants sont définis sur la page des paramètres de stratégie:

    imgLa valeur de 1 minute ici signifie que les données de la ligne K avec un cycle de 1 minute sont utilisées comme source de données pour générer des ticks analogiques.

    Un autre point est que pour les stratégies à haute fréquence, l'utilisation d'une répétition au niveau de l'analogique n'est manifestement pas appropriée. Mais pour les stratégies à tendance, l'utilisation d'une répétition au niveau de l'analogique peut encore refléter les performances de la stratégie.

  • 2°, réévaluation au niveau du disque. En parlant de retracement au niveau analogique, nous allons parler de retracement au niveau du disque réel. En termes simples, le retracement au niveau du disque réel est la diffusion réelle de données de prix par seconde lors du retracement. L'inconvénient est que la quantité de données de retouche au niveau du disque réel est trop grande pour une retouche sur une plus grande plage de temps (généralement une plage de temps inférieure à 1 jour).Données détaillées, pour réduire le degré de profondeur des données (données transactionnelles par écrit, les données de profondeur de transaction sont également prises en photo par seconde dans la retouche au niveau du disque réel, de sorte que la quantité de données de retouche au niveau du disque réel est énorme), afin d'augmenter la portée de retouche, comme indiqué ci-dessous:

    img

Où est la source des données de l'inventeur du système de retouche de plate-forme de négociation quantitative? Le système de retouche utilise par défaut les données du centre de données de la plate-forme FMZ, qui recueille automatiquement les données du marché des différentes devises des différents échanges bien configurés et les fournit au système de retouche de la plate-forme.

  • 1° Les données utilisées par défaut dans les centres de données FMZ Dans les articles précédents, il a été mentionné:https://www.fmz.com/bbs-topic/6857#量化交易平台Les données de retouche fournies par la plate-forme ne supportent que des paires de transactions limitées (les données de retouche de l'ensemble du marché, de l'ensemble des devises sont des chiffres astronomiques et ne sont pas réalistes. La plate-forme recueille des données de marché sur les échanges traditionnels, les devises traditionnelles).

  • 2° Utiliser des données de source personnalisées L'option de la page de retouche peut être utilisée pour configurer une source de données personnalisée, c'est-à-dire que si vous possédez des données d'un échange, vous pouvez fournir un système de retouche à la plate-forme FMZ, selon les exigences de format de la plate-forme FMZ.

    img

    La documentation de l'API FMZ sur les sources de données personnalisées contient également des instructions:https://www.fmz.com/api#自定义数据源

    La base de données FMZ propose également des programmes:img

    Les étudiants intéressés peuvent consulter les références.

Apprendre, tester et réfléchir

Il est important de programmer et de quantifier les transactions.ApprendreLe testRéfléchissezJe ne sais pas. Réfléchir à un problème n'est pas une pensée vide, c'est inefficace. Résoudre un problème, réfléchir à un problème, c'est le mieux.Trouver des informationsEt puisEssayez de le faireRéflexion et analyseSi le problème n'est pas résolu, veuillez revenir à l'action ci-dessus.

Mais le plus souvent, quand il rencontre des problèmes, il se sent:

C'est vraiment très difficile de programmer, de quantifier, d'écrire des stratégies. J'ai regardé pendant une demi-journée et je suis resté muet! Tu n'es pas entré pour abandonner! Je ne sais pas.

L'accès à la plateforme FMZ est en fait très simple, il faut d'abord savoir trouver des informations. Il y a beaucoup d'informations à consulter sur la place, la communauté et la bibliothèque des inventeurs de la plateforme de trading quantitative.

img

Ensuite, la compétence manuelle, l'utilisation d'un système de retouche et d'un outil de débogage peut être très pratique. Il ne s'agit pas de tester une stratégie complète. En fait, vous pouvez même apprendre les bases de la programmation JavaScript sur un système de retouche quantifié FMZ si vous êtes complètement à la base 0.

Voici le site de tutoriels que j'apprends régulièrement sur JS:https://www.runoob.com/js/js-loop-for.htmlIl y a beaucoup de choses à apprendre et à rechercher, et pas seulement sur JS. Par exemple, je ne sais pas comment utiliser les expressions régulières de JS. Bien sûr, regardez les informations avant de commencer à essayer.

J'ai vu un exemple:imgJ'aimerais le tester, et même apprendre à le tester avec le système de retouche de la plateforme FMZ.

Il est facile de mettre en place un échange sur le système de retouche.img

Le code suivant est testé:

function IsEmail(str) {
    var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
    return reg.test(str);
}

function main() {
    var strEmailAddress1 = "13512345678"
    Log(strEmailAddress1, " 是邮件地址么 ? ", " 回答:", IsEmail(strEmailAddress1))
    
    var strEmailAddress2 = "123456789@qq.com"
    Log(strEmailAddress2, " 是邮件地址么 ? ", " 回答:", IsEmail(strEmailAddress2))
}

img

Regardez! Quel excellent outil d'apprentissage! Par exemple, si je veux apprendre à écrire la logique de la boucle dans JavaScript, je vais essayer ceci:

Le cycle imprime les éléments d'une variable en fonction de l'ordre dans lequel elles se trouvent:

function main() {
    var arr = [{coinName: "BTC", price: 10000}, {coinName: "LTC", price: 100}, {coinName: "ETH", price: 2000}, {coinName: "ETC", price: 500}]
    for (var i = 0 ; i < arr.length ; i++) {
        Log(arr[i])
    }
}

img

L'instant d'apprentissage est-il une sensation de motivation? En fait, sur FMZ, il est possible de lire des tutoriels JavaScript et d'apprendre manuellement les bases de JavaScript sur le système de retouche. La grammaire JavaScript est pratiquement maîtrisée, pour passer à la prochaine étape, il est nécessaire d'utiliser réellement l'interface d'échange pour obtenir des données.Outils de débogageNous avons testé les interfaces réelles.

Ensuite, il y a la réflexion, le tri contre trois, le test, la vérification, l'analyse comparative, etc. Cela permet d'apprendre très rapidement.


Relationnée

Plus de

le lièvreFélicitations