Esdras C. Prado

MQL4 エキスパート

仕事が完了した

実行時間5 日
依頼者からのフィードバック
Muito prestativo e atencioso, e o trabalho dele pra mim foi muito bem elaborado atendendo ao que foi proposto. Obrigado João!

指定

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
//-------------------------------------------------------------------------------------------------


応答済み

1
開発者 1
評価
(414)
プロジェクト
478
40%
仲裁
7
43% / 29%
期限切れ
16
3%
2
開発者 2
評価
(13)
プロジェクト
32
69%
仲裁
2
0% / 0%
期限切れ
10
31%
仕事中
3
開発者 3
評価
(89)
プロジェクト
139
24%
仲裁
34
32% / 44%
期限切れ
59
42%
仕事中
4
開発者 4
評価
(4)
プロジェクト
5
40%
仲裁
0
期限切れ
3
60%
5
開発者 5
評価
(1100)
プロジェクト
1782
61%
仲裁
14
64% / 7%
期限切れ
84
5%
類似した注文
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

プロジェクト情報

予算
20 - 30 USD
開発者用
18 - 27 USD