Robots sur Tinkoff et Binance en JavaScript et + 5000$ ;

Toute la communauté des développeurs de robots de trading se prépare autour de Python et C# . Lorsqu'on leur demande pourquoi ces langages sont ceux qu'ils commencent à se plaindre indistinctement du multithreading, du nombre de bibliothèques toutes faites, et parfois même des sémaphores. J'ai donc décidé d'essayer d'entrer dans ce méli-mélo, oui, c'est un méli-mélo, il n'y a pas d'autre nom.



En général, il existe de nombreux outils qui semblent convenir directement au travail, mais si encombrants et d'une manière ou d'une autre, ils ont tout entassé dans différents coins et existent dans un désordre créatif complet. En même temps, personne ne se pose la question "comment et pourquoi ça marche comme ça ?", tout le monde essaie juste d'écrire quelque chose pour gagner de l'argent, s'il a de la chance.



Comme d'habitude avec de nombreux développeurs, je me demandais de quoi JavaScript et V8 avec JIT sont capables, peut-il fournir la vitesse nécessaire pour des mathématiques complexes ? Et au départ, tout a plutôt commencé comme une mission de recherche. Et l'affaire, en passant, était il y a un an et demi.



Alors, ce dont nous avons besoin pour développer et lancer une stratégie de trading, par exemple, chez Tinkoff Investments :





  1. Indicateurs techniques JavaScript. C'est bien qu'ils soient, même s'ils ne sont pas très abondants. Prenons les indicateurs techniques les plus populaires par téléchargement





  2. Tout pour travailler avec Tinkoff, leur bibliothèque invest-openapi-js-sdk





  3. Prenons par exemple la stratégie la plus stupide du monde, 2 SMA - rapide et lente, qui ont tendance à converger à nouveau en cas de divergences.





  4. Malgré la bêtise de la stratégie, il faut l'optimiser intelligemment : soit selon Monte Carlo, soit en utilisant la génétique, prenons la génétique, parce que ça sonne juste plus beau. Bibliothèque appropriée algorithme génétique





Un peu plus de détails sur la stratégie et sur la divergence des deux lignes SMA. Il est basé sur le désir de correction du marché. Si la SMA avec une période plus rapide passe en dessous de la SMA avec une période lente, alors le marché a effectué un brusque changement de prix, qui, avec une certaine probabilité, se corrigera en arrière. Dans l'image ci-dessous, ces divergences sont représentées par des flèches, presque toutes ont un mouvement inverse. C'est un bon point d'entrée pour acheter des actions. Des positions courtes peuvent être saisies lorsque le SMA rapide s'est nettement déplacé au-dessus du lent.





Graphique boursier Tesla et stratégie stupide
Graphique boursier Tesla et stratégie stupide

, - , .





, SDK . , , , - , , 3 . SDK , GitHub. , .





3 : " - ", . - , . , 30 . , ( ), .



- . , . , , , ...



. , "" .





Le papillon se déplace au hasard

, .



, 100 20 , * *, . .





Les papillons volent vers un point spécifié

- , , . .



, . , , , , , , . « » ( ) « » ( ). , . .



. , :





= -





, . . .





, , , , . 100 500 .



, , (). .



100 , 100 , , . . , ( ) . , 50. fastSMAPeriod



slowSMAPeriod



, .



, , , , .





, . , : - . , ...





, - - 2 . . , 5 ;) . , , , . . , JavaScript.



async-genetic , . , . - , , " " 2 ( ).



, .





Visualisation des deals par stratégie

SMA, . . , . - . .



, . . NodeJS , , , . ? . .



, . . , , . - ! , , . , new Date()



. . :





3 , . , , . .





, , . 15 .





, . , - , . 5000$, , .





. , 30-100 . ( ). , .





Debut.





Debut - .  ZenBot, . ,    . - :   - (, , ),   - ( ), .





Debut , . Debut, . :    Binance ( , - ).





" " . .





, , - .








All Articles