All Projects → rosasurfer → mt4-expander

rosasurfer / mt4-expander

Licence: WTFPL license
DLL extension for the MetaTrader MQL4 framework

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to mt4-expander

mt4-mql
MetaTrader MQL4 framework
Stars: ✭ 205 (+720%)
Mutual labels:  trading, forex, mql, metatrader, backtest
dukascopy-tools
✨ Download historical price tick data for Crypto, Stocks, ETFs, CFDs, Forex via CLI and Node.js ✨
Stars: ✭ 128 (+412%)
Mutual labels:  trading, forex, metatrader
EA31337-classes
📦📈 EA31337 framework (MQL library for writing trading Expert Advisors, indicators and scripts)
Stars: ✭ 103 (+312%)
Mutual labels:  trading, forex, mql
Metatrader
Expert advisors, scripts, indicators and code libraries for Metatrader.
Stars: ✭ 99 (+296%)
Mutual labels:  trading, forex, metatrader
Quantrade
Quantitative strategies portfolio index [DEPRECATED].
Stars: ✭ 14 (-44%)
Mutual labels:  trading, forex, metatrader
Trading Server
A multi-asset, multi-strategy, event-driven trade execution and management platform for running many algorithms/bots at many venues simultaneously with unified risk management and reporting. Uses MongoDB for storage and Telegram for user notifications/trade consent.
Stars: ✭ 191 (+664%)
Mutual labels:  trading, forex, backtest
Sibyl
Platform for backtesting and live-trading intraday Stock/ETF/ELW using recurrent neural networks
Stars: ✭ 32 (+28%)
Mutual labels:  trading, backtest
Siis
Trading bot including terminal, for crypto and traditionals markets. Assisted or fully automated strategy.
Stars: ✭ 45 (+80%)
Mutual labels:  trading, forex
Pytrader Python Mt4 Mt5 Trading Api Connector Drag N Drop
End-to-End solution connecting Metatrader4 & Metatrader5 💹 with Python with a simple drag and drop EA. Fully tested bug free & efficient solution for live & paper trading⭐ Full Documentation ready.
Stars: ✭ 93 (+272%)
Mutual labels:  trading, forex
Bot18
Bot18 is a high-frequency cryptocurrency trading bot developed by Zenbot creator @carlos8f
Stars: ✭ 157 (+528%)
Mutual labels:  trading, forex
Gym Anytrading
The most simple, flexible, and comprehensive OpenAI Gym trading environment (Approved by OpenAI Gym)
Stars: ✭ 627 (+2408%)
Mutual labels:  trading, forex
Oandapyv20 Examples
Examples demonstrating the use of oandapyV20 (oanda-api-v20)
Stars: ✭ 102 (+308%)
Mutual labels:  trading, forex
Crex
A Golang cryptocurrency trading API & Library. Support Binance, BitMEX, Deribit, Bybit, Huobi DM, OKEX Futures and more.
Stars: ✭ 166 (+564%)
Mutual labels:  trading, backtest
Algotrading
Algorithmic trading framework for cryptocurrencies.
Stars: ✭ 249 (+896%)
Mutual labels:  trading, backtest
Ta4j
A Java library for technical analysis.
Stars: ✭ 948 (+3692%)
Mutual labels:  trading, forex
Backtesting.py
🔎 📈 🐍 💰 Backtest trading strategies in Python.
Stars: ✭ 1,124 (+4396%)
Mutual labels:  trading, forex
Tradinggym
Trading and Backtesting environment for training reinforcement learning agent or simple rule base algo.
Stars: ✭ 813 (+3152%)
Mutual labels:  trading, backtest
Strategems.jl
Quantitative systematic trading strategy development and backtesting in Julia
Stars: ✭ 106 (+324%)
Mutual labels:  trading, backtest
Jiji2
Forex algorithmic trading framework using OANDA REST API.
Stars: ✭ 211 (+744%)
Mutual labels:  trading, forex
Gekko Backtesttool
Batch backtest, import and strategy params optimalization for Gekko Trading Bot. With one command you will run any number of backtests.
Stars: ✭ 203 (+712%)
Mutual labels:  trading, backtest

MetaTrader 4 framework DLL extension

This project is part of the MetaTrader 4 development framework.


Build environment

For backward compatibility with Windows XP the DDL is built with Visual Studio 2008 (an Express version was not tested). It may be possible to setup a current version of Visual Studio to support Windows XP (or to skip Windows XP support at all).

Shared header files

The header files in {expander-root}/header/shared should be shared with the MetaTrader 4 MQL framework to make sure that definitions in both projects match. It can be accomplished by symlinking the files from {rosasurfer/mt4-mql}/mql4/include/shared to {expander-root}/header/shared. The DLL can be build with and without shared headers. If you get the error Cannot open include file: 'shared/defines.h': No such file or directory symlink the shared files or run the build tool at least once to setup building without shared headers.

Pre/Post-build events

If the Visual Studio build tool can't find the header files in {expander-root}/header/shared the pre-build event restores backups from {expander-root}/header/shared/bak.

After a successfull build the post-build event creates new backups of the currently used files. If a (symlinked) directory {expander-root}/bin/mql4-libraries is found the resulting DLL is copied into that directory.

:: Pre-build event
if not exist "$(ProjectDir)header\shared\defines.h" (
   echo Shared header "$(ProjectDir)header\shared\defines.h" missing, using backup...
   copy "$(ProjectDir)header\shared\bak\defines.h" "$(ProjectDir)header\shared\"
)
if not exist "$(ProjectDir)header\shared\errors.h" (
   echo Shared header "$(ProjectDir)header\shared\errors.h" missing, using backup...
   copy "$(ProjectDir)header\shared\bak\errors.h" "$(ProjectDir)header\shared\"
)
:: Post-build event
echo Backing up shared header files...
copy "$(ProjectDir)header\shared\*.h" "$(ProjectDir)header\shared\bak\"

if exist "$(ProjectDir)bin\mql4-libraries\" (
   echo Copying DLL to MetaTrader MQL libraries...
   copy "$(TargetPath)" "$(ProjectDir)bin\mql4-libraries\rsfMT4Expander.$(ConfigurationName)$(TargetExt)"
)

Managing symlinks and junctions on Windows

A comfortable way to manage Windows reparse points is the free Link Shell Extension by Hermann Schinagl. To activate Git support for symbolic links on Windows add the config option core.symlinks = true to your Git configuration:

$ git config --global core.symlinks true
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].