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

 
Artyom Trishkin:

Bem, há uma função que converte qualquer data que você passa para ela para a data de início da data em que você passou para a função:

Mas que data, e como você vai passar ...

Obrigado,Artyom Trishkin. Espero que os erros sejam corrigidos agora.

 

Infelizmente, o erro e o aviso permanecem como estavam.

 

o terminal foi reinicializado.

 
buyanov:

Infelizmente, o erro e a advertência permanecem como estavam.


Bom. Não era possível usar um já pronto. Você mesmo terá que fazer isso.

Primeiro, remover todos os alertas e colocar as variáveis em ordem.

Não se deve atribuir valores de string a variáveis inteiras.

E para funções. Você precisa remover os parâmetros em algumas funções ou dar-lhes outros nomes que não coincidam com o global.

 
buyanov:

Obrigado,Artyom Trishkin. Espero que os erros tenham sido corrigidos agora.

Foi Victor quem o ajudou, não eu.

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Qualquer pergunta de novatos sobre MQL4, ajuda e discussão sobre algoritmos e códigos

Victor Nikolaev, 2017.09.06 12:05


Ok. Não era possível usar um já pronto. Você mesmo terá que fazer isso.

Primeiro, remover todos os alertas e colocar as variáveis em ordem.

Não atribuir valores de string a variáveis inteiras.

E para funções. Ou você tem que remover parâmetros em algumas funções ou dar-lhes outros nomes que não coincidam com o global.


Agradeça-lhe e escute-o - ele não lhe dirá nada de ruim.

 

Vou removero Alerta, não é difícil. E quanto ao erro? E o aviso?

Eu não entendo.
 
buyanov:

Vou remover o Alerta, não é difícil. E quanto ao erro? E o aviso?

Conserte, é claro, o que mais, eles até sugeriram uma solução. Você não está cansado de fazer uma montanha de um molehill? Talvez programar não seja o seu forte, experimente na construção.

 
Vitaly Muzichenko:

Consertar, claro, o que mais, há até mesmo uma solução oferecida aqui. Você não está cansado de fazer disso um grande negócio? Talvez programar não seja o seu forte, experimente na construção.


Onde eu errei?

 

Você poderia indicar onde eu atribuí valores de string a variáveis de string?

Havia uma advertência "Conversão implícita de fio para número". Mas eu não vejo uma tarefa.

 
buyanov :

Por favor, indique onde eu atribuí valores de string para variáveis de string?

Houve um aviso "Conversão implícita de string para número". Mas não vejo a atribuição.


 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()