![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Разработчикам
1. При установке терминала на Win XP не происходит копирования файлов в папку установки, установка проходит "мгновенно".
Либо процесс установки "зависает" на определенном месте и не завершается.
В чем может быть причина?
Антивирус NOD32 и Касперский, перед установкой отключаются, не помогает.
2. Может ли для MT4 требоваться SSE2?
- Если делимитры FileOpen и CSV одинаковые, но после последнего числа в CSV нет делимитра и в конце нет перехода на новую строку то МТ4 тоже зависает.
- Если числа идут не в одну строку, а после запятой с переносом на новую строку то МТ4 не видит CSV и виснет.
- Если в CSV все числа идут в одну строку, через запятую с пробелом, а после последнего числа в CSV нет делимитра, но есть переход на новую строку то все читается нормально, но последняя строка почему-то тоже учитывается командой FileReadNumber() за число, получается на один элемент больше чем в CSV.
- Делимитер после последнего числа, если за ним есть пробел то тоже приводит к зависанию.
В перечисленных случаях, по крайней мере в некоторых, есть ошибки пользователя - пусть МТ4 укажет на ошибку и остановится, но не виснет. Исправьте пожалуйста.
что это за баг?
если вызвать MarketInfo(Symbol(),MODE_TRADEALLOWED), то возвращает - 1=торговля разрешена.
а если навести на символ в обзоре рынка, то выскакивает подсказка с надписью - Trade: Close.
торговать действительно не даёт, но почему MODE_TRADEALLOWED возвращает неверное значение?
как то ещё можно проверить запрет на торговлу по символу? а то получается я из-за этого бага впустую нагружаю сервак своими запросами. так и забанить могут.
- Если в FileOpen делимитер отличается от того что используется в CSV файле МТ4 виснет, приходится убивать его процесс.
- Если делимитры FileOpen и CSV одинаковые, но после последнего числа в CSV нет делимитра и в конце нет перехода на новую строку то МТ4 тоже зависает.
- Если числа идут не в одну строку, а после запятой с переносом на новую строку то МТ4 не видит CSV и виснет.
- Если в CSV все числа идут в одну строку, через запятую с пробелом, а после последнего числа в CSV нет делимитра, но есть переход на новую строку то все читается нормально, но последняя строка почему-то тоже учитывается командой FileReadNumber() за число, получается на один элемент больше чем в CSV.
- Делимитер после последнего числа, если за ним есть пробел то тоже приводит к зависанию.
В перечисленных случаях, по крайней мере в некоторых, есть ошибки пользователя - пусть МТ4 укажет на ошибку и остановится, но не виснет. Исправьте пожалуйста.
Ваши утверждения не совсем понятны.
- Что такое: "Если в FileOpen делимитер отличается от того что используется в CSV файле"?
- "Если делимитры FileOpen и CSV одинаковые, но после последнего числа в CSV нет делимитра и в конце нет перехода на новую строку то МТ4 тоже зависает." После последнего числа никогда не бывает делимитера.
- "Если числа идут не в одну строку, а после запятой с переносом на новую строку то МТ4 не видит CSV и виснет." - это как? Числа в строке всегда идут в одну строку.
- делимитера после последнего числа не бывает. Если бывает, то Вы должны обрабатывать эту ситуацию самостоятельно
Чтобы что-то исправить, мы должны проверить представленные утверждения. Дайте нам Ваш код и Ваш файл - мы проверим
что это за баг?
если вызвать MarketInfo(Symbol(),MODE_TRADEALLOWED), то возвращает - 1=торговля разрешена.
а если навести на символ в обзоре рынка, то выскакивает подсказка с надписью - Trade: Close.
торговать действительно не даёт, но почему MODE_TRADEALLOWED возвращает неверное значение?
как то ещё можно проверить запрет на торговлу по символу? а то получается я из-за этого бага впустую нагружаю сервак своими запросами. так и забанить могут.
Торговля разрешена. Это - глобальный признак. Проверяйте сессии
Разработчикам
1. При установке терминала на Win XP не происходит копирования файлов в папку установки, установка проходит "мгновенно".
Либо процесс установки "зависает" на определенном месте и не завершается.
В чем может быть причина?
Антивирус NOD32 и Касперский, перед установкой отключаются, не помогает.
2. Может ли для MT4 требоваться SSE2?
SSE2 100% требуется.
Торговля разрешена. Это - глобальный признак. Проверяйте сессии
ну если вручную пытаться открыть, то тоже выдаёт- trade is disabled.
чего за сессии? MODE_STARTING, MODE_EXPIRATION у меня и раньше ничего не показывали.
я так понимаю, что если в обзоре рынка всплывает Trade: Close, то это глобальный запрет на торговлю и от торговых сессий не зависит.
только как это определить программно?
Ваши утверждения не совсем понятны.
- Что такое: "Если в FileOpen делимитер отличается от того что используется в CSV файле"?
- "Если числа идут не в одну строку, а после запятой с переносом на новую строку то МТ4 не видит CSV и виснет."
- это как? Числа в строке всегда идут в одну строку.
- делимитера после последнего числа не бывает. Если бывает, то Вы должны обрабатывать эту ситуацию самостоятельно
Вообще, в некоторых из случаев которые я описал МТ иногда выходил из зависаний самостоятельно, но после продолжительного времени. Когда все в порядке чтение происходит очень быстро.
Это скорее наблюдения, я довел свой CSV файл и код до состояния при котором файл читается без зависаний (проблемных не сохранял).
В строке с FileOpen, которую я приводил выше есть делимитер=разделитель, в моем случае запятая. В CSV-файле я также использую запятые. Но если я или в коде, или в файле заменю запятые на точку с запятой то это приведет к тому что МТ4 перестанет читать этот файл. Моя ошибка, но хотелось бы получить сообщение об ошибке, а не зависание.
Если числа в CSV будут в одной строке то и в Excel-е они так же будут все в одной строке, а это неудобно. А если в CSV добавить символ переноса строки то CSV становится нечитабельным в МТ4, хотя многие программы не обращают на это внимания и читают числа расположенные как в строке, так и в столбце.
Изначально у меня его не было, но тогда необходим символ переноса строки после последнего числа, что добавляет еще один нулевой элемент в массив. А без переноса строки возникало зависание. Да и в описании команды FileReadNumber написано "Чтение числа с текущей позиции файла CSV до разделителя". Надо или нет, но с разделителем в конце работает правильно.
Вообще, в некоторых из случаев которые я описал МТ иногда выходил из зависаний самостоятельно, но после продолжительного времени. Когда все в порядке чтение происходит очень быстро.
Приведите компактный пример с файлом, чтобы мы смогли проверить Ваши утверждения. И по возможности исправить баги. (мы сами пока проблем не видим)
Приведите компактный пример с файлом, чтобы мы смогли проверить Ваши утверждения. И по возможности исправить баги. (мы сами пока проблем не видим)
Постараюсь сделать тестовый код с CSV, но это займет некоторое время (сейчас пока занят другими делами).