Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Experts

CrossMA - expert para MetaTrader 5

Publicado por:
Vladimir Karputov
Visualizações:
1148
Avaliação:
(17)
Publicado:
2017.02.01 08:03
Atualizado:
2018.02.22 14:28
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Autor da ideia — George F.Peskov, autor do código mq5 — barabashkakvn.

Sistema de negociação com base na interseção de duas iMA, MA, o Stop-Loss é colocado automaticamente a partir do valor ATR. Ao abrir e fechar uma posição, uma mensagem é enviada para o e-mail. Você pode escolher os parâmetros usando o teste de estratégia com base no histórico, quer dizer, um tipo de back-test.

Obtenção dos valores dos indicadores na primeira e segunda barra:

//--- get Moving Average
   mas=iMAGet(handle_iMA1,1);       // indicador média móvel longo 12
   maf=iMAGet(handle_iMA2,1);       // indicador média móvel curto 4
   mas_p=iMAGet(handle_iMA1,2);     // indicador média móvel longo 12
   maf_p=iMAGet(handle_iMA2,2);     // indicador média móvel curto 4
   Atr=iATRGet(0);

Verificação das condições de venda:

//--- Condições de venda
   if(maf<mas && maf_p>=mas_p)
     {
      double lots=LotsOptimized();
      double stop_loss=NormalizeDouble(m_symbol.Ask()+Atr,Digits());
      res=m_trade.Sell(lots,Symbol(),m_symbol.Bid(),stop_loss,0);
      if(SndMl==true && res)
        {
         sHeaderLetter="Operation SELL by"+Symbol()+"";
         sBodyLetter="Deal Sell by"+Symbol()+" at "+DoubleToString(m_symbol.Bid(),Digits())+
                     ", and set stop/loss at "+DoubleToString(stop_loss,Digits())+"";
         sndMessage(sHeaderLetter,sBodyLetter);
        }
      return;
     }

Verificação de condições de compra:

//--- Condição de compra
   if(maf>mas && maf_p<=mas_p)
     {
      double lots=LotsOptimized();
      double stop_loss=NormalizeDouble(m_symbol.Bid()-Atr,Digits());
      res=m_trade.Buy(lots,Symbol(),m_symbol.Ask(),stop_loss,0);
      if(SndMl==true && res)
        {
         sHeaderLetter="Operation BUY at"+Symbol()+"";
         sBodyLetter="Deal Buy at"+Symbol()+" for "+DoubleToString(m_symbol.Ask(),Digits())+
                     ", and set stop/loss at "+DoubleToString(stop_loss,Digits())+"";
         sndMessage(sHeaderLetter,sBodyLetter);
        }
      return;
     }


 

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/16949

RT Scalper RT Scalper

Indicador em tempo real, concebido para escalpelamento em FORTS.

Exp_FisherTransform_X2 Exp_FisherTransform_X2

Sistema de negociação de tendência Exp_FisherTransform_X2 plotado com base nos sinais de dois indicadores FisherTransform.

Exp_2pbIdealMA_ReOpen Exp_2pbIdealMA_ReOpen

Expert Exp_2pbIdealMA com base nas interseções de duas médias móveis com recarregamentos (abertura de ordem adicional na direção da posição já existente).

Fractal_CCI Fractal_CCI

Commodity Channel Index fractal.