Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 572

 

Ich habe nach dem Build-Update begonnen, einen Fehler in dieser Funktion in der Bibliothek zu erhalten. Der Compiler verweist auf die letzte Zeile:

//=========================================================================================================================================
// 1.4 Функция преобразует код последней ошибки в текстовую строку, содержащую описание данной ошибки. ====================================
string fErrorDescription (int fi_Error)
{
   string ls_Error = "";

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

Der Fehler ist folgendermaßen:

'}' - not all control paths return a value      LErrorsHandling.mq4     200     1
Wie kann ich es reparieren? Ich verstehe, dass für andere Fälle die Standardausgabe benötigt wird. Aber ich brauche es logischerweise nicht... Wie kann man das beheben?
 
hoz:

Ich habe nach dem Build-Update begonnen, einen Fehler in dieser Funktion in der Bibliothek zu erhalten. Der Compiler verweist auf die letzte Zeile:

Der Fehler ist folgendermaßen:

Wie kann man sie korrigieren? Ich verstehe, dass für andere Fälle eine Standardausgabe benötigt wird. Aber ich brauche es logischerweise nicht... Wie kann man das beheben?

return(ls_Error);//
Auf diese Weise werden Werte zurückgegeben.
 
hoz:

Ich habe nach dem Build-Update begonnen, einen Fehler in dieser Funktion in der Bibliothek zu erhalten. Der Compiler verweist auf die letzte Zeile:

Der Fehler ist folgendermaßen:

Wie kann man sie korrigieren? Ich verstehe, dass für andere Fälle eine Standardausgabe benötigt wird. Aber ich brauche es logischerweise nicht... Wie kann man das beheben?


Genau so, wie Sie es für unnötig halten. Ihr Code weiß nicht, was zu tun ist, wenn der Fehler 27182818285 auftritt, vor dem der Compiler Sie warnt.
 
MQL5 hat die Klassen SymbolInfo.mqh und DealInfo.mqh. Ich frage mich, ob es möglich ist, sie in der 625er Version von MQL4 zu verbinden?
 
Ich habe die Änderungen in MT4 seit etwa einem Jahr nicht mehr verfolgt (benutzte alte Versionen), und mit den neuen Updates musste ich meinen EA neu schreiben, weil er sich im Tester aufhängt und das ganze Terminal hängen lässt. Bitte geben Sie an, wo Sie alle Änderungen in MT4 und MetaEditor4 bis zum Build 625 nachlesen können.
 
WindSW:
Ich habe die Änderungen in MT4 seit etwa einem Jahr nicht mehr verfolgt (benutzte alte Versionen), und mit den neuen Updates musste ich meinen EA neu schreiben, weil er sich im Tester aufhängt und das ganze Terminal hängen lässt. Bitte geben Sie an, wo Sie alle Änderungen in MT4 und MetaEditor4 bis zum Build 625 nachlesen können.
Im neuen Build-Handbuch heißt die erste Seite "updated MQL4".
 
WindSW:
Ich habe die Änderungen in MT4 seit etwa einem Jahr nicht mehr verfolgt (benutzte alte Versionen), und mit den neuen Updates musste ich meinen EA neu schreiben, weil er sich im Tester aufhängt und das ganze Terminal hängen lässt. Bitte geben Sie an, wo Sie alle Änderungen in MT4 und MetaEditor4 bis zum Build 625 nachlesen können.
Die Struktur der Daten in MetaTrader 4 build 600 und neuer, Upgrade auf den neuen MetaTrader 4 build 600 und neuer, Typische Fehler in MQL4-Anwendungen und ihre Lösungen.
 

Hallo zusammen. Können Sie mir eine allgemeine Formel geben, mit der ich berechnen kann, wo ich den TP setzen soll, je nach dem Volumen der Position und dem erwarteten Gewinn in Dollar? Ganz grob gesagt:

GBPUSD.

Band 6.88 Lose.

Der erwartete Gewinn beträgt 1000 $.


Wie wird das Forumla aussehen? Mein Kopf ist bereits in meinem Kopf...

 
1000/6,88=145 Punkte bei 5, 15 Punkte bei 4.
 

Ich grüße alle.

Ich habe eine Frage zum Periodenkonverter

Das Skript PeriodConverter muss jedes Mal ausgeführt werden, wenn Sie das Terminal einschalten, aber ich möchte, dass es automatisch ausgeführt wird.

Ich habe einen alten Period Converter Optimized gefunden, aber er ist nicht auf dem 625er Build installiert

Ich habe einen alten PeriodConverter Optimized in meiner Datenbank gefunden, aber er lässt sich nicht in der 625er Version installieren.