Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 302

 
Artyom Trishkin:

Ну вот есть функция, которая преобразует любую дату, которую вы в неё передадите в дату начала года той даты, которую вы в функцию передали:

А вот уж какую дату, и как вы туда будете передавать ...

Благодарю, Artyom Trishkin. Надеюсь теперь ошибки устранены.

 

К сожалению, ошибка и предупреждение остались как были.

 

терминал перезагрузил.

 
buyanov:

К сожалению, ошибка и предупреждение остались как были.


Хорошо. Не смогли воспользоваться готовым. Будете делать сами.

Для начала уберите все Алерты и приведите в порядок переменные.

Не надо целочисленным переменным присваивать строковые значения.

И по функциям. Или надо убирать в части функций параметры или давать им другие имена, которые не совпадают с глобальными.

 
buyanov:

Благодарю, Artyom Trishkin. Надеюсь теперь ошибки устранены.

Вам Виктор помогал - не я.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам

Victor Nikolaev, 2017.09.06 12:05


Хорошо. Не смогли воспользоваться готовым. Будете делать сами.

Для начала уберите все Алерты и приведите в порядок переменные.

Не надо целочисленным переменным присваивать строковые значения.

И по функциям. Или надо убирать в части функций параметры или давать им другие имена, которые не совпадают с глобальными.


Его благодарите и к нему прислушивайтесь - он вам плохого не подскажет.

 

Alert я уберу, это несложно. А что с ошибкой делать? И с предупреждением?

непонятно.
 
buyanov:

Alert я уберу, это несложно. А что с ошибкой делать? И с предупреждением?

Исправлять конечно, что ещё, здесь даже решение предложили. Вам не надоело делать с мухи слона? Может программировать не ваша стихия?, попробуйте себя в строительстве

 
Vitaly Muzichenko:

Исправлять конечно, что ещё, здесь даже решение предложили. Вам не надоело делать с мухи слона? Может программировать не ваша стихия?, попробуйте себя в строительстве


Где я ошибся?

 

Укажите, пожалуйста, пожалуйста,где я строковым переменным присвоил строковые значения?

Было предупреждение " Implicit conversion from string to number". Но я не вижу присваивания.

 
buyanov:

Укажите, пожалуйста, пожалуйста,где я строковым переменным присвоил строковые значения?

Было предупреждение " Implicit conversion from string to number". Но я не вижу присваивания.


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()
Причина обращения: