Um framework de criação de robôs traders, onde todas as definições e gerenciamentos ficam por conta do BadRobot. Implemente apenas a estratégia sem se preocupar com o gerenciamento do trade.
Faça o download do framework ou git clone https://github.com/erlonfs/bad-robot.framework.git.
Copie ou clone o projeto dentro do diretorio de instalação do metatrader 5, na pasta MQL5.
Ferramentas necessárias para desenvolvimento
Metatrader 5
MetaEditor 5
Execute o metatrader 5, acesse o editor de linguagem MetaQuotes (MetaEditor 5) ou pressione f4 no terminal de negociação. Acesse o menu Arquivo > Abrir diretório de dados. Você está dentro do diretório da instalação do terminal, acesse a pasta \MQL5. Todo o codigo do framework deve ser baixado ou clonado aqui.
$ cd MQL5
$ git clone https://github.com/erlonfs/bad-robot.framework.git
Até o momento temos o framework no diretório de desenvolvimento. O Proximo passo é repetir o procedimento para os robôs especificamente. O diretório onde eles deverão ser clonados será \Experts.
Exemplo
$ cd Experts
$ git clone https://github.com/erlonfs/first-candle.bad-robot.git
Apos isso, retorne ao editor de codigos, utilizado o navegador à esqueda para explorar o diretório de desenvolvimento, acesse a pasta \Experts\first-candle.bad-robot, e o arquivo first_candle.mq5. Compile o projeto ou pressione F7.
Dessa forma estará sendo compilado o robô na versão de instalação do framework. Para versões mais atualizadas do BadRobot acesse https://github.com/erlonfs/bad-robot.framework/releases. Repita o procedimento para novas atualizaçôes do framework, necessitando apenas de uma nova compilação do robô.
Veja como instalar utilizando o git bash
Funções e ferramentas que o framework oferece:
| Função | Descrição | 
|---|---|
| Stop Gain | Saída com lucro em uma operção | 
| Stop Loss | Saída com prejuizo máximo em uma operação | 
| Stop no candle anterior | Determina um novo stop loss a cada novo candlestick, que por sua vez é ajustado para a mínima do mesmo | 
| Horário de inicio e fim | Determina o hórario de início e término do robô | 
| Horário de intervalo | Determina um intervalo para pausa da execução da estratégia | 
| Trailing Stop | Quando ativado, ajusta o stop loss de acordo com o movimento e avanço da preço a favor na operação, ajustando assim o mesmo de acordo com a definição do usuário | 
| Break-even | Habilita o ponto de equilibrio, de acordo com a definição do usuário | 
| Saída Parcial | De acordo com as saídas configuradas, ocorre a realizacao parcial da posição, garantindo parte do lucro caso a operação volte contra a posição | 
| Gerenciamento Financeiro | Habilita o gerenciamento financeiro diário do robô, caso necessite determinar uma parada por atingir um valor de prejuizo máximo diário | 
| Notificações no App MT5 | Envia notificações para o app metatrader5 para android (disponivel na play store) | 
Para comecar um novo projeto, pode se utilizar o exemplo sample.bad-robot. Pois ele já possui uma estrutura com uso do framework, faltando apenas a codificação da estratégia.
Por limitações da linguagem mql5, ainda não possui testes unitários implementados no framework. Utiliza backtest do metatrader5 e técnicas de debugging.
Ao compilar o robô, um arquivo com mesmo nome first_candle.mq5, mas com extensão .ex5 estará no diretório do mesmo. Ficando assim:
first_candle.ex5
Esse será o executável do robô. De volta ao metatrader 5, no navegador Exibir\Navegador (CTRL+N ), no grupo Consultor expert estará o robô, pronto para uso.
Entre em contato pra discutirmos novas idéias e então é so submeter um pull request.
Nós utilizamos SemVer para versionamento. Para versões disponiveis, acesse tags on this repository.
- Erlon F Souza - Idealizador - erlonfs
Veja também a lista de contribuidores Participantes do projeto.
Este projeto é licenciado sob a MIT License - veja em LICENSE para mais detalhes
Veja outros robôs desenvolvidos utlizando o framework
