[Worklog1] Evaluation on Platform softwares (TLDR: choose MetaTrader, CTrader)

avatar
· Views 516

Based on the architecture decided, it has separated the data feed (a.k.a platform, or "frontend") away from the backend server.


[Worklog1] Evaluation on Platform softwares (TLDR: choose MetaTrader, CTrader)


The frontend only needs to provide OHLC bar or tick information.


Therefore we could have multiple platforms as choice for data feed frontend.


There are literally so many choices as platforms and there are also many are automatic-trading friendly, such as Crypto Exchanges (Biance, OKEX, Huobi, etc), many come with their own APIs, or other big players who provide FIX API access.


But like many forex traders, I chose MetaQuotes (mainly MetaTrader 5) and Spotware's CTrader. Because for the first timers (in terms of developing trading programs), their APIs provided very good abstraction and data modeling, which can be learnt a lot. In terms of language, MetaTrader uses MQL5 which is almost a variation of C/C++.


They both abstract the trading entity into “order”, “position” and “deal”, which is versatile and easy to understand.


E.g.: Mql5 library

[Worklog1] Evaluation on Platform softwares (TLDR: choose MetaTrader, CTrader)


It is worth noting that the execution model for metatrader is through metaquotes' server. However CTrader implementation is close to STP, which means execution time in milliseconds (within 2 ms, but depending on Liquidity Provider for the instruments, for example stock indexes took longer, about 120 ms). By contrast, fastest MetaTrader5 execution time still takes tens of milliseconds, for example, 50ms for ICMarkets (measurements all excluded network round-trip delays)


CTrader uses c# as its primary language, which gave access to a variety of libraries. But unfortunately, CTrader's desktop implementation leaks memory and is resource heavy.  

[Worklog1] Evaluation on Platform softwares (TLDR: choose MetaTrader, CTrader)


CTrader provides FIX API access (https://help.ctrader.com/fix/) as well as its own OpenAPI definition (https://help.ctrader.com/open-...), which comes in JSON or Proto. In this regard, CTrader seems the most ideal choice. Below is the Proto definition that I will use in my Dados 


Golang implementation

[Worklog1] Evaluation on Platform softwares (TLDR: choose MetaTrader, CTrader)



 or Python implementation.


[Worklog1] Evaluation on Platform softwares (TLDR: choose MetaTrader, CTrader)



In summary, MetaTrader or CTrader are very good for beginners as automatic trading platform, as long as you are not using advanced strategy (such as developing market maker strategy), or need direct connection to the exchange itself.

Tuyên bố miễn trừ trách nhiệm: Quan điểm được trình bày hoàn toàn là của tác giả và không đại diện cho quan điểm chính thức của Followme. Followme không chịu trách nhiệm về tính chính xác, đầy đủ hoặc độ tin cậy của thông tin được cung cấp và không chịu trách nhiệm cho bất kỳ hành động nào được thực hiện dựa trên nội dung, trừ khi được nêu rõ bằng văn bản.

Website Cộng đồng Giao Dịch FOLLOWME: www.followme.asia

Bạn thích bài viết này? Hãy thể hiện sự cảm kích của bạn bằng cách gửi tiền boa cho tác giả.
avatar
Trả lời 0

Tải thất bại ()

  • tradingContest