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

 
Artyom Trishkin:

Beh, c'è una funzione che converte qualsiasi data che le passi nella data di inizio della data che hai passato nella funzione:

Ma quale data, e come la passerai ...

Grazie,Artyom Trishkin. Spero che gli errori siano corretti ora.

 

Sfortunatamente, l'errore e l'avvertimento rimangono come erano.

 

il terminale si è riavviato.

 
buyanov:

Sfortunatamente, l'errore e l'avvertimento rimangono come erano.


Bene. Non si può usare uno già pronto. Dovrete farlo voi stessi.

Per prima cosa, rimuovete tutti gli avvisi e mettete in ordine le variabili.

Non dovreste assegnare valori di stringa a variabili intere.

E per le funzioni. È necessario rimuovere i parametri in alcune funzioni o dare loro altri nomi che non coincidono con il globale.

 
buyanov:

Grazie,Artyom Trishkin. Spero che gli errori siano stati corretti ora.

È stato Victor ad aiutarvi, non io.

Forum sul trading, sistemi di trading automatico e test di strategia

Tutte le domande dei neofiti su MQL4, aiuto e discussione su algoritmi e codici

Victor Nikolaev, 2017.09.06 12:05


Ok. Non si può usare uno già pronto. Dovrete farlo voi stessi.

Per prima cosa, rimuovete tutti gli avvisi e mettete in ordine le variabili.

Non assegnare valori di stringa alle variabili intere.

E per le funzioni. Oppure dovete rimuovere i parametri in alcune funzioni o dare loro altri nomi che non coincidono con il globale.


Ringraziatelo e ascoltatelo - non vi dirà nulla di male.

 

Rimuoveròl'Alert, non è difficile. E l'errore? E l'avvertimento?

Non capisco.
 
buyanov:

Rimuoverò l'Alert, non è difficile. E l'errore? E l'avvertimento?

Risolverlo, naturalmente, che altro, hanno anche suggerito una soluzione. Non sei stanco di fare di una montagna un mulino? Forse la programmazione non fa per te, prova a cimentarti nella costruzione.

 
Vitaly Muzichenko:

Correggerlo naturalmente, che altro, c'è anche una soluzione offerta qui. Non sei stanco di farne un dramma? Forse la programmazione non fa per te, prova a cimentarti nella costruzione.


Dove ho sbagliato?

 

Potresti indicare dove ho assegnato valori di stringa a variabili di stringa?

C'era un avvertimento "Conversione implicita da stringa a numero". Ma non vedo un incarico.

 
buyanov :

Si prega di indicare dove ho assegnato i valori di stringa alle variabili di stringa?

C'era un avviso "Conversione implicita da stringa a numero". Ma non vedo l'incarico.


 int ErrorDescription()
  { 
 Alert ( "beg ErrorDescription" );

   switch (err)
   {           case 0 :   err= "Нет ошибок" ;                                                     break ;
       case 1 :   err= "Нет ошибки, но результат неизвестен" ;                             break ;
       case 2 :   err= "Общая ошибка" ;                                                   break ;
       case 3 :   err= "Неправильные параметры" ;                                         break ;
       case 4 :   err= "Торговый сервер занят" ;                                           break ;
       case 5 :   err= "Старая версия клиентского терминала" ;                             break ;
       case 6 :   err= "Нет связи с торговым сервером" ;                                   break ;
       case 7 :   err= "Недостаточно прав" ;                                               break ;
       case 8 :   err= "Слишком частые запросы" ;                                         break ;
       case 9 :   err= "Недопустимая операция нарушающая функционирование сервера" ;       break ;
       case 64 :  err= "Счет заблокирован" ;                                               break ;
       case 65 :  err= "Неправильный номер счета" ;                                       break ;
       case 128 : err= "Истек срок ожидания совершения сделки" ;                           break ;
       case 129 : err= "Неправильная цена" ;                                               break ;
       case 130 : err= "Неправильные стопы" ;                                             break ;
       case 131 : err= "Неправильный объем" ;                                             break ;
       case 132 : err= "Рынок закрыт" ;                                                   break ;
       case 133 : err= "Торговля запрещена" ;                                             break ;  
       case 134 : err= "Недостаточно денег для совершения операции" ;                     break ;
       case 135 : err= "Цена изменилась" ;                                                 break ;
       case 136 : err= "Нет цен" ;                                                         break ;
       case 137 : err= "Брокер занят" ;                                                   break ;
       case 138 : err= "Новые цены" ;                                                     break ;
       case 139 : err= "Ордер заблокирован и уже обрабатывается" ;                         break ;
       case 140 : err= "Разрешена только покупка" ;                                       break ;
       case 141 : err= "Слишком много запросов" ;                                         break ;
       case 145 : err= "Модификация запрещена, так как ордер слишком близок к рынку" ;     break ;
       case 146 : err= "Подсистема торговли занята" ;                                     break ;
       case 147 : err= "Использование даты истечения ордера запрещено брокером" ;         break ;
       case 148 : err= "Количество открытых и отложенных ордеров достигло предела, установленного брокером." ; break ;
       //
       case 4000 : err= "Нет ошибки" ;                                                       break ;
       case 4001 : err= "Неправильный указатель функции" ;                                   break ;
       case 4002 : err= "Индекс массива - вне диапазона" ;                                   break ;
       case 4003 : err= "Нет памяти для стека функций" ;                                     break ;
       case 4004 : err= "Переполнение стека после рекурсивного вызова" ;                     break ;
       case 4005 : err= "На стеке нет памяти для передачи параметров" ;                     break ;
       case 4006 : err= "Нет памяти для строкового параметра" ;                             break ;
       case 4007 : err= "Нет памяти для временной строки" ;                                 break ;
       case 4008 : err= "Неинициализированная строка" ;                                     break ;
       case 4009 : err= "Неинициализированная строка в массиве" ;                           break ;
       case 4010 : err= "Нет памяти для строкового массива" ;                               break ;
       case 4011 : err= "Слишком длинная строка" ;                                           break ;
       case 4012 : err= "Остаток от деления на ноль" ;                                       break ;
       case 4013 : err= "Деление на ноль" ;                                                 break ;
       case 4014 : err= "Неизвестная команда" ;                                             break ;
       case 4015 : err= "Неправильный переход" ;                                             break ;
       case 4016 : err= "Неинициализированный массив" ;                                     break ;
       case 4017 : err= "Вызовы DLL не разрешены" ;                                         break ;
       case 4018 : err= "Невозможно загрузить библиотеку" ;                                 break ;
       case 4019 : err= "Невозможно вызвать функцию" ;                                       break ;
       case 4020 : err= "Вызовы внешних библиотечных функций не разрешены" ;                 break ;
       case 4021 : err= "Недостаточно памяти для строки, возвращаемой из функции" ;         break ;
       case 4022 : err= "Система занята" ;                                                   break ;
       case 4050 : err= "Неправильное количество параметров функции" ;                       break ;
       case 4051 : err= "Недопустимое значение параметра функции" ;                         break ;
       case 4052 : err= "Внутренняя ошибка строковой функции" ;                             break ;
       case 4053 : err= "Ошибка массива" ;                                                   break ;
       case 4054 : err= "Неправильное использование массива-таймсерии" ;                     break ;
       case 4055 : err= "Ошибка пользовательского индикатора" ;                             break ;
       case 4056 : err= "Массивы несовместимы" ;                                             break ;
       case 4057 : err= "Ошибка обработки глобальныех переменных" ;                         break ;
       case 4058 : err= "Глобальная переменная не обнаружена" ;                             break ;
       case 4059 : err= "Функция не разрешена в тестовом режиме" ;                           break ;
       case 4060 : err= "Функция не разрешена" ;                                             break ;
       case 4061 : err= "Ошибка отправки почты" ;                                           break ;
       case 4062 : err= "Ожидается параметр типа string" ;                                   break ;
       case 4063 : err= "Ожидается параметр типа integer" ;                                 break ;
       case 4064 : err= "Ожидается параметр типа double" ;                                   break ;
       case 4065 : err= "В качестве параметра ожидается массив" ;                           break ;
       case 4066 : err= "Запрошенные исторические данные в состоянии обновления" ;           break ;
       case 4067 : err= "Ошибка при выполнении торговой операции" ;                         break ;
       case 4099 : err= "Конец файла" ;                                                     break ;
       case 4100 : err= "Ошибка при работе с файлом" ;                                       break ;
       case 4101 : err= "Неправильное имя файла" ;                                           break ;
       case 4102 : err= "Слишком много открытых файлов" ;                                   break ;
       case 4103 : err= "Невозможно открыть файл" ;                                         break ;
       case 4104 : err= "Несовместимый режим доступа к файлу" ;                             break ;
       case 4105 : err= "Ни один ордер не выбран" ;                                         break ;
       case 4106 : err= "Неизвестный символ" ;                                               break ;
       case 4107 : err= "Неправильный параметр цены для торговой функции" ;                 break ;
       case 4108 : err= "Неверный номер тикета" ;                                           break ;
       case 4109 : err= "Торговля не разрешена. Необходимо включить опцию Разрешить советнику торговать в свойствах эксперта." ;             break ;
       case 4110 : err= "Длинные позиции не разрешены. Необходимо проверить свойства эксперта." ;           break ;
       case 4111 : err= "Короткие позиции не разрешены. Необходимо проверить свойства эксперта." ;           break ;
       case 4200 : err= "Объект уже существует" ;                                           break ;
       case 4201 : err= "Запрошено неизвестное свойство объекта" ;                           break ;
       case 4202 : err= "Объект не существует" ;                                             break ;
       case 4203 : err= "Неизвестный тип объекта" ;                                         break ;
       case 4204 : err= "Нет имени объекта" ;                                               break ;
       case 4205 : err= "Ошибка координат объекта" ;                                         break ;
       case 4206 : err= "Не найдено указанное подокно" ;                                     break ;
       default :   err= "Ошибка при работе с объектом" ;
    } 
   Alert ( "end ErrorDescription" );   
   return (err);

  } //End ErrorDescription()
Motivazione: