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

avatar
· 阅读量 535

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 不对内容的准确性、完整性或可靠性作出任何保证,对于基于该内容所采取的任何行为,不承担任何责任,除非另有书面明确说明。

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

加载失败()

  • tradingContest