Git Product home page Git Product logo

opentrader's Introduction

OpenTrader

https://github.com/OpenTrading/OpenTrader/

OpenTrader is an Open Source platform to communicate with on-line trading platforms, and includes the ability to:

  • write trading Recipes for multiple back-end testers (1 at the moment :-),
  • import data from CSV files or from the web for Backtesting,
  • analyze the Backtesting with multiple back-end reviewers (1 at the moment :-),
  • save the backtests, along with their parameters in an HDF5 file,
  • send and receive data from multiple on-line trading platforms (1 at the moment :-).

This ia a work in progress but it has quite a lot in there already:

Coming Real Soon Now(TM) is:

  • wiring up the backtester so that it should soon support Recipes for live-trading on Metatrader from Recipes and Chefs.
  • there's an optimizer in the backtester, but it's not yet wired up. For our future directions, see the RoadMap (https://github.com/OpenTrading/OpenTrader/wiki/RoadMap) .

Messaging Protocols

This project now works with ZeroMQ or RabbitMQ Messaging Protocols. The ZeroMQ protocol is preferred and all development is currently on it.

ZeroMQ: To use ZeroMQ, this project builds on OTMql4Zmq (https://github.com/OpenTrading/OTMql4Zmq/) , and requires that to be installed in your Metatrader as a pre-requisite. You also must have installed Python and the OTMql4Py Python bridge (https://github.com/OpenTrading/OTMql4Py/) and OTMql4Lib Metatrader library (https://github.com/OpenTrading/OTMql4Lib/) . OpenTrader runs fine with either the C coded implementation of ZeroMQ for Metatrader: OTZmqCmdEA.mq4 (https://github.com/OpenTrading/OTMql4Zmq/raw/master/MQL4/Experts/OTMql4/OTZmqCmdEA.mq4) or the or Python implementation OTPyTestZmqEA.mq4 (https://github.com/OpenTrading/OTMql4Zmq/raw/master/MQL4/Experts/OTMql4/OTPyTestZmqEA.mq4) .

RabbitMQ: To use RabbitMQ, this project builds on OTMql4AMQP (https://github.com/OpenTrading/OTMql4AMQP/) , and requires that to be installed in your Metatrader Python as a pre-requisite. You also must have installed Python and the OTMql4Py Python bridge (https://github.com/OpenTrading/OTMql4Py/) and OTMql4Lib Metatrader library (https://github.com/OpenTrading/OTMql4Lib/) . You also must have installed and started a RabbitMQ server (http://rabbitmq.org) , which is not so easy under Windows.

One day we will make installers for a shrink-wrapped distribution, but for now, you must clone from github.com and manually install.

OTCmd2 is a command line script to run send commands to a OTMql4Zmq or OTMql4AMPQ enabled Metatrader. It will start a command loop to listen, send commands, based on the Cmd2 read-eval-print, or take commands from the standard input, a file, or as command-line arguments. You will have to call OTCmd2 with the-P option with the path of your installed Metatrader (e.g. c:\Program Files\Metatrader), or set the default sMt4Dir setting of the OTCmd2.ini file, or add your installed OTMql4Py Python directory to the PYTHONPATH environment variable (e.g. c:\Program Files\Metatrader\MQL4\Python).

Work in Progress

This is a work in progress - a developers' pre-release version. It has been fully checked in, and there is a test-suite based on the examples that provides good coverage, but the internal APIs may change.

The project wiki should be open for editing by anyone logged into GitHub: Please report any system it works or doesn't work on in the wiki: include the Metatrader build number, the origin of the metatrader exe, the Windows version, and the AMQP server version and version of the Pika. This code is known to run under Linux Wine (1.7.x), so this project bridges Metatrader to RabbitMQ under Linux.


Parent: Home (https://github.com/OpenTrading/OpenTrader/wiki/Home)

opentrader's People

Contributors

opentrading avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.