Ajuda com Código

 

Boa Tarde,

Prezados, poderiam me ajudar, nao tenho muita experiencia em programação, mas consegui desenvolver esse Consultor Expert em MQL5, mas está gerando alguns erros, poderiam me ajudar por favor?


//Código do Expert Advisor

#property copyright "Copyright 2023, O proprio"

#property link      "https://www.meusite.com"

#property version   "1.00"

#property strict

#include <Expert\ExpertSignal.mqh>

#include <Expert\ExpertTrade.mqh>

#include <Expert\ExpertTrailing.mqh>

#include <Trade\Trade.mqh>

#include <Trade\AccountInfo.mqh>

#include <Trade\OrderInfo.mqh>

#include <Trade\PositionInfo.mqh>

#include <Indicators\Oscilators.mqh>

#include <Trade\SymbolInfo.mqh>





//Definir variáveis

input int Contratos = 1;

int CandleAtual;

int Candle1;

int Candle2;

int Candle3;

int Candle4;

int TakeProfit=40;

int StopLoss=70;



//Funções

int init()

{ 

  CandleAtual = iHighest(NULL, PERIOD_CURRENT, MODE_HIGH, 190, 0);

  Candle1 = iHighest(NULL, PERIOD_CURRENT, MODE_HIGH, 190, 1);

  Candle2 = iHighest(NULL, PERIOD_CURRENT, MODE_HIGH, 190, 2);

  Candle3 = iHighest(NULL, PERIOD_CURRENT, MODE_HIGH, 190, 3);

  Candle4 = iHighest(NULL, PERIOD_CURRENT, MODE_HIGH, 190, 4);

  

  return(0);

}



//Função de entrada

void start()

{

  //Verifica se os candles não estão rompendo o topo

  if(CandleAtual >= Candle1 && CandleAtual >= Candle2 && CandleAtual >= Candle3 && CandleAtual >= Candle4)

  {

    //Verifica se o quarto candle rompeu

    if(Candle4 < CandleAtual - 5)

    {

      //Abre uma operação de compra

      OrderSend(Symbol(), OP_BUY, Contratos, 0, 0, StopLoss, TakeProfit, "", 0, 0, CLR_NONE);

    }

  }

  //Verifica se os candles não estão rompendo o fundo

  else if(CandleAtual <= Candle1 && CandleAtual <= Candle2 && CandleAtual <= Candle3 && CandleAtual <= Candle4)

  {

    //Verifica se o quarto candle rompeu

    if(Candle4 > CandleAtual + 5)

    {

      //Abre uma operação de venda

      OrderSend(Symbol(), OP_SELL, Contratos, 0, 0, StopLoss, TakeProfit, "", 0, 0, CLR_NONE);

    }

  }

}


Os erros que dao sao:

'OP_BUY' - undeclared identifier

'OrderSend' - wrong parameters count

   built-in: bool OrderSend(const MqlTradeRequest&,MqlTradeResult&)

'OP_SELL' - undeclared identifier

'OrderSend' - wrong parameters count

   built-in: bool OrderSend(const MqlTradeRequest&,MqlTradeResult&)


Desde já fico muito grato se alguem puder corrigir esses erros no codigo.

 
josemorenofilho:

Boa Tarde,

Prezados, poderiam me ajudar, nao tenho muita experiencia em programação, mas consegui desenvolver esse Consultor Expert em MQL5, mas está gerando alguns erros, poderiam me ajudar por favor?



Os erros que dao sao:

'OP_BUY' - undeclared identifier

'OrderSend' - wrong parameters count

   built-in: bool OrderSend(const MqlTradeRequest&,MqlTradeResult&)

'OP_SELL' - undeclared identifier

'OrderSend' - wrong parameters count

   built-in: bool OrderSend(const MqlTradeRequest&,MqlTradeResult&)


Desde já fico muito grato se alguem puder corrigir esses erros no codigo.

1) Essas duas funcoes excludentes e estao com nome errado. Tirando isso de lado, vamos em frente;

2) Seu iHighest vai ser chamado somente uma vez e os valores nao estao normalizados para o ativo entao quando passar pro order send pode resultar em invalid stop ou algum outro tipo de erro de arredondamento;

3) Como o compilador te disse a OrderSend so recebe dois parametros de entrada e essas informacoes que esta passando como parametro vao dentro das variaveis que a funcao vai receber.

Recomendaria estudar scripts inicialmente, e depois tentar estudar aquela versao de EA gerada automaticamente. Se faz bastante coisa com ela e quase nao tem que saber programar.

 
josemorenofilho:

Boa Tarde,

Prezados, poderiam me ajudar, nao tenho muita experiencia em programação, mas consegui desenvolver esse Consultor Expert em MQL5, mas está gerando alguns erros, poderiam me ajudar por favor?



Os erros que dao sao:

'OP_BUY' - undeclared identifier

'OrderSend' - wrong parameters count

   built-in: bool OrderSend(const MqlTradeRequest&,MqlTradeResult&)

'OP_SELL' - undeclared identifier

'OrderSend' - wrong parameters count

   built-in: bool OrderSend(const MqlTradeRequest&,MqlTradeResult&)


Desde já fico muito grato se alguem puder corrigir esses erros no codigo.

Sugiro contratar alguém que entenda de MQL5... Toda a sua estrutura de código está errada.


Se você é um programador e quer se aprofundar no assunto, nos diga, para direcionarmos você...


Esse código que você fez, não rola...