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
- https://github.com/erlonfs/first-candle.bad-robot
- https://github.com/erlonfs/box.bad-robot
- https://github.com/erlonfs/elephant-walk.bad-robot
- https://github.com/erlonfs/line.bad-robot
Quer utilizar o robô e não sabe como obter o executável apenas com o código-fonte? Entre em contato através do email erlon.efs@gmail.com para fornece-lo. E bons trades!