0
Suivre
72
Abonnés

L'inventeur de la transaction quantifiée - de la base à la guerre

Créé le: 2019-06-25 15:48:58, Mis à jour le: 2023-10-31 21:01:08
comments   2
hits   11496

ommande en cours de commande Par exemple: exchange.SetDirection ((“buy”); // définit le type de commande suivante pour la position de vente exchange.SetDirection (((“closebuy”); // définit le type de commande suivant comme une vente de positions à plus bas prix exchange.SetDirection ((“sell”); // définit le type d’ordre suivant pour vendre une position ouverte exchange.SetDirection ((“closesell”); // définit le type de commande suivante pour acheter une position vide

Le journal de log est un message de sortie Exemple:Log ((hello, worle); // Exporter le mot hello world dans le journal

Le bouton de veille a suspendu le programme pendant un certain temps. Exemple:Sleep(1000); // suspend le programme pendant une seconde

Peut-être que certains de nos petits amis se demandent comment se souvenir de toutes ces API. En fait, vous n’avez pas besoin de les mémoriser, l’inventeur de Quantum a une documentation complète de l’API. Comme le dictionnaire de recherche, lorsque vous l’utilisez, vous avez besoin d’une recherche directe.

Résumé

Voici les API les plus utilisées dans le trading quantitatif, qui comprennent essentiellement: l’acquisition de données, le calcul de données, l’achat et la vente d’ordres, suffisant pour gérer une stratégie de trading quantitatif simple, bien sûr, si vous voulez écrire une stratégie plus complexe, vous devez aller sur le site officiel de l’inventeur de l’outil quantitatif pour l’obtenir.

Les devoirs après le cours

1, essayez d’écrire une phrase de Mac sur une ligne moyenne de 5 cycles sur une ligne moyenne de 10 cycles. 2/ Essayez d’obtenir les informations de votre compte avec GetAccount en JavaScript et d’imprimer le journal avec Log.

Avant-première

La programmation est comme assembler un Lego, l’API est comme les pièces d’un Lego, et le processus de programmation consiste à assembler les pièces d’un Lego en un jouet complet. Dans la section suivante, je vais vous guider dans l’utilisation de l’API de Mac pour assembler une stratégie de transaction quantifiée complète.

2.4 Comment écrire des stratégies sur le système de quantification des inventeurs

Résumé

Après avoir étudié les sections précédentes, vous pouvez enfin écrire une stratégie de trading quantitatif. Ce sera l’étape la plus importante pour passer du trading manuel au trading quantitatif. En fait, ce n’est pas si mystérieux, l’écriture d’une stratégie consiste à transformer votre idée en code.

Prêt

Tout d’abord, ouvrez le site officiel de l’outil de quantification du développeur, cliquez sur le bouton de stratégie de démarrage, puis sur le bouton de création de stratégie. Avant de commencer à écrire du code, vous devez sélectionner Mac ou JavaScript dans le menu déroulant du langage de programmation. Bien sûr, la plate-forme prend également en charge Python, C ++ et les langages de visualisation.

Idées stratégiques

Dans les chapitres précédents, nous avons présenté une stratégie de rupture de la ligne moyenne des prix. C’est-à-dire: si le prix est supérieur à la moyenne des 10 derniers jours, on achète, si le prix est inférieur à la moyenne des 10 derniers jours, on vend.

Tout d’abord, choisissez une moyenne périodique plus grande pour déterminer la direction de la tendance, qui a au moins filtré près de la moitié des faux signaux de rupture, la moyenne périodique plus grande est lente, mais elle sera plus stable; puis, pour augmenter à nouveau le taux de réussite de l’entrée, ajoutez une condition, la moyenne périodique plus grande est au moins vers le haut; enfin, utilisez le prix, la moyenne à court terme et la moyenne à long terme pour former une stratégie de négociation complète.

La logique stratégique

Avec les idées et les idées stratégiques ci-dessus, nous pouvons essayer de construire une logique stratégique. La logique ici n’est pas pour vous faire calculer les lois du fonctionnement des corps célestes, elle n’est pas si compliquée. Il suffit de mettre en mots les idées stratégiques précédentes.

Plusieurs positions ouvertes: si aucune position n’est actuellement occupée et que le cours de clôture est supérieur à la moyenne à court terme, et que le cours de clôture est supérieur à la moyenne à long terme, et que la moyenne à court terme est supérieure à la moyenne à long terme, et que la moyenne à long terme est à la hausse.

Ouvrir une position à vide: si aucune position n’est actuellement occupée et que le cours de clôture est inférieur à la moyenne à court terme, et que le cours de clôture est inférieur à la moyenne à long terme, et que la moyenne à court terme est inférieure à la moyenne à long terme, et que la moyenne à long terme est en baisse.

Plafonnement à plusieurs têtes: Si vous avez actuellement plus d’une option et que le prix de clôture est inférieur à la moyenne à long terme, ou à la moyenne à court terme inférieure à la moyenne à long terme, ou si la moyenne à long terme est en baisse.

La position est vide.: Si vous avez des billets en cours et que le prix de clôture est supérieur à la moyenne à long terme, ou à la moyenne à court terme supérieure à la moyenne à long terme, ou si la moyenne à long terme est en hausse.

C’est la partie logique de la stratégie de trading quantitatif, et si nous transcrivons la logique de la stratégie en code, elle comprend les trois étapes suivantes: saisir les tendances, calculer les indicateurs, commander et acheter.

Stratégie en langue mac

La première chose à faire est d’obtenir la tendance, dans cette stratégie de trading quantitatif, nous avons seulement besoin d’obtenir le prix d’achat, alors dans le langage Mac, l’API pour obtenir le prix d’achat est: CLOSE, c’est-à-dire que vous n’avez qu’à prendre le code, écrire CLOSE et vous avez déjà obtenu le prix d’achat de la dernière ligne K.

Et puis nous avons calculé les indices, et dans cette stratégie de trading quantitatif, nous avons utilisé deux techniques: la moyenne à court terme et la moyenne à long terme, et nous supposons que la moyenne à court terme est la moyenne à 10 cycles, et la moyenne à long terme est la moyenne à 50 cycles. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 2-11 Code stratégique du langage Mac

Dans le trading manuel, nous pouvons voir à un coup d’œil si la moyenne à 50 cycles est en hausse ou en baisse, mais comment la codons-nous ? Réfléchissez bien et jugez si la moyenne à 50 cycles de la ligne K est supérieure à la moyenne à 50 cycles de la ligne K supérieure. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 2-12 Code de la ligne de mesure de la langue mac

Notez que les lignes 8 et 9 de la figure ci-dessus, le code en rouge, signifient que la valeur est plus grande que la moyenne des 50 cycles de la ligne K de la racine supérieure, et que la moyenne des 50 cycles de la ligne K de la racine supérieure est plus grande que la moyenne des 50 cycles de la ligne K de la racine supérieure, alors la valeur est calculée comme étant plus grande que la moyenne des 50 cycles de la ligne K de la racine supérieure. Sinon, la valeur est calculée comme étant plus petite que la moyenne des 50 cycles de la ligne K de la racine supérieure.

La dernière étape est l’achat et la vente de commandes. Il suffit d’appeler l’API de commande de l’outil de quantification de l’inventeur pour effectuer l’opération d’achat et de vente derrière le code logique d’achat et de vente. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 2-13 Codes de négociation en langue mac

Notez que les lignes 13 et 14 du graphique ci-dessus, le code rouge orange OR, signifient ou dans la langue mac. Par exemple, la ligne 13 est traduite en chinois comme suit: si le cours de clôture de la ligne K actuelle est inférieur à la moyenne des 50 cycles de la ligne K actuelle, ou si la moyenne des 10 cycles de la ligne K actuelle est inférieure à la moyenne des 50 cycles de la ligne K actuelle, calculez la valeur comme ou et commandez immédiatement; sinon, calculez comme ou et ne faites rien.

Attention: les caractères AND et OR sont des opérateurs logiques dans le langage Mac: C’est le cas lorsque toutes les conditions sont vraies et que la condition finale est vraie. L’état est le cas de l’ensemble des conditions, et si l’une d’entre elles est l’état de l’état, la condition finale est l’état de l’état.

Résumé

Il s’agit de l’ensemble du processus de création d’une stratégie de trading en langage Mac sur un outil de quantification de l’inventeur, en trois étapes au total: d’une idée de stratégie, à la conception de la stratégie et à la description de la logique par des mots, et enfin à la mise en œuvre d’une stratégie de trading complète en code. Bien qu’il s’agisse d’une stratégie simple, le processus de mise en œuvre spécifique est très différent de celui des stratégies complexes, mais les algorithmes et la structure des données de la stratégie sont différents.

Les devoirs après le cours

  1. essayez de mettre en œuvre les stratégies de cette section. 2/ Ajout de la fonction Stop Loss sur la base de la stratégie de cette section.

Avant-première

Dans le développement de stratégies de trading quantique, les langages de programmation sont comme des armes, un bon langage de programmation peut vous aider à faire plus que la moitié de votre travail. Par exemple, le Python, C ++, Java, C #, EasyLanguage, Mac, etc., les plus courants dans le monde du trading quantique.

Chapitre 3: Stratégies de négociation dans un langage de programmation simple

3.1 Évaluation horizontale du langage de programmation pour les transactions quantifiées

Résumé

Dans les chapitres 1 et 2, nous avons appris les bases de la négociation quantique et les méthodes d’utilisation des outils quantiques des inventeurs. Dans ce chapitre, nous allons concrètement mettre en œuvre la stratégie de négociation.

Quels sont les langages de programmation ?

Avant d’apprendre un langage de programmation, il faut d’abord comprendre le concept de langage de programmation. Un langage de programmation est un langage compréhensible par les humains et les ordinateurs.

Tout comme les parents nous apprennent à parler et à comprendre ce que les autres disent quand nous sommes petits. Après de longues années d’apprentissage et d’auto-apprentissage, nous apprenons à parler et à comprendre ce que les autres enfants disent. Il existe de nombreuses langues, dont le chinois, l’anglais, le français, etc. Chinois: Salut le monde Anglais: Hello World En français: Bonjour tout le monde

Si vous utilisez un langage de programmation pour afficher “Bonjour, monde” sur un écran d’ordinateur, c’est comme ceci: Le mot “Hello World” a été traduit par “Bonjour le monde” dans le langage C. Il est également possible de télécharger des vidéos en utilisant le langage Java: System.out.println (“Bonjour au monde”); Python:print (“Bonjour dans le monde”) On voit que les langages informatiques ont leurs propres règles spécifiques, et il y en a beaucoup d’autres, et ces règles linguistiques sont les classifications de langages de programmation que nous devons vous expliquer aujourd’hui, dans chaque classification, nous n’avons qu’à nous souvenir des règles les plus basiques et les plus courantes, pour pouvoir utiliser ces langages de programmation et les ordinateurs pour communiquer et faire fonctionner les ordinateurs selon nos instructions.

Classification des langages de programmation

Afin de vous aider à comparer et à choisir le langage de programmation de trading quantitatif qui vous convient le mieux, nous avons classé les six langages de programmation les plus couramment utilisés: Python, Matlab/R, C++, Java/C#, EasyLanguage et Visual Language (voir ci-dessous). L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-1 Évaluation des langages de programmation

Nous les notons en fonction de leur portée, de leur vitesse de fonctionnement, de leur extensibilité et de leur difficulté à apprendre. Une note comprise entre 1 et 5, par exemple, dans la gamme de fonctionnalités, signifie une fonctionnalité puissante, 1 point signifie moins de fonctionnalités.

Mais pour chaque langage de programmation, l’évaluation est principalement destinée aux applications dans le domaine de la transaction quantique et a une composante subjective personnelle. Vous êtes également invités à applaudir dans les commentaires suivants ou à faire part de vos points de vue.

Langue de visualisation

La programmation visuelle n’est pas une nouveauté, elle existe depuis longtemps déjà. L’idée de la programmation visuelle est que, avec des modules de contrôle, il est possible de construire la logique du code et de concevoir la stratégie de négociation en le faisant glisser, comme pour la construction de blocs. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-2 Interfaces visuelles pour les langages de programmation

Comme illustré ci-dessus, le même programme ne nécessite que quelques lignes de code dans la programmation visuelle de la plate-forme de trading quantitatif de l’inventeur. Cela réduit considérablement le seuil de programmation, en particulier pour les traders qui ne connaissent pas du tout la programmation, ce qui est une expérience d’utilisation formidable.

La mise en œuvre de la stratégie sous-jacente du langage de visualisation étant transférée en C++, la vitesse de fonctionnement du programme n’est pas affectée. Cependant, la fonctionnalité et l’évolutivité sont faibles et ne permettent pas de développer des stratégies de transaction trop complexes et trop sophistiquées.

Langue EasyLanguage

Le langage EasyLanguage est un langage de programmation unique à certains logiciels de trading quantifié commercialisés. Bien que ces langages aient des caractéristiques orientées objet, ils sont principalement utilisés sous forme de scripts.

Ce langage de script est sans problème pour faire des retours de stratégie et des exécutions dans son logiciel spécifique, mais il est souvent limité en termes d’extension, par exemple, les développeurs de stratégies ne peuvent pas appeler des API externes. Et en termes de vitesse de fonctionnement, ce langage de script fonctionne sur sa propre machine virtuelle, moins optimisée pour les performances que Java/C#, et plus lente.

Python

Sur Stackoverflow, l’accès aux langages de programmation traditionnels n’a pas beaucoup changé ces dernières années, sauf que Python est une tendance à la hausse. Python peut être utilisé pour le développement de sites Web, l’apprentissage automatique, l’apprentissage en profondeur, l’analyse de données, etc. Python est devenu le langage le plus utilisé en raison de sa flexibilité et de son ouverture.

La liste et le dictionnaire des structures de données de base de Python sont très puissants et peuvent essentiellement répondre aux besoins de la représentation des données. Si vous avez besoin d’une structure de données plus rapide et plus complète, il est recommandé d’utiliser NumPy et SciPy, deux bibliothèques qui sont essentiellement des bibliothèques standard pour le calcul scientifique Python.

Pour l’ingénierie financière, une bibliothèque plus ciblée est Pandas, avec deux structures de données, Série et DataFrame, parfaitement adaptée pour le traitement de séquences chronologiques.

En termes de vitesse, Python se situe dans la position du milieu, un peu plus lent que C++ et un peu plus rapide que le langage EasyLanguage, principalement parce que Python est un langage dynamique, dont la vitesse est généralement la vitesse de fonctionnement en langage Python pur. Cependant, Cython peut être utilisé pour optimiser certaines fonctionnalités de manière statique, ce qui peut approcher la vitesse de C++ [2].

En tant que langage de plongée, Python est le premier en termes de performances d’extension, en plus d’être largement interfacé avec d’autres langues, et la conception de l’API d’extension est très facile à utiliser. En termes de difficulté d’apprentissage, la grammaire de Python est simple, le code est lisible et facile à utiliser.

Matlab/R

Les langues Matlab et R, qui sont principalement axées sur l’analyse de données, ont été conçues par des auteurs de langues pour les opérations scientifiques. Elles sont caractérisées par leur support inné pour les opérations de transaction quantifiées.

De plus, leur vitesse de fonctionnement et leur capacité d’extension sont relativement médiocres, car les langages Matlab et R fonctionnent sur des machines virtuelles de langage exclusif. En termes de performances, leurs machines virtuelles sont bien moins performantes que celles de Java et C#. Cependant, leur grammaire étant plus proche des formules mathématiques, elles sont relativement faciles à apprendre.

C++

C++ est un langage de programmation universel qui prend en charge plusieurs modes de programmation, tels que la programmation procédurale, l’abstraction de données, la programmation orientée objet, la programmation générique et les modes de conception. Le langage C++ permet de réaliser toutes les fonctions que vous souhaitez réaliser, mais le plus grand inconvénient d’un langage aussi puissant est qu’il est très difficile à apprendre, comme les modèles, les pointers, les fuites de mémoire, etc.

Actuellement, C++ reste le langage de programmation de choix pour les transactions de grande capacité et de haute fréquence, pour la simple raison que les caractéristiques du langage C++ sont plus proches de la base de l’ordinateur et sont les outils les plus efficaces pour développer des systèmes de suivi et d’exécution de haute performance qui traitent de grandes quantités de données.

Java/C

Java/C# sont des langages statiques qui s’exécutent sur des machines virtuelles. Comparé à C++, il n’y a pas de dépassement d’arithmétique, pas de coredump, le positionnement précis de l’exception de la puissance de lancement à l’emplacement du code défectueux, un mécanisme de récupération automatique de la corbeille, sans crainte de fuite de mémoire, etc. Donc, en termes de difficulté d’apprentissage de la grammaire, ils sont plus faciles que C++. En termes de vitesse de fonctionnement, leur métropole virtuelle est la seule à être plus rapide que C++, car la fonction JIT est compilée en cours de fonctionnement.

Mais en termes de fonctionnalités, il n’est pas possible d’optimiser le système de base de la transaction comme en C++. En termes de performances d’extension, il est plus faible par rapport à C++, car leurs extensions doivent passer par le pont de C, alors que les deux langages fonctionnent sur des machines virtuelles, il faut donc traverser un mur supplémentaire pour étendre les modules de fonctionnalités.

Résumé

Cependant, à mon avis, les langages de programmation quantifiés ne sont pas importants, ce qui compte, c’est l’idée. Il n’y a aucun problème avec le langage de Mac quantifié par l’inventeur et le langage de visualisation comme porte-clés de l’entrée quantifiée.

Vous concevez votre stratégie, vous négociez vos idées. De ce point de vue, le cœur de la négociation quantitative est toujours l’idée de la négociation. En tant que négociant quantitatif, non seulement vous devez maîtriser la grammaire et les fonctions de base de la plate-forme de rédaction de la stratégie, mais vous devez également expérimenter les idées de négociation dans le monde réel.

Les devoirs après le cours

  1. Quels sont les avantages du langage Python en tant que transaction quantifiée ? 2/ Essayez d’écrire quelques API couramment utilisées dans le langage de la Mac de l’inventeur.

Avant-première

Si vous avez une idée précise de ce que vous devez faire après avoir lu ce qui précède sur les langages de programmation, dans les prochains chapitres, nous allons développer des stratégies de trading quantitatif ciblées en fonction de la classification des langages de programmation.

3.2 Accès rapide à la langue mac

Résumé

Qu’est-ce qu’un langage Mac ? Un langage Mac est un ensemble de fonctions programmatiques qui s’étend sur les premiers indices techniques de stock. En emballant l’algorithme dans une seule fonction, l’utilisateur n’a besoin que d’appeler une fonction de ligne, comme un bloc de construction, pour réaliser la logique stratégique.

Il utilise le modèle de construction “ petite grammaire, grande fonction “, ce qui améliore considérablement l’efficacité de l’écriture, la stratégie de plus de 100 phrases dans d’autres langues, en général 10 phrases peuvent être écrites en Mac. La base de données et la structure de données de statistiques financières, qui fonctionnent avec les outils de quantification de l’inventeur, peuvent également prendre en charge une logique de transaction partiellement complexe.

La stratégie complète

Pour vous aider à comprendre rapidement les points clés de cette section, avant de vous présenter l’introduction rapide du langage de Mac quantifié par l’inventeur, il est préférable de vous familiariser avec le concept de nom de cette section. Nous avons également utilisé la moyenne à long terme de 50 jours et la moyenne à court terme de 10 jours comme cas de base, pour revenir à l’exemple de stratégie complet mentionné dans le chapitre précédent:

Plusieurs positions ouvertes: si aucune position n’est actuellement occupée et que le cours de clôture est supérieur à la moyenne à court terme, et que le cours de clôture est supérieur à la moyenne à long terme, et que la moyenne à court terme est supérieure à la moyenne à long terme, et que la moyenne à long terme est à la hausse.

Ouvrir une position à vide: si aucune position n’est actuellement occupée et que le cours de clôture est inférieur à la moyenne à court terme, et que le cours de clôture est inférieur à la moyenne à long terme, et que la moyenne à court terme est inférieure à la moyenne à long terme, et que la moyenne à long terme est en baisse.

Plafonnement à plusieurs têtes: Si vous avez actuellement plus d’une option et que le prix de clôture est inférieur à la moyenne à long terme, ou à la moyenne à court terme inférieure à la moyenne à long terme, ou si la moyenne à long terme est en baisse.

La position est vide.: Si vous avez des billets en cours et que le prix de clôture est supérieur à la moyenne à long terme, ou à la moyenne à court terme supérieure à la moyenne à long terme, ou si la moyenne à long terme est en hausse.

Si c’était écrit en Mac, cela ressemblerait à ceci: L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-3 Exemple de langage Mac intégré

Pour écrire une stratégie de trading quantitative complète, il faut généralement plusieurs étapes: l’acquisition de données, le calcul de données, le calcul logique, les achats et les ventes à la suite. Comme le montre la figure ci-dessus, dans tout le code, une seule API est utilisée pour l’acquisition des données de base, à savoir les colonnes CLOSE des lignes 1 et 2; puis les lignes 1 à 9 sont la partie calcul des données; et les dernières lignes 11 à 14 sont le calcul logique et la section suivante.

Notez que le code en violet est une variable; dans les lignes 1 à 9, le code vert est = est un attribut, qui est attribué à la variable de gauche après que les données de la droite de l’attribut ont été calculées; le code orange est l’API, par exemple, dans la première ligne, l’appel MA ((la ligne d’équilibre) nécessite la transmission de deux paramètres, que vous pouvez comprendre comme un paramètre, c’est-à-dire que lorsque vous appelez MA, vous devez définir le type de MA; le code rouge est l’argument AND, l’argument OR, l’argument logique, principalement utilisé pour connecter plusieurs calculs logiques, etc.

Données de base

Les données de base (le prix d’ouverture, le prix le plus élevé, le prix le plus bas, le prix de clôture, le volume de transaction) font partie intégrante de la négociation quantitative. Pour obtenir les données de base les plus récentes dans la stratégie, il suffit d’appeler l’API de l’outil de quantification de l’inventeur. Si vous souhaitez obtenir des données de base historiques, vous pouvez utiliser le REF, par exemple: REF ((CLOSE, 1)), qui est le prix de clôture d’hier.

Les variables

Les variables sont des nombres variables, les noms de variables peuvent être interprétés comme des codes, leur nommage prend en charge les noms en caractères chinois, alphabétiques, numériques et soulignés, mais la longueur doit être limitée à 31 caractères. Les noms de variables ne peuvent pas se répéter les uns les autres, ne peuvent pas se répéter avec les noms de paramètres, ne peuvent pas se répéter avec les noms de fonctions (API), et chaque phrase doit se terminer par une virgule. Si vous souhaitez ajouter vos propres remarques linguistiques à la fin de la compilation, utilisez le signe / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-4 Types de données pour le langage Mac

Attribuer une valeur à une variable

L’attribution d’une variable est l’attribution de la valeur de l’attributeur de droite à la variable de gauche. Il existe quatre types d’attributeurs qui permettent de contrôler l’affichage de la valeur sur le graphique et de définir l’emplacement de l’affichage. Les caractères verts de l’image ci-dessous sont des attributs, respectivement: : , : = , ^^ , .. , la section de commentaires du code de l’image explique leur signification en détail. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-5 Attribution de variables dans le langage Mac

Type de données

Dans le langage Mac, il existe plusieurs types de données, les plus couramment utilisés étant le type numérique, le type de chaîne de caractères et le type Boolean. Les types numériques sont les nombres, y compris les nombres entiers, les nombres décimaux, les nombres positifs et négatifs, tels que: 1, 2, 3, 1.1234, 2.23456 …; les types de chaîne de caractères peuvent être interprétés comme des mots, les chiffres en chinois et en anglais peuvent être des chaînes, tels que: “Quantitative de l’inventeur”, “CLOSEPRICE” et “6000”, les types de chaîne de caractères doivent être emballés avec des chiffres en anglais; le type Boolean est le plus simple, il ne contient que 2 valeurs pour les valeurs “true” et “false”, par exemple: 1 pour les valeurs “true” et “false”.

Opérateur relationnel

L’opérateur relationnel, nommé ainsi, est un opérateur de relation entre deux valeurs. Il est défini comme étant égal, supérieur, inférieur, supérieur, égal, inférieur et non égal, comme le montre le tableau suivant: L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-6 Opérateur de langage Mac

Opérateur logique

Les opérations logiques permettent de relier des énoncés de type Boole individuels en un tout, les plus couramment utilisés étant les énoncés de type AND () et OR () ou). En supposant deux valeurs de type Boole, soit le prix d’achat plus élevé que le prix d’ouverture () et le prix d’achat plus élevé que le prix d’achat moyen (), nous pouvons les regrouper en une valeur de Boole, par exemple: le prix d’achat plus élevé que le prix d’ouverture () et le prix d’achat plus élevé que le prix d’achat moyen (), le prix d’achat plus élevé que le prix d’ouverture () ou le prix d’achat plus élevé que le prix d’achat moyen (). L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-7 Calcul logique du langage Mac

Attention à tous: C’est le cas lorsque toutes les conditions sont vraies et que la condition finale est vraie. L’état est le cas de l’ensemble des conditions, et si l’une d’entre elles est l’état de l’état, la condition finale est l’état de l’état. On peut écrire AND comme &&, et OR comme gadgadgadgadgadgadgad.

Opérateur arithmétique

Les opérateurs mathématiques courants du langage Mac sont:*Il n’y a pas de différence entre les cours de mathématiques en anglais et les cours de mathématiques en primaire, comme le montre le tableau suivant: L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-8 Calculs mathématiques en langage Mac

Les priorités

Si vous avez une centaine*L’expression (10-1) / ((10+5)), quelle est la première étape que le programme calcule ? Les mathématiques de l’école secondaire nous apprennent: 1 Si c’est une opération du même niveau, elle est généralement calculée de gauche à droite. 2 Si vous avez à la fois une addition et une multiplication, vous devez d’abord calculer la multiplication et la division, puis la addition et la soustraction. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-9 Priorité de calcul de l’algorithme du langage Mac

Mode de réalisation

Dans le langage Mac de l’outil de quantification de l’inventeur, les stratégies de programmation exécutent un total de 2 modes, à savoir: le mode de prix de clôture et le mode de prix en temps réel. Le mode de prix de clôture signifie que le signal de ligne K actuel est établi et que la transaction de commande est immédiatement exécutée au début de la ligne K suivante.

Stratégie de la journée

Si c’est une stratégie intra-journée, lorsque la trappe nécessite un placement à zéro, il faut utiliser la fonction de temps à zéro TIME. Cette fonction est affichée sous la forme de quatre chiffres au-dessus du cycle de la seconde et au-dessous du cycle du jour, à savoir: HHMM ((1450 14:50 minutes). Remarque: l’utilisation de la fonction TIME comme condition de la position à zéro, il est recommandé d’ouvrir la position avec une limite de temps correspondante. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-10 Fonction temporelle du langage mac

Classification des modèles

L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-11 Classification des modèles de langage de Mac

Il existe deux types de modèles en Mac: les modèles non filtrants et les modèles filtrants. En fait, il est bien compris que les modèles non filtrants permettent l’apparition d’un signal d’ouverture ou d’un signal d’approvisionnement continu, ce qui permet d’ajouter ou de retirer du stock. Les modèles filtrants ne permettent pas l’apparition d’un signal d’ouverture ou d’approvisionnement continu, c’est-à-dire qu’après l’apparition d’un signal d’ouverture, les signaux d’ouverture ultérieurs sont filtrés jusqu’à ce qu’un signal d’approvisionnement soit affiché.

Résumé

Si vous avez besoin d’écrire des stratégies plus complexes, vous pouvez vous référer à la documentation de l’outil de quantification de l’inventeur, l’API de la langue Mac, ou consulter directement la stratégie de quantification de la clientèle officielle.

Avant-première

Le day trading est aussi un mode de trading qui ne laisse pas de positions pour la nuit, donc le risque de volatilité du marché est faible, et il est possible de faire des ajustements en temps opportun en cas de situation défavorable. Après avoir appris l’introduction du langage de Mac dans cette section, nous allons vous aider à élaborer une stratégie de trading quantitative et viable dans la journée.

Les devoirs après le cours

1, essayez d’écrire une API de base de données en Mac avec les outils de quantification de l’inventeur. 2. Quelles sont les différentes manières dont les valeurs des variables sont affichées dans un graphique ?

3.3 Comment mettre en œuvre des stratégies dans le langage Mac

Résumé

Dans notre précédent article, nous avons expliqué les prérequis pour la mise en œuvre d’une stratégie de trading en termes de présentation du langage Mac, de grammaire de base, d’exécution du modèle, de classification du modèle, etc. Dans cet article, nous continuerons à vous aider à mettre en œuvre une stratégie de trading quantifiée viable en une journée à partir de modules de stratégie courants et d’indicateurs techniques.

Module de stratégie

Réfléchissez à la façon dont vous construisez un robot à partir de morceaux de Lego. Vous ne pouvez pas le construire d’en haut en bas ou d’en bas en haut, un morceau à un autre.

Hausse par étapes

La hausse de phase est le pourcentage de la différence entre le prix de clôture de la ligne K actuelle et le prix de clôture des N cycles précédents. Par exemple, pour calculer la hausse de phase des 10 dernières lignes K, le code peut être écrit: L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-12 Augmentation du taux de langue mac

Une nouvelle génération

La hauteur de réinvention est le prix le plus élevé calculé pour savoir si la racine de K est supérieure à N cycles. Par exemple, calculer si la racine de K est supérieure au prix le plus élevé des 10 dernières lignes de K peut être écrit en code: L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-13 La langue mac est à la pointe de l’innovation

Attaque de plus en plus forte

L’augmentation de la quantité peut être interprétée comme une hausse des prix et une augmentation des transactions. Par exemple, si le prix de clôture de la ligne K actuelle est 1,5 fois supérieur au prix de clôture de la ligne K précédente, soit 50% en 10 jours; le volume de transactions est supérieur à 5 fois la moyenne des 10 dernières lignes K. On peut écrire en code: L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-14 Attaque sur le niveau de langue mac

Résumé détaillé

Un ajustement à la courbe étroite désigne une période où le prix se maintient dans une certaine largeur. Par exemple, si la différence entre le prix le plus élevé sur 10 périodes et le prix le plus bas sur 10 périodes, divisé par le prix de clôture de la racine K, est inférieure à environ 0,05. Le code peut être écrit comme suit: L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-15 Résumé de la langue mac

Arrayage homogène

Les lignes K sont les lignes de support en dessous de la ligne de support 5x10x20x30x60 et les lignes de support en dessous de la ligne de support en dessous de la ligne de support. Les lignes de support en dessous de la ligne de support sont les lignes de support en haut. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-16 Arrayage homogène multicouche de la langue mac

Les hauts sommets et leur emplacement

Pour obtenir le sommet de la période précédente, et l’emplacement de ce sommet, il est possible d’accéder directement à l’API de l’outil de quantification de l’inventeur. Le code peut être écrit comme suit: L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-17 Hauts de la langue mac

Le saut à l’élastique

L’espace de saut est la situation où le plus bas des deux lignes K se produit sans fusion, composé de deux lignes K. L’espace de saut est le prix de référence des points de support et de pression à l’avenir. Lorsqu’un espace de saut apparaît, on peut supposer qu’une accélération de la tendance dans la direction du saut a commencé. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-18 La langue mac a sauté dans l’ouverture

Indicateurs techniques couramment utilisés

Moyenne mobile

L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-19 Une moyenne mobile

D’un point de vue statistique, la ligne moyenne est la moyenne arithmétique des prix quotidiens, c’est une trajectoire de prix avec une tendance. Le système de ligne moyenne est un outil technique couramment utilisé par la plupart des analystes. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-20 Calcul des différents indicateurs de la langue mac

Le canal BOLL

L’inventeur de la transaction quantifiée - de la base à la guerre Carte de la route du BOLL

Le BOLL, également connu sous le nom d’indicateur de la bande de Brin, utilise également les principes de la statistique, en calculant d’abord la moyenne en fonction de la moyenne mobile sur N jours, puis en fonction de l’écart-type, en calculant la montée et la descente. Lorsque le canal BOLL est élargi par la largeur, cela indique que le prix revient progressivement à la moyenne.

Parmi tous les indicateurs techniques, la méthode de calcul du BOLL est l’une des plus complexes, qui introduit le concept d’écart-type dans la statistique et implique le calcul de la moyenne orbitale (MB), de la haute orbite (UP) et de la basse orbite (DN). Sa méthode de calcul est la suivante: L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-22 Calcul de la bande de Bryn sur le langage Mac

Indicateur MACD

L’inventeur de la transaction quantifiée - de la base à la guerre Les indicateurs MACD sont représentés dans la figure 3-23.

L’indicateur MACD est un indicateur d’analyses techniques utilisées pour évaluer les opportunités d’achat et de vente d’actions et pour prédire les fluctuations et les baisses des cours d’actions. La méthode de calcul est la suivante:

L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-24 Indicateur MACD de la langue mac

Ce sont les modules de stratégie les plus couramment utilisés dans le développement de stratégies de trading quantitatif, bien sûr, en fait beaucoup plus que cela, avec les exemples de modules ci-dessus, vous pouvez également mettre en œuvre plusieurs modules de trading que vous utilisez le plus souvent dans le trading subjectif, la méthode est universelle. Ensuite, nous commençons à écrire une stratégie de trading quantitatif viable dans la journée.

Rédaction de stratégie

Dans le marché des devises en temps réel, une stratégie de négociation de rupture, la stratégie HANS123, a été largement diffusée. Elle utilisait la rupture de la ligne K de la racine N après l’ouverture de la courbe comme critère de jugement pour déclencher le signal de négociation. C’est également un modèle de négociation d’entrée plus tôt.

La logique stratégique

Les joueurs doivent être prêts à entrer dans la salle 30 minutes après le début de la partie. La hauteur de la piste = 30 minutes après le début de la course; La piste inférieure est le point le plus bas 30 minutes après le début de la course. Il y a des gens qui ne sont pas d’accord avec le fait que les prix soient élevés, et qui ne sont pas d’accord avec le fait que les prix soient élevés. Le prix de l’or a chuté de façon spectaculaire, et les investisseurs ont décidé de vendre leur position. La stratégie de négociation sur la journée, la liquidation avant la clôture;

Code de stratégie

L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-25 Code stratégique du langage Mac

Résumé

Nous avons appris les concepts des modules stratégiques ci-dessus, ainsi que les méthodes de programmation des outils de quantification de l’inventeur grâce à quelques exemples de modules stratégiques couramment utilisés. Nous pouvons dire que l’apprentissage de la programmation des modules stratégiques et l’amélioration de la logique de programmation sont des étapes clés pour progresser dans le trading quantifié.

Avant-première

Il y a peut-être des petits amis qui sont confus, qui ne comprennent pas le code. Ne vous inquiétez pas, nous avons déjà pensé à tout cela pour vous, dans les outils de quantification des inventeurs, il y a aussi un langage de programmation plus adapté aux utilisateurs plus petits et plus expérimentés, c’est la programmation visuelle, comme son nom l’indique, ce que vous voyez est ce que vous obtenez, attendez-vous!

Les devoirs après le cours

  1. essayez de mettre en œuvre les modules de trading que vous utilisez le plus souvent dans votre trading subjectif.
  2. Essayez d’implémenter l’algorithme de notation KDJ dans le langage Mac de l’outil de quantification de l’inventeur.

3.4 Une introduction rapide à la programmation visuelle

Résumé

Beaucoup de traders subjectifs s’intéressent au trading quantitatif, commencent avec confiance, et après avoir appris la grammaire de base, le calcul des données, la structure des données, le contrôle logique, etc. des langages de programmation traditionnels, après avoir vu le code long et complexe, ils se détournent souvent, ou s’arrêtent un peu, alors les langages de programmation visuels peuvent être plus appropriés pour vous aider.

La stratégie complète

Afin de vous aider à comprendre rapidement les points clés de cette section, avant de vous donner un aperçu des inventeurs du langage de programmation de visualisation quantifiée, vous devez d’abord voir ce que sont les stratégies écrites dans le langage de visualisation et avoir une idée préliminaire du concept de nomenclature de cette section. Nous faisons plus avec le prix de clôture le plus simple supérieur à la moyenne de 50 cycles, à l’inverse, le prix de clôture est inférieur à la moyenne de 50 cycles.

Plusieurs positions ouvertes: Si aucune position n’est actuellement ouverte et que le prix de clôture est supérieur à la moyenne périodique de 50 Ouvrir une position à vide: Si aucune position n’est actuellement occupée et que le prix de clôture est inférieur à la moyenne cyclique de 50 Plafonnement à plusieurs têtes: Si vous avez plus d’une option en cours et que le prix de clôture est inférieur à la moyenne cyclique de 50 La position est vide.: Si vous possédez actuellement un billet d’avion et que le prix de clôture est supérieur à la moyenne périodique de 50

Si vous utilisez un langage visuel, la stratégie ci-dessus ressemble à ceci (voir ci-dessous): L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3 à 26 Interface visuelle de la langue

Comme le montre la figure ci-dessus, le processus de conception de la stratégie est le suivant: définir la variété de tendance, obtenir l’arbre K, obtenir la moyenne des 50 cycles de la racine supérieure de la ligne K, obtenir le prix de clôture de la racine supérieure de la ligne K, obtenir l’arbre de détention, juger de l’état de la position, déterminer si le prix de clôture est supérieur ou inférieur à la moyenne, ouvrir ou fermer position.

L’array est une structure de données importante pour chaque langage de programmation. L’array est comme un conteneur dans lequel une série de valeurs peut être stockée. Par exemple, si vous appelez l’API qui récupère l’array de lignes K, elle renvoie: L’inventeur de la transaction quantifiée - de la base à la guerre Arrayes de lignes K

Le code de l’image ci-dessus est un ensemble de lignes K, composé de 3 données, respectivement celles de la ligne K supérieure et inférieure, celles de la ligne K supérieure et inférieure, et celles de la ligne K fondamentale. Si nous attribuons cette série à une variable, arr, si nous voulons obtenir cette série, la dernière donnée (les données de la ligne K fondamentale) peut être écrite comme suit (lignes 4 et 5 de l’image ci-dessous): L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3-28 Références de groupe

On utilise directement la deuxième méthode (ligne 5), car il y a des centaines de racines de données de la ligne K dans la réalité, et de nouvelles lignes de K sont constamment ajoutées. Donc, on peut d’abord obtenir la longueur de l’arrêté, arr.length signifie obtenir la longueur de l’arrêté, puis enlever 1, c’est-à-dire les données de la ligne K la plus récente.

Si vous êtes attentif, vous constaterez que ces données sont regroupées par des valeurs de couverture, comme le nom anglais l’indique: temps, prix d’ouverture, prix le plus élevé, prix le plus bas, prix de clôture et volume. Si vous voulez obtenir le prix de clôture de la racine K, ajoutez la couverture directement derrière. L’inventeur de la transaction quantifiée - de la base à la guerre Figure 3 à 29 Références de groupe

Pourquoi utiliser un langage de programmation visuel ?

Avec ces concepts à l’esprit, commençons par écrire un programme en Java qui exprime hello, hello, hello, hello, hello, pour avoir une idée de la programmation traditionnelle, comme le montre le schéma suivant: L’inventeur de la transaction quantifiée - de la base à la guerre Voir figure 3-30

Il suffit d’envoyer une chaîne de caractères hello world! et vous écrivez 5 lignes de code. Je crois que la plupart des débutants ne connaissent que les mots anglais hello, world, etc.

Qu’est ce que la programmation visuelle ?

La programmation visuelle n’est pas une nouveauté, elle existe depuis longtemps déjà. L’idée de la programmation visuelle est que, avec des modules de contrôle, il est possible de construire la logique du code et de concevoir la stratégie de négociation en le faisant glisser, comme pour la construction de blocs. L’inventeur de la transaction quantifiée - de la base à la guerre Voir aussi la figure 3-31

Comme le montre la figure ci-dessus, le même programme ne nécessite qu’une seule ligne de code dans la programmation de la visualisation de blockly. Cela réduit considérablement le seuil de programmation, ce qui est une expérience d’utilisation fantastique, en particulier pour les traders qui ne connaissent pas du tout la programmation.

Quelles sont les caractéristiques d’un langage de programmation visuel ?

blockly n’est pas un jouet de programmation, c’est un éditeur honnête, pas un système d’exploitation qui se fait passer pour un éditeur, il prend en charge de nombreux éléments de base de la programmation, tels que les variables, les fonctions, les ensembles et les blocs personnalisés faciles à étendre, avec lesquels vous pouvez effectuer des tâches de programmation complexes.

La programmation visuelle quantifiée de l’inventeur est réalisée avec l’outil de visualisation blockly publié par Google. L’inventeur de la transaction quantifiée - de la base à la guerre Voir aussi la note.

Des centaines de modules de trading couramment utilisés sont intégrés dans l’interface de programmation visuelle quantifiée de l’inventeur, et d’autres modules de trading seront ajoutés ultérieurement pour soutenir les nouvelles idées et les nouvelles applications des traders, qui seront développées et maintenues conjointement par les développeurs.

Bien que la grammaire soit simple, elle ne perd pas de sa performance. Elle est presque suffisante pour la plupart des stratégies de développement de transactions quantitatives simples.

Comment utiliser

L’inventeur de la transaction quantifiée - de la base à la guerre Voir aussi la note.

J’ai écrit un programme Hello, World.

L’inventeur de la transaction quantifiée - de la base à la guerre Voir aussi la note.

La première chose à faire est d’imprimer le code hello, le code world.

L’inventeur de la transaction quantifiée - de la base à la guerre Voir aussi la note.

Résumé

Nous avons commencé par une stratégie de visualisation complète, puis une présentation et des caractéristiques du langage de visualisation, et nous avons fini par expliquer comment utiliser le langage de visualisation sur l’outil de quantification de l’inventeur, et avec un exemple de l’écriture d’un hello world. Cependant, il est important de rappeler que la programmation visuelle est un bon point de départ pour la transaction quantifiée, mais il n’y a actuellement que des interfaces API limitées ouvertes sur l’outil de quantification de l’inventeur, et pour la transaction quantifiée, il est préférable de la considérer comme un outil auxiliaire pour vous aider à nettoyer la logique de la stratégie.

Avant-première

La programmation visuelle n’a pas beaucoup de différence avec les bases des langages de programmation avancés, et est même universelle dans certains endroits. L’apprentissage de la programmation visuelle va plus loin que la programmation avancée. Dans la section suivante, nous allons approfondir les progrès de la programmation visuelle, y compris comment écrire des modules de trading quantifiés couramment utilisés dans le langage visuel sur les outils de quantification de l’inventeur, et comment développer une stratégie de trading intra-journalier complète.

Les devoirs après le cours

1° quantifier et visualiser les interfaces de programmation chez les inventeurs, utiliser les API et comprendre ce qu’ils veulent dire; 2/ Obtenir le prix d’ouverture le plus récent dans un langage visuel et l’exporter dans le journal.

3.5 Comment mettre en œuvre des stratégies dans un langage visuel

Résumé

Nous avons étudié la description et les caractéristiques d’un langage de programmation visuel, des exemples d’expérience de trading hello world, ainsi que les prémisses de la mise en œuvre d’une stratégie de trading dans l’outil de trading quantifié de l’inventeur. Dans cet article, nous continuons à partir des modules de stratégie courants et des indicateurs techniques, puis à la logique de la stratégie, pour vous aider à mettre en œuvre une stratégie de trading intraday complète, étape par étape.

Module de stratégie

Hausse par étapes

La hausse de phase est le pourcentage de la différence entre le prix de clôture de la ligne K actuelle et le prix de clôture des N cycles précédents. Par exemple, pour calculer la hausse de phase des 10 dernières lignes K, le code peut être écrit: L’inventeur de la transaction quantifiée - de la base à la guerre Voir aussi la note.

Le code ci-dessus montre que l’exécution par ordinateur nécessite une boucle logique complète, par exemple pour calculer l’augmentation de la phase des 10 dernières lignes K, qui doit être décomposée en plusieurs étapes: Si le code de contrat est MA888, alors le code de contrat est MA888. Si le code de contrat est MA888, alors le code de contrat est MA888.

Avec les données de ligne K, il est possible d’obtenir des données détaillées de n’importe quelle ligne K de ces données de ligne K. Pour calculer l’augmentation de la phase, il faut d’abord obtenir le prix de clôture de 2 lignes K, par exemple: le prix de clôture de la ligne K supérieure et le prix de clôture de la ligne K 11 antérieure.

Chacune des stratégies suivantes a un cycle logique ainsi que des attributs conditionnels. La compréhension de cette logique rend la programmation visuelle plus facile.

Attaque de plus en plus forte

L’augmentation de la quantité peut être interprétée comme une hausse des prix et une augmentation des transactions. Par exemple, si le prix de clôture de la ligne K actuelle est 1,5 fois supérieur au prix de clôture de la ligne K précédente, soit 50% en 10 jours; le volume de transactions est supérieur à 5 fois la moyenne des 10 dernières lignes K. On peut écrire en code: /upload/as