Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 326

 
Vitaly Muzichenko:

Usa il pulsante per inserire il codice!

Grazie))) Ora lo saprò))) ho indicato in quale luogo si verifica un errore durante la compilazione
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());                                    //Сообщение об ошибке
Strano perché PriceBlizko1 è descritto nella riga sopra
 

Cosa, nessuno usa gli indicatori di ClusterDelta?

 
vikzip:
Grazie))) Ora lo saprò))) ho indicato in quale luogo dà un errore alla compilazione
Strano perché PriceBlizko1 è descritto nella riga sopra

È descritto esattamente nella riga sopra. Deve essere definito globalmente in modo che sia disponibile a tutte le unità, non solo a quella locale (attuale)

 
voron_026:

Nessuno usa gli indicatori di ClusterDelta?

Leggere oggetti e prendere dati da essi:ObjectGetDouble

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

È descritto esattamente nella riga sopra. Deve essere definito globalmente, in modo che sia disponibile a tutte le unità, non solo a quella locale (attuale)


Grazie)

 

Sembra che abbia finito di scrivere l'EA, ma appare un errore

')' - non tutti i percorsi di controllo restituiscono un valore

A cosa può essere collegato. Ho provato a mettere return, l'errore cambia

'return' - la funzione deve restituire un valore


possibile uso di una variabile non inizializzata "Ticket
possibile uso di una variabile non inizializzata 'LtsB'.
possibile uso di una variabile non inizializzata 'LtsS'.
'return' - la funzione deve restituire un valore
1 errore(i), 3 avviso(i)

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

Sembra che abbia finito di scrivere l'EA, ma appare un errore

')' - non tutti i percorsi di controllo restituiscono un valore

A cosa può essere collegato. Ho provato a mettere return, l'errore cambia

Il 'return' - la funzione deve restituire un valore


Forse la funzione deverestituire(0);

 
Vitaly Muzichenko:

Forse è necessario unreturn(0) come questo;


AAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH !!!! Grazie!!!

 
vikzip:

AAAAAAAA HOORAY!!!! Grazie!!!

Perché "grazie"? La funzione dovrebbe restituire un valore. E tu restituisci sempre zero. Se si suppone che non restituisca nulla, il suo tipo dovrebbe essere void.

 
Artyom Trishkin:

In mql4, mql5 un array è sempre passato a una funzione solo per riferimento (& == ampersand)

In primo luogo - nei parametri formali di una funzione, c'è una e commerciale, e indica che non è l'array stesso che viene passato nella funzione, ma un riferimento ad esso. E poi - all'interno della funzione - state già lavorando con il riferimento, il che significa che non dovete specificarlo di nuovo.

La tilde (~) precede il nome del distruttore della classe - il costruttore e il distruttore hanno lo stesso nome della classe stessa, ma il distruttore ha ~.

Leggete questo articolo su quando usare i riferimenti e quando usare i puntatori.

Anche se è comunque necessario leggere le basi.

Grazie!

Motivazione: