Opérations de trading cBot
Dans ce guide, nous expliquons en détail les principales opérations de trading que vous pouvez exécuter à l'aide d'un cBot développé via Algo API.
Voici quelques-unes des opérations prises en charge pour les cBots :
- Envoi d'ordres de marché.
- Placement d'ordres en cours.
- Modification des ordres en cours et des positions ouvertes.
- Fermeture de positions et annulation d'ordres.
- Abonnement aux événements de trading (positions, ordres et activité connexe).
Envoyez des ordres de marché
Un ordre de marché est envoyé au serveur de trading lorsque la méthode ExecuteMarketOrder() est appelée. Après avoir créé un nouveau cBot, vous pouvez ajouter cette méthode avec plusieurs propriétés définies de l'ordre de marché (symbole, volume, take profit, stop loss, etc.). L'exemple ci-dessous place un ordre de marché au démarrage du cBot.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
1 2 3 4 5 6 7 8 9 10 | |
Astuce
Dans l'exemple, plusieurs paramètres d'ordre ont été intentionnellement laissés non définis "". Consultez Références pour les signatures et l'ordre de tous les paramètres ExecuteMarketOrder().
Lors de la construction du cBot et de l'ajout d'une instance, vous verrez qu'un ordre de marché avec les paramètres spécifiés a été exécuté au démarrage. Les onglets Positions et Journal du panneau Trade Watch affichent la position correspondante et les entrées du journal.
Placez des ordres en cours
cTrader prend en charge trois types d'ordres en cours, à savoir les ordres stop, les ordres limit et les ordres stop-limit. Pour placer des ordres en cours au démarrage, vous pouvez remplacer l'ordre de marché par les extraits de code suivants dans l'exemple de cBot précédent.
1 2 3 | |
1 2 3 | |
Astuce
Pour inspecter rapidement les paramètres d'une méthode, commencez à taper le nom de la méthode et une parenthèse ouvrante. Vous verrez une fenêtre contextuelle IntelliSense avec des informations supplémentaires.

Astuce
Si vous cliquez sur une méthode/un paramètre dans cTrader Algo et appuyez sur F1, le panneau d'aide à droite de la fenêtre de code affichera les résultats de recherche correspondants. Si le curseur de texte reste en dehors de la fenêtre de code et que vous appuyez sur F1, la fenêtre Centre d'aide apparaîtra pour vous aider.
Vous verrez les enregistrements suivants dans le panneau Trade Watch après la construction et l'exécution réussies du cBot.
Modifiez les ordres en cours et les positions ouvertes
Lorsque les ordres en cours sont placés, ils deviennent disponibles dans votre collection PendingOrders du cBot. Grâce à cette collection, vous pouvez y accéder et les modifier. Les ordres en cours existants peuvent être modifiés en ajustant leur niveau de stop loss comme suit.
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 | |
L'onglet Journal du panneau Trade Watch affiche que les trois ordres en cours ont été modifiés avec succès immédiatement après avoir été placés.

Une fois que les différents types d'ordres sont exécutés avec succès, des positions seront ouvertes pour votre compte. Toutes les positions ouvertes sont disponibles dans la collection Positions de votre cBot. De la même manière que pour modifier les ordres en cours dans l'exemple précédent, vous pouvez modifier la position ouverte. Étant donné que les ordres de marché sont le moyen le plus rapide d'ouvrir des positions, ajoutons la méthode OnBar() avec une action de modification de position au premier cBot de ce guide.
1 2 3 4 5 6 7 | |
1 2 3 4 | |
Comme le reflète le journal, la position ouverte a été modifiée sur la première barre ouverte.

Fermez les positions et annulez les ordres
Vous trouverez ci-dessous un exemple de cBot qui ferme toutes les positions ouvertes et annule tous les ordres en cours le vendredi à 11h00 (UTC) en appelant la méthode OnTick().
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |

S'abonner aux événements de trading
cTrader permet aux développeurs d'algorithmes de s'abonner aux événements de trading et de surveiller l'activité de trading, que celle-ci ait été initiée par un cBot ou manuellement. Cela est réalisé en écoutant les événements disponibles dans les deux collections présentées précédemment, Positions et PendingOrders.
Il existe trois événements disponibles pour les positions :
OpenModifiedClosed
Ils sont déclenchés lorsque vous ouvrez, modifiez et fermez les positions sur votre compte, respectivement.
Dans l'extrait de code ci-dessous, les trois événements sont déclarés dans la méthode OnStart() et les méthodes à appeler sont assignées. Celles-ci créeront automatiquement les signatures de code que nous pourrons utiliser. Ensuite, des instructions Print() sont ajoutées à chacune des méthodes d'événement.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Que ce soit vous ou le cBot qui effectue les événements Open, Modified et Closed, l'algorithme y réagira à chaque fois avec des messages imprimés comme indiqué dans le journal ci-dessous.

De même, vous pouvez vous abonner aux événements liés aux ordres en cours. Il existe quatre événements disponibles pour les ordres en cours :
CreatedModifiedFilledCancelled
Les quatre événements sont déclarés dans la méthode OnStart(), et les gestionnaires d'événements sont ajoutés comme suit.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
S'il est abonné aux événements liés aux ordres en cours, le cBot réagira aux activités de trading manuelles et programmées.

Résumé
Pour conclure, cTrader équipe les développeurs d'algorithmes d'un arsenal impressionnant d'opérations de trading qui peuvent être exécutées par les cBots. En les appliquant habilement, vous pouvez poursuivre des stratégies de trading personnalisées et sophistiquées.



