Assista a como baixar robôs de negociação gratuitos

Roteiro interessante?
Então poste um link sobre isto -
deixe que outros avaliem

Você gostou do roteiro? Experimente no terminal MetaTrader 5

Especialistas

Exemplo de um Robô usando medias moveis para um cruzamento de medias - expert para MetaTrader 5

Jonathan Pereira

Visualizações:
1276
Classificação:
votos: 17
Publicado:
2020.05.17 05:03

Esse aplicativo foi feito pensando em como trabalhar com o indicador de médias moveis de uma maneira orientada a objetos, e como isso pode trazer autonomia no código. Se o leitor notar a classe projetada para a media móvel pode ser facilmente adaptada para outro indicador, ela traz uma certa liberdade no momento de checar os valores, como o trabalho é feito com medias o buffer ficou fixo em 0, porém, para um outro indicador é necessário a utilização do buffer correto, deixo uma dica de se pode criar um membro de classe buffer e um set para pode alternar entre diferentes buffers, um exemplo seria bandas de bollinger ou qualquer outro indicador que tenha mais de um buffer.

A ideia é trazer uma certa simplicidade em usar um indicador.


O EA possui um Simples Painel onde mostra o nome do Ativo, tipo de operação, lote e o preço atual e dois botões que podem ativar ou desativar a negociação, esse Painel foi feito usando o código postado pelo @RAFAEL FLORIANI PINTO, e pode ser encontrado no link https://www.mql5.com/pt/code/27703


É possível definir um horário de funcionamento para o EA, e também fazer ou não viradas de mão, o EA trabalha tick a tick ou ao surgimento de uma nova barra.


input group   "moving average"
input int                ma_fast_perio        = 8;
input int                ma_fast_shift        = 0;
input ENUM_MA_METHOD     ma_fast_method       = MODE_EMA;
input ENUM_APPLIED_PRICE ma_fast_appied_price = PRICE_CLOSE;
input int                ma_slow_perio        = 17;
input int                ma_slow_shift        = 0;
input ENUM_MA_METHOD     ma_slow_method       = MODE_EMA;
input ENUM_APPLIED_PRICE ma_slow_appied_price = PRICE_CLOSE;
input group   "Expert"
sinput uint            magicNumber     = 123;
sinput ulong           desvPts         = 0;
sinput double          inpLot          = 100;
sinput TypeEvent       inpEvent        = EVENT_NEW_BAR;
sinput bool            reversePosition = false;
sinput string          startTime       = "10:40";
sinput string          endTime         = "16:06";
sinput string          closingTime     = "17:32";





    Epsilon-Greedy Algorithm Epsilon-Greedy Algorithm

    Semi-uniform strategies were the earliest (and simplest) strategies discovered to approximately solve the bandit problem. All those strategies have in common a greedy behavior where the best lever (based on previous observations) is always pulled except when a (uniformly) random action is taken.

    Veja onde está sendo a atuação dos grandes players de mercado Veja onde está sendo a atuação dos grandes players de mercado

    Quando os números aparecem na parte inferior indica alta, quando aparece na parte superior indica baixa, quando aparece no meio do candlestick indica continuidade do movimento.

    Accumulation/Distribution Accumulation/Distribution

    O Indicador Accumulation/Distribution (Acumulação/Distribuição ou A/D) é determinado pelas mudanças de preço e volume.

    Accelerator Oscillator (AC) Accelerator Oscillator (AC)

    O Indicador Acceleration/Deceleration (Aceleração/Desaceleração ou AC) mede a aceleração e a desaceleração da força motriz atual do mercado.