Esdras C. Prado

MQL4 Experts

Tâche terminée

Temps d'exécution 5 jours
Commentaires du client
Muito prestativo e atencioso, e o trabalho dele pra mim foi muito bem elaborado atendendo ao que foi proposto. Obrigado João!

Spécifications

Olá! Gostaria de saber se alguém se habilita e quanto cobra para acrescentar um TrailingStop neste EA que posto logo abaixo e que já está pronto, só não possui o Trailing!

//+------------------------------------------------------------------+
//|                                        Exemplo médias móveis.mq4 |
//|                                                              XTB |
//|                                                                  |
//+------------------------------------------------------------------+

#define IdentificadorEA  101

#property copyright "XTB"
#property link      ""

//---- Input parameters - parâmetros do Expert Advisor que podem ser alterados quando se executa o dito.
extern double       Lotes=0.1;
extern int       MMlenta=50;
extern int       MMrapida=20;

//-------------------------------------------------------------------------------------------------

datetime LastTradeBarTime;

//-------------------------------------------------------------------------------------------------
// init, função executada quando o EA se inicia ou reinicia

int init()
  {
   // Necessário para controlar se estamos numa nova barra
   LastTradeBarTime = Time[1]; 
   return(0);
  }


//-------------------------------------------------------------------------------------------------
// start, função executada a cada tick recebido pelo EA 

int start()
  {

  // Variáveis temporárias, renovadas a cada chamada do EA

  double vMMrapida0;                 // MM rápida da última barra 
  double vMMrapida1;                 // MM rápida da penúltima barra 
  double vMMlenta0;                  // MM lenta da última barra
  double vMMlenta1;                  // MM lenta da penúltima barra
  int resposta;                      // Variável que obterá a resposta do terminal quando envia uma ordem

  // Verifica se estamos no início de uma barra e apenas processa as instruções se isso for verdade
  if (LastTradeBarTime == Time[0]) 
     return(0); // Não é o primeiro tick de uma nova barra, por isso sai
  else 
  {
     LastTradeBarTime = Time[0]; // continua

     // Valores das médias móveis na barra que acabou de terminar, e na imediatamente anterior
     vMMrapida0=iMA(Symbol(),0,MMrapida,0,MODE_SMA,PRICE_CLOSE,1); // Obtém o valor da MM rápida da barra que terminou
     vMMrapida1=iMA(Symbol(),0,MMrapida,0,MODE_SMA,PRICE_CLOSE,2); // Obtém o valor para a MM rápida da barra anterior
     vMMlenta0=iMA(Symbol(),0,MMlenta,0,MODE_SMA,PRICE_CLOSE,1);   // Obtém o valor da MM lenta da barra que terminou
     vMMlenta1=iMA(Symbol(),0,MMlenta,0,MODE_SMA,PRICE_CLOSE,2);   // Obtém o valor para a MM lenta da barra anterior

     // Verifica se existiu um cruzamento da MM rápida acima da MM lenta
     if (vMMrapida1<vMMlenta1 && vMMrapida0>vMMlenta0) 
     {
        // Se já existem trades abertos, tem de os fechar
        if (OrdersTotal() > 0) FecharTodosTrades();

        // Abre um trade longo
        resposta = OrderSend(Symbol(), OP_BUY, Lotes, NormalizeDouble(Ask,Digits), 3, 0, 0, "mm exemplo buy", IdentificadorEA, 0, Blue);
     }

     // Verifica se existiu um cruzamento da MM rápida abaixo da MM lenta
     if (vMMrapida1>vMMlenta1 && vMMrapida0<vMMlenta0) 
     {
        // Se já existem trades abertos, tem de os fechar
        if (OrdersTotal() > 0) FecharTodosTrades();

        // Abre um trade curto
        resposta = OrderSend(Symbol(), OP_SELL, Lotes, NormalizeDouble(Bid,Digits), 3, 0, 0, "mm exemplo sell", IdentificadorEA, 0, Red);
     }
  }
  return(0);
}


//-------------------------------------------------------------------------------------------------
// deinit, função executada quando o EA termina

int deinit()
  {
   // Se existem trades abertos, tem de os fechar
   if (OrdersTotal() > 0) FecharTodosTrades();
   return(0);
  }


//-------------------------------------------------------------------------------------------------
// Função que fecha todos os trades existentes

int FecharTodosTrades()
  {
   for(int i=0;i<OrdersTotal();i++)
   {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false)        break;
      
      // A função vai fechar todas as ordens que sejam deste EA e sobre o símbolo corrente
      if(OrderMagicNumber() == IdentificadorEA && OrderSymbol() == Symbol()) 
      {
         if(OrderType()==OP_BUY)
            OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3,White);
         if(OrderType()==OP_SELL)
            OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3,White);
      }
   } 
   return(0);
  }


// FIM
//-------------------------------------------------------------------------------------------------


Répondu

1
Développeur 1
Évaluation
(414)
Projets
478
40%
Arbitrage
7
43% / 29%
En retard
16
3%
Gratuit
2
Développeur 2
Évaluation
(13)
Projets
32
69%
Arbitrage
2
0% / 0%
En retard
10
31%
Travail
3
Développeur 3
Évaluation
(89)
Projets
139
24%
Arbitrage
34
32% / 44%
En retard
59
42%
Travail
4
Développeur 4
Évaluation
(4)
Projets
5
40%
Arbitrage
0
En retard
3
60%
Gratuit
5
Développeur 5
Évaluation
(1100)
Projets
1782
61%
Arbitrage
14
64% / 7%
En retard
84
5%
Gratuit
Commandes similaires
Hi, I've been developing a Scalping strategy that now I want to apply to a bot in order to save me some time. Requirements: - Trade Timeframe: M1 - Indicators: EMA (Exponential Moving Average), SMA (Simple Moving Average) Based on indicators above, bot will buy assets applying Stop Loss and Take Profit values. Let me know if you are interested... Thanks
Robô para negociação automática: Variáveis de negociação: Lote, hora de negociação, horário de zeragem de ordens. trail stop sim ou nao: cada canal rompido a favor da operação, sobe x canal Stop do dia: em pontos Take do dia: em pontos Quantidade de operações no dia: x Quantidade de ganhos no dia: x Quantidade de perdas no dia: x Variáveis dos indicadores: Media móvel, período e tipo de calculo e quantidade de pontos
Gostaria de corrigir 2 erros em meu EA, ele é complexo e tem mais de 6k linhas. Quero saber sua experiência antes de firmarmos qualquer acordo. Conversaremos mais a respeito e tenho que colocar palavras aqui para dar 30 palavras e eu poder postar

Informations sur le projet

Budget
20 - 30 USD
Pour le développeur
18 - 27 USD