Finance

Comment faire le trading automatique ?

Pour le 16e épisode de « How to ThinkScript », nous allons changer de vitesse et explorer l’écriture de code ThinkScript pour atteindre le trading automatisé dans ThinkOrSwim, autant que possible.

Maintenant, avant d’aller plus loin, je tiens à mettre en garde en disant que cette technique exige toujours que vous écriviez manuellement du code, chaque fois que vous souhaitez que la condition vous déclenche soit dans ou hors d’un échange.

Il n’y a aucun moyen (du moins que nous connaissons) d’avoir un trading entièrement automatisé dans ThinkorSwim (au moins la plate-forme).

Cela étant dit, il s’agit toujours d’un moyen incroyablement puissant de tirer parti des modèles que vous avez peut-être trouvés sur des diagrammes temporelles plus longs. La raison pour laquelle nous nous concentrons sur un calendrier plus long est que les idées commerciales ici exigent généralement que vous soyez plus patient et que vous continuez à surveiller les graphiques pour voir si vos conditions commerciales sont vraies ou non.

Cependant, si vous avez une approche axée sur les processus, une grande partie de cette approche est mécanique et peut être externalisée à la plate-forme ThinkorSwim réelle pour essayer d’automatiser le plus grand nombre possible de processus de trading.

Gardez à l’esprit, la plupart de cela est expérimental, donc vous devriez toujours tester vos idées et votre code dans PaperMoney d’abord.

Alors, commençons !

Table des matières

  • Trading automatisé dans ThinkorSwim Video Tutoriel
  • Volatility Box Inviter
  • Pourquoi Trading Automated ?
  • Qu’ est-ce que la fenêtre Déclencheurs de trading automatisés ?
  • 8 Scénarios de déclenchement que nous construirons
  • Scénario 1 : Liste des tendances nocturnes
  • Scénario 2 : Condor de fer lors de la consolidation
  • Scénario 3 : appel automatique couvert de revenus aux extensions Fib
  • Scénario 4 : Acheter Put quand RSI Affiche des signaux de rupture baissiers
  • Scénario 5 : Acheter des actions sur Pullbackto 34 EMA
  • Scénario 6 : Position de vente lorsque Squeeze perd momentum
  • Scénario 7 : superposition sur plusieurs indicateurs
  • Scénario 8a : Acheter sur Répulsions implicites de volatilité (entrée)
  • Scénario 8b : Vendre quand la tendance se brise
  • Que puis-je faire d’autre ?
  • Télécharger
  • Tutoriel vidéo de trading automatisé dans ThinkorSwim

    Regardez le tutoriel vidéo ici, à suivre avec les extraits de code ci-dessous, pour en savoir plus sur les fonctionnalités du trading automatisé dans ThinkorSwim :

    Un PDF avec tous les extraits de code est disponible en téléchargement gratuit ci-dessous.

    Boîte Volatilité Invitation

    Nous sommes TOS Indicators.com, la maison de la Volatilité Box.

    La Volatility Box est notre outil secret, nous aider à tirer profit constamment de la place du marché. Nous sommes une petite équipe, et nous passons des heures chaque jour, après la fermeture du marché, à ne rien faire d’autre qu’à étudier des milliers de points de données pour continuer à améliorer et à perfectionner les gammes de prix Volatility Box.

    Nous avons deux boîtes de volatilité différentes : une boîte de volatilité à terme et une boîte de volatilité des actions.

    La boîte de volatilité des contrats à terme comprend :

    • 4 modèles de volatilité pour chaque marché
    • Support pour 9 marchés à terme (/ES, /NQ, /YM, /RTY, /CL, /GC, /ZB, /HG, /NG)
    • Guide de configuration vidéo
    • Plan de commerce
    • Accès à toutes les ressources réservées aux membres, y compris Squeeze Course

    La boîte de volatilité des stocks est livrée avec : Inscrivez-vous à la boîte Volatilité des contrats à terme ici.

    • Plateforme web puissante pour vous aider à négocier des actions comme un pro
    • Supporte plus de 8 200 actions et ETF, avec des niveaux de prix quotidiens de la boîte Volatility Box
    • Scanner en temps réel pour tous stocks liquides pour trouver des configurations Volatility Box actives, de sorte que vous pouvez choisir, et simplement les ajouter à votre tableau de bord pour les niveaux de prix
    • Complètement indépendant de la plate-forme, donc même si vous n’avez pas ThinkorSwim, vous êtes tous bons
    • Accès à toutes les ressources réservées aux membres, y compris Squeeze Course

    Inscrivez-vous à la boîte Volatilité Stock ici. Si vous négociez à la fois des actions et des contrats à terme, envoyez-nous un courriel à contact@tosindicators.com et nous pouvons vous proposer une offre groupée conviviale pour les traders.

    Commencez à négocier à la périphérie, avec un avantage, et rejoignez la famille Volatility Box dès aujourd’hui.

    Pourquoi le trading automatisé ?

    La plupart du temps, nous trouvons des idées et des modèles commerciaux que nous avons testés avec beaucoup de temps (ou que d’autres ont), que nous aimerions reproduire. Très peu de choses sont originales en termes d’idées ou de nouveaux modèles commerciaux.

    Une grande partie de ce qui sépare un trader réussi à un trader qui ne réussit pas est la capacité d’exécuter sur votre réel plan. Et bien sûr, nous avons tous un plan, jusqu’à ce qu’il arrive le temps d’entrer réellement dans ce métier.

    L’ un des avantages du trading automatisé dans ThinkorSwim est que nous pouvons construire ce plan via du code, et effectivement mis en jeu pour exécuter seul, chaque fois que ces conditions sont vraies.

    Cela nous aide non seulement à éliminer les émotions au moment de l’exécution (c’est-à-dire que le stock continue-t-il à baisser plus loin ?) , mais cela nous permet également de ne pas avoir à rester là et à nous inquiéter de vérifier les cartes de SPY quotidiennement pour voir si le commerce a déclenché ou non.

    Maintenant, multipliez cela par autant de stratégies que vous avez et vous pouvez commencer à voir où se pose le défi dans la gestion de ces postes multiples.

    Ainsi, cela nous amène au plus grand avantage de tout ce concept de trading automatisé dans ThinkorSwim — vous pouvez externaliser la plus grande partie du travail machine à la plate-forme ThinkorSwim en elle-même.

    Maintenant, bien sûr, le trading automatisé dans Thinkorswim ne vient pas sans son propre ensemble de lacunes. Ce n’est pas une plateforme destinée à auto-trading, pour être clair.

    La plus grande que vous remarquerez lorsque vous commencez à explorer la fonctionnalité, est qu’elle est incroyablement limitée en termes d’études, et les fonctions intégrées qu’il prend en charge.

    Par exemple, lorsque vous essayez de référencer certaines des études précédemment construites que nous avons, telles que Market Pulse ou vScore, vous serez rencontré avec un flot d’erreurs. Certains autour de la complexité de l’étude. Certains autour de la façon dont l’utilisation de rec n’est pas prise en charge.

    Tout cela pour dire — le volet déclencheurs de trading automatisés est plus limité, en termes de profondeur de codage qu’il prend en charge, par rapport au menu études ThinkorSwim.

    En dehors de cela, l’autre inconvénient évident est de perdre la capacité de réviser toute prise de décision au moment réel de l’entrée, compte tenu des données supplémentaires que vous avez maintenant sur vos graphiques (tant en termes d’action des prix, de volume, que de votre propre indicateur études).

    Basé sur votre style de trading cependant, si vous êtes généralement plus craintif de faire des choses comme des retours d’achat dans les tendances, eh bien — cela devrait alors vous aider à éliminer cette peur, en créant une condition auto-trade pour acheter Microsoft à chaque fois qu’il tire dans le 34 EMA, par exemple.

    Alors, comment pouvons-nous utiliser le trading automatisé dans ThinkorsWim au profit de notre trading ?

    Qu’ est-ce que la fenêtre Déclencheurs de trading automatisés ?

    Pour accéder à la fenêtre de trading automatisé, vous devez d’abord avoir un ordre que vous construisez à l’intérieur de ThinkorSwim.

    Une fois que vous avez un ordre dans l’onglet « Trade », vous pouvez ensuite cliquer sur l’icône d’engrenage des paramètres, pour ouvrir le panneau de trading automatisé :

    Examinons quelques-unes de ces options pour voir ce que vous pouvez contrôler :

    • Limite liée à : cela vous permet de contrôler si vous souhaitez lier le prix d’exécution à l’enchère, demandez, mi-prix, dernier, etc. Si vous cherchiez à acheter sur un retrait, vous pourriez avoir votre limite liée à la « Bid » ou au « Mid » pour éviter de trop payer sur le marché.
    • Conditions — vous pouvez personnaliser la méthode pour être une étude, où nous pouvons entrer du code ThinkScript personnalisé et référencer des études de construction antérieures pour intégrer notre propre ensemble de conditions de trading automatisées

    Remue-méninges quelques idées potentielles, que nous aimerions auto-échanger. Bien sûr, ce ne sont que des exemples pour vous aider à démarrer.

    8 Scénarios de déclenchement que nous allons construire

    • Scénario 1 : Acheter MSFT si elle dépasse 175$ au cours des 15 premières minutes
    • Scénario 2 : Vendre HD Iron Condor lorsque le prix est compris entre 195$et 200$
    • Scénario 3 : Vendre un appel couvert sur 100 actions préexistantes dans LVGO lorsque le prix atteint l’extension 2.00 pour collecter « loyer » sur un rentable
    • position

    • Scénario 4 : Acheter un put présélectionné lorsque RSI affiche des signaux de rupture
    • Scénario 5 : Acheter du stock si nous obtenons un retrait vers l’EMA 34, avec les moyennes mobiles toutes empilées, déclenché avec une commande OCO
    • Scénario 6 : Fermer mon position lorsque la dynamique de compression commence à diminuer
    • Scénario 7 : Acheter un appel présélectionné si nous avons une compression, avec un volume supérieur à moyen, et les EMA étant d’accord avec la direction
    • Scénario 8 : Acheter sur des réductions de volatilité implicite dans une forte tendance haussière pour le stock. Simultanément, placez un ordre de sortie GTC chaque fois que les moyennes mobiles ne sont plus empilées, sur un laps de temps inférieur.

    Scénario 1 : Liste des tendances nocturnes

    Donc l’étude intégrée va être notre base. Il semble correspondre même à la

    Pour le scénario 1, nous utiliserons notre liste des tendances tous les soirs que nous envoyons à notre boîte de volatilité des actions comme un exemple de condition.

    Qu’est-ce que la liste des tendances ? Chaque jour, nous parcourons l’activité de négociation de la journée pour trouver des actions et des ETF susceptibles de tendance le lendemain. Cette liste est envoyée par e-mail à tous les membres de la boîte de volatilité boursière avant l’activité de trading du lendemain.

    Nous aimerions acheter Microsoft (MSFT), par exemple, s’il dépasse 179,18$ dans les 15 premières minutes.

    Aucun code n’est requis ici, mais à la place, juste une simple personnalisation des conditions dans le volet Déclencheurs de trading automatisés dans ThinkorSwim.

    Et c’est le scénario 1, tout fait. Passer au scénario 2.

    Scénario 2 : Condor de fer lors de la consolidation

    Pour le scénario 2, supposons que vous envisagez une période de consolidation potentielle en HD, nous aimerions vendre un Iron Condor lorsque le prix est compris entre 195$ et 200$.

    Cela se trouve également chevaucher avec la ligne indicateur Market Pulse, ce qui vous donne des raisons de croire que nous allons couper un peu de côté.

    Encore une fois, gardez à l’esprit, ils sont tous uniquement à des fins démonstratives — PAS de vrais métiers, alors s’il vous plaît ne pas aller les placer.

    Vous êtes peut-être en train de voir une période de consolidation dans Home Depot, mais vous voulez obtenir une entrée légèrement meilleure sur le Condor de fer afin que vous aimeriez attendre que le prix baisse.

    Ici, le code pour le trading automatisé dans ThinkorSwim est assez simple :

    tracer le signal = si proche >= 195 et fermer

    200 puis 1 autre 0 ; Cela nous permet de placer les conditions de commande, et vous pouvez le lier à quelque chose comme la demande pour éviter de trop payer ou même le prix moyen, et définir cela comme une commande GTC.

    Si ça se remplit, fantastique.

    Vous pouvez même définir une date d’expiration si vous souhaitez que cette commande soit valide jusqu’à la fin de cette semaine.

    Scénario 3 : Appel automatique couvert de revenus aux prorogations Fib

    Ici, supposons que vous possédez déjà 100 parts de Livongo Health (LVGO). LVGO a fait un bon mouvement vers son rétracement 1.618.

    Maintenant, disons que vous ne pensez pas qu’il peut aller beaucoup plus haut au-dessus de la 2.000 rétracement à $44.88.

    Au lieu de devoir vous asseoir et regarder la position (ou même mettre une alerte pour revenir sur la pensée plus tard), vous aimeriez vendre automatiquement un appel couvert contre vos 100 actions préexistantes.

    Vous souhaitez utiliser le trading automatisé dans ThinkorSwim pour vendre automatiquement un appel de grève de 45$, lorsque le prix atteint le niveau de rétracement de 2,00$ à 44,88$.

    Pensez à cela comme la collecte de loyer, sur une position déjà rentable.

    Créons ça. Encore une fois, nous n’avons pas besoin de code ici. Nous pouvons construire les conditions à l’aide de l’éditeur.

    Tout d’abord, nous nous dirigeons vers la chaîne d’options pour choisir l’appel de grève de 45$, et nous allons modifier les options du volet de trading automatisé :

    Nous aimerions rejoignez l’offre pour collecter le plus grand crédit que nous pouvons (ou même le milieu, si vous préférez), et vous pouvez définir la commande à GTC.

    Scénario 4 : Acheter Put lorsque RSI montre des signaux de rupture baissiers

    Pour le scénario 4, nous utiliserons les signaux RSI intégrés pour acheter un put chaque fois que nous avons un signal de rupture baissier. Maintenant, plus le délai est grand, plus le signal devrait être puissant.

    Supposons que nous le faisons sur un graphique d’espionnage quotidien, donc nous pouvons vouloir acheter un Put qui est d’au moins 90 jours, pour nous donner non seulement le temps, mais aussi le commerce sans avoir besoin de réactualiser les conditions de déclenchement (avec la grève du mois prochain).

    Ici, notre code est assez simple, et nous attachons ceci au volet Déclencheurs du put que nous aimerions utiliser :

    signal de tracé = RSI () .DownSignal [1] ; Cette minuscule ligne de code suffit pour déclencher le trading automatisé dans Thinkorswim pour passer un ordre chaque fois que nous avons ce signal bas.

    Nous utilisons le tableau «  » pour référencer la barre précédente, pour confirmer que le signal a effectivement terminé l’impression, au lieu d’être toujours en cours.

    Scénario 5 : Acheter des actions sur Pullbackto 34 EMA

    Cette fois, nous allons écrire quelques ThinkScript pour entrer dans un stock qui a empilé des moyennes mobiles (8 EMA x 21 EMA x 34 EMA). Si nous avons empilé des moyennes mobiles, disons haussiers, alors nous pouvons supposer que nous avons une tendance haussière.

    C’ est un concept dont nous avons parlé dans les tutoriels précédents, y compris le tutoriel Simple Breakout Tool.

    Et avec une tendance, nous pouvons acheter des retours de tendance, à l’EMA que nous préférons (dans ce cas, nous utilisons l’EMA 34).

    Voici le code, tout écrit pour qu’il soit facile de copier/coller :

    def EMA8 = expAmoyen (fermeture, 8) ; def EMA21 = expAmoyen (fermeture, 21) ; def EMA34 = ExpAmoyenne (fermeture, 34) ; def empilé = si EMA8>EMA21 et EMA21>EMA34 alors 1 autre 0 ; trame signal = si empilé et fermer

    Scénario 6 : Position de vente lorsque Squeeze perd son élan= EMA34 puis 1 autre 0 ;

    Dans notre deuxième et dernier scénario, nous supposerons que vous êtes déjà en position, idéalement à cause du TTM_Squeeze.

    Une fois que le Squeeze se déclenche, vous aimeriez sortir dès que les barres d’histogramme nous montrent que nous commençons à perdre de l’élan.

    Ici, vous utilisez le trading automatisé dans ThinkorSwim pour vous permettre de gérer une position existante, au lieu d’en saisir une nouvelle.

    Écrivons le code :

    signal de traçage = si TTM_squeeze () .Histogramme [1]

    Scénario 7 : Superposition sur plusieurs indicateurs TTM_squeeze () .Histogramme [2] puis 1 autre 0 ;

    Pour le 7e scénario de cette série de trading semi-automatisé, nous allons jeter un coup d’oeil à combiner plusieurs conditions en un seul déclencheur.

    Le concept que j’essaie vraiment de traverser ici est moins sur les conditions réelles que j’ai choisies, et plus sur l’idée que vous pouvez superposer plusieurs indicateurs « de base », et contourner certaines erreurs de complexité dans ThinkorSwim.

    La condition spécifique que nous allons examiner ici est l’achat d’un appel présélectionné si :

    • Nous avons un resserrement
    • supérieur à la moyenne
    • EMA en accord avec la tendance globale

    Voici le code que nous utilisons pour les conditions ci-dessus :

    def EMA8 = expAmoyen (fermeture, 8) ; def EMA21 = expAmoyen (fermeture, 21) ; def EMA34 = ExpAmoyenne (fermeture, 34) ; def haussier = si EMA8 > EMA21 et EMA21 > EMA34 puis 1 autre 0 ; def squeeze = si TTM_squeeze () .squeezeAlert == 0 puis 1 autre 0 ; def greaterVol = VolumeAvg () .Vol > VolumeAvg () .volavg et fermez >

    Scénario 8a : Acheter sur des extractions implicites de volatilité (entrée) fermer [1] ; conditions de def = haussier et presser et GreaterVol ; signal de tracé = conditions [1] ;

    Pour notre dernier et scénario final, nous avons deux parties. Dans la partie 8a, nous allons examiner le codage des composants d’entrée, ce qui sera autour de l’idée d’acheter des extractions de volatilité implicite vers l’EMA 34.

    Oui, vous avez bien lu ça.

    Nous allons exécuter des moyennes mobiles exponentielles en utilisant la volatilité implicite comme entrée de données, au lieu du prix rapproché, et acheter sur les retours de tendance IV dans des tendances autrement fortes sur le sous-jacent réel. Et, cela va être intégré dans le code pour le trading automatisé dans ThinkorSwim.

    L’ objectif à transmettre ici est que vous pouvez aller plusieurs couches en profondeur en termes d’analyse, et de voir très facilement quand ces conditions de déclenchement étaient vraies, et ce qui s’est passé après.

    La chose que nous ferons différemment ici est « Acheter personnalisé » et lier un ordre proche à notre commande d’entrée (c.-à-d. Acheter Custom with Stop)

    Voici notre code d’entrée :

    def EMA8 = expAmoyen (fermeture, 8) ; def EMA21 = expAmoyen (fermeture, 21) ; def EMA34 = ExpAmoyenne (près, 34) ; def empilé = si EMA8 > EMA21 et EMA21 > EMA34 puis 1 autre 0 ; def IMPVol = IMP_VOLATILITÉ () ; def IV8 = ExpAmoyen (IMPvol, 8) ; def IV21 = expAperage (IMPvol, 21) ; def IV34 = ExpAmoyen (IMPVol, 34) ; def IVStacked = si IV8 > IV21 et IV21 > IV34 puis 1 autre 0 ; conditions def = si empilées et IVStacked et Impvol

    Scénario 8b : Vendre lorsque la tendance se brise

    Enfin, nous aimerions ajouter du code personnalisé au deuxième composant de la commande — l’ordre de vente, dans le cadre de ce type de commande personnalisé que nous avions construit.

    Ici, nous allons lier l’ordre de clôture aux EMA.

    Voici notre code de sortie :

    def EMA8 = expAmoyen (fermeture, 8) ; def EMA21 = expAmoyen (fermeture, 21) ; def EMA34 = ExpAmoyenne (fermeture, 34) ; def empilé = si EMA8 > EMA21 et EMA21 >

    EMA34 puis 1 autre 0 ; conditions def = si empilées [2] et ! empilé [1] puis 1 autre 0 ; signal de tracé = conditions ; Cela veut dire que lorsque les trois EMA ne seront plus empilés, nous fermerons le commerce, que ce soit pour un gain ou une perte.

    Voici à quoi devrait ressembler l’ordre de déclenchement final, avec les codes personnalisés d’achat et de vente :

    Et voila ! On a fini.

    Nous avons parcouru 8 « scénarios » différents qui sont assez proches de configurations réalistes que vous pourriez avoir, et nous avons essayé de nous rapprocher le plus possible du trading automatisé dans ThinkorSwim.

    Le système n’est toujours pas parfait, mais il devrait toujours servir à être pratique et récompenser le travail acharné de trouver l’installation en premier lieu.

    Que puis-je faire d’autre ?

    Maintenant que vous avez les connaissances fondamentales en ce qui concerne l’utilisation du trading automatisé dans la fonctionnalité ThinkorsWim, vous pouvez prendre cela dans la direction que vous souhaitez.

    Voici quelques exemples :

    • Testez vos propres configurations
    • Si vous faites face à des erreurs « complexes », briser les composants de l’indicateur pour voir si vous pouvez trouver un autre moyen de calculer le même déclencheur
    • Utilisez PaperMoney comme un environnement sandbox
    • Utilisez les ordres GTC pour exécuter des idées expérimentales de configuration de commerce que vous pouvez être à la recherche pour tester leur espérance et probabilités (« semi libre -automatisé backtesting »)
    • Poussez les capacités de la plate-forme et testez différents types d’ordre, plusieurs supports TRG avec des études personnalisées, etc.

    Télécharger

    Cliquez sur le bouton ci-dessous pour télécharger le PDF avec des extraits de code pour le trading semi-automatisé dans ThinkorSwim.

    Télécharger PDF et Code