Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 326

 
Vitaly Muzichenko:

Use o botão para inserir o código!

Obrigado))) Agora eu saberei))) Eu indiquei em que lugar ocorre um erro durante a compilação
double Price;                                                               // Цена выбранного ордера
  double Mas[];                                                                //массив для упорядочивания всех ордеров
  for(int i=0; i<OrdersTotal(); i++)                                           // Цикл перебора ордер
   {
    if(OrderSelect(i,SELECT_BY_POS))                                           // Если есть следующий
     {
      Price=OrderOpenPrice();                                                    //Заполняем массив ценами
      Mas[i] = Price;
     }
   }
  
          ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND);                           // Теперь цены открытия упорядочены по убыванию
          
        int Blizko1=ArrayBsearch(Mas,Bid,WHOLE_ARRAY,0,MODE_ASCEND);           //Определен индекс ближайшего меньшего по значению елемента к текущей цене
        double PriceBlizko1=Mas[Blizko1];
     
     }  
      if (PriceBlizko1-Ask>=30*Point)                          //Если верхний ордер дальше чем 30 пунктов !!!! 'PriceBlizko1' - undeclared identifier!!!!!

       {OrderSend(Symbol(),OP_BUY,LtsB,Ask,2,0,Bid+30*Point);      //Открываем ордер Бай
               Alert (GetLastError());                                    //Сообщение об ошибке
Estranho porque a PriceBlizko1 é descrita na linha acima
 

O que, ninguém usa indicadores do ClusterDelta?

 
vikzip:
Obrigado)))) Agora eu saberei)))) Eu indiquei em que lugar dá um erro na compilação
Estranho porque a PriceBlizko1 é descrita na linha acima

Está descrito exatamente na linha acima. Ela precisa ser definida globalmente para que esteja disponível para todas as unidades, não apenas para a unidade local (atual)

 
voron_026:

Ninguém usa indicadores do ClusterDelta?

Ler objetos e obter dados deles:ObjectGetDouble

Документация по MQL5: Графические объекты / ObjectGetDouble
Документация по MQL5: Графические объекты / ObjectGetDouble
  • www.mql5.com
2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром. [in]  Модификатор указанного свойства. Для первого варианта по умолчанию значение модификатора равно 0. Большинство свойств не требуют модификатора...
 
Vitaly Muzichenko:

Está descrito exatamente na linha acima. Ela precisa ser definida globalmente, para que esteja disponível para todas as unidades, e não apenas para a unidade local (atual)


Obrigado)

 

Parece ter terminado de escrever a EA, mas um erro aparece

')' - nem todos os caminhos de controle retornam um valor

Com o que pode estar relacionado. Tentei colocar retorno, o erro muda

devolução" - a função deve retornar um valor


possível uso da variável não-inicializada 'Ticket'.
possível uso da variável não-inicializada 'LtsB'.
possível uso da variável não-inicializada 'LtsS'.
"retorno" - a função deve retornar um valor
1 erro(s), 3 advertência(ões)

Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 (MQL5), среда разработки MetaEditor и инструменты тестирования стратегий. Любую информацию о разработке торговых стратегий на языке MQL5 можно найти на официальном сайте MQL5.community. На этом же сайте в разделе Code Base могут быть...
 
vikzip:

Parece ter terminado de escrever a EA, mas um erro aparece

')' - nem todos os caminhos de controle retornam um valor

Com o que pode estar relacionado. Tentei colocar retorno, o erro muda

O 'retorno' - a função deve retornar um valor


Talvez a função devaretornar(0);

 
Vitaly Muzichenko:

Talvez umretorno(0) como este seja necessário;


AAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH !!!! Obrigado!!!

 
vikzip:

AAAAAAAAAA HOORAY!!!! Obrigado!!!

Por que "obrigado"? A função deve retornar um valor. E você sempre retorna zero. Se é suposto não devolver nada, seu tipo deve ser nulo.

 
Artyom Trishkin:

Em mql4, mql5 uma matriz é sempre passada para uma função apenas por referência (& == ampersand)

Em primeiro lugar - nos parâmetros formais de uma função, há um ampersand, e indica que não é a matriz em si que é passada para a função, mas uma referência a ela. E então - dentro da função - você já está trabalhando com a referência, o que significa que você não precisa especificá-la novamente.

O til (~) precede o nome do destruidor de classe - o construtor e o destruidor têm o mesmo nome da própria classe, mas o destruidor tem ~.

Leia este artigo sobre quando usar referências e quando usar apontadores.

Embora, você ainda precise ler o básico.

Obrigado!