Choosing Proper SDK

From FxCodeBaseWiki
Jump to: navigation, search

How to Choose the Proper SDK?

The proper SDK choice depends on the goal of your development. Please see the list of all SDKs available with the short description of each SDK and a brief list of pros and cons.

Indicore SDK

The SDK is designed to create and debug indicators and strategies for the Trading Station/Marketscope application.

Alternatives: MT4

Pros and Cons.

Pro:

  • Strategies and Indicators developed using Indicore SDK runs right in the Trading Station/Marketscope, so you don't require any additional software for the automated trading.
  • Strategies and Indicators developed using Indicore SDK works and trades as fast as it is possible, because there is no additional APIs or even the additional servers (as in MT4).
  • Strategies developed using Indicore SDK can be backtested and optimized right in the Trading Station/Marketscope.
  • During the development and the testing you have as precise and fast simulation of the FXCM trading server as it is possible. You may use any order type and it will be simulated exactly as it would be executed on the trading server. Moreover, you can simulate tick-by-tick and run your strategy line-by-line watching every small change of the trading tables. None of other products on the market can do it.

Cons:

  • The number of indicator and strategy examples published on http://fxcodebase.com site is still smaller than the number of samples for MT4 on http://codebase.mql4.com. Not dramatically smaller, but...
  • Some unexperienced developers are frightened by the Lua language used for writing the strategies and indicators.

Where to get?

You can find download links here.

See also Category:IndicoreSDK

Indicore Integration SDK

This is SDK for the developers who want to use Trading Station/Marketscope indicators and strategies in their own applications.

Pros and Cons. Since there is no analogues of such API at all it's too hard to find pros and cons.

Where to get?

You can find download links here.

See also Category:IndicoreIntegrationSDK

ForexConnect

This SDK is designed to get trading data, trade, load price histories and subscribe for the most recent prices. This API is intended to be used by auto-trading robots and systems, chart and market analysis application, custom trading application authors.

Alternatives: Java Trading SDK, FIX API

Pro:

  • The API is true cross platform API and can be used to develop applications for Win32, Win64, Linux32, Linux64, MacOS, iOS, Android platforms.
  • The API is modular, so you don't need to run any part of the API which is not actually required in your application.
  • There is ForexConnect COM support library that allows using ForexConnect API as an "in-process" COM server. The library is intended to be used by Windows applications that cannot use the standard ForexConnect library or support libraries for .NET and Java. For example, VBScript applications, Microsoft Excel, etc.
  • There is P/invoke based .NET wrapper with static-linked runtime libraries. The .NET wrapper has target platform AnyCPU.

Cons:

  • The API is designed to be used from C++, .NET (CLR or Mono: Managed C++, C#, VB.NET) or Java applications. Of course, 90% of the modern development is made in these languages and the interoperations packages may be developed for other platforms, but the official release will be limited to the mentioned languages only.

Where to get?

You can find download links here.

See also Category:ForexConnect

Java Trading API

This SDK is designed to get trading data, trade, load price histories and subscribe for the most recent prices. This API is intended to be used by auto-trading robots and systems, chart and market analysis application, custom trading application authors.

Alternatives: ForexConnect, FIX API

Pro:

  • All the new features are always implemented in Java Trading API first.
  • This is the pure Java implementation, so, in theory, it may run everywhere.

Cons:

  • This is the message level API, so:
    • It does not have things such as table manager even optionally. If you need updates of the trade profit/loss or summaries on every tick - you must calculate them in your own application.
    • It is a bit more complex to use than business-level ForexConnect API.
  • This is the pure Java implementation, so, some new features such as RTMP connection (or ActiveTrader connection) won't be supported.

Where to get?

You can find download links here.

See also: Java API support forum

FIX API

The API is designed for institutional level clients and is optimal for integration of 3rd party trading systems rather than developing the consumer application.

The API is implementation of Financial Information eXchange ("FIX") Protocol In fact, there is no special SDK, you can use any FIX client to connect.

Alternatives: ForexConnect, Java Trading API

Pro:

  • Industrial Standard Protocol.
  • The least communication overhead and the shortest delay between sending the order and actual order execution (~20-50ms on the good Internet connection vs 50-300ms for other APIs).

Cons:

  • Requires the special credentials. Unlike the other API cannot be used with the Trading Station/Active Trader/TSG connection credentials. The additional conditional may apply for opening a FIX account.

Where to get?

You can find download links here.

See also: FIX API support forum

This Article in Other Languages

Language: English  • español