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

avatar
· 阅读量 471

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.

风险提示:以上内容仅代表作者或嘉宾的观点,不代表 FOLLOWME 的任何观点及立场,且不代表 FOLLOWME 同意其说法或描述,也不构成任何投资建议。对于访问者根据 FOLLOWME 社区提供的信息所做出的一切行为,除非另有明确的书面承诺文件,否则本社区不承担任何形式的责任。

FOLLOWME 交易社区网址: www.followme.ceo

喜欢的话,赞赏支持一下
avatar
回复 0

加载失败()

  • tradingContest