Ошибки, баги, вопросы - страница 2936
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Результат:
Что за странное незаданное число? В Справке не нашёл и не гуглится. На EMPTY_VALUE не похоже.
Какой-то мусор
Установите значение
Какой-то мусор
Установите значение
Да мне не для практики, а чисто из теоретического любопытства. На мусор было скорее похоже другое число (9xxx — не запомнил точно) и появлялось оно только раз и к тому же больше воспроизвести не удалось, а вот вышеприведённое число было постоянным и повторялось из раза в раз. (Интересно, у Вас и у других оно такое же?) Мне на него параллельно, главное, чтобы другие программисты об него не споткнулись больно.
Да мне не для практики, а чисто из теоретического любопытства. На мусор было скорее похоже другое число (9xxx — не запомнил точно) и появлялось оно только раз и к тому же больше воспроизвести не удалось, а вот вышеприведённое число было постоянным и повторялось из раза в раз. (Интересно, у Вас и у других оно такое же?) Мне на него параллельно, главное, чтобы другие программисты об него не споткнулись больно.
У меня "0", проверял несколько раз
У меня "0", проверял несколько раз
Хм... Не знаю как одно обстоятельство связано с другим, но запускал в виде индикатора на разных валютных парах — числа лезут разные (на каждом инструменте повторяется с каждым тиком одно и то же число), был даже ноль. Странно. Но похоже на то, что без инициализации своим числом это действительно мусор.
Хм... Не знаю как одно обстоятельство связано с другим, но запускал в виде индикатора на разных валютных парах — числа лезут разные (на каждом инструменте повторяется с каждым тиком одно и то же число), был даже ноль. Странно. Но похоже на то, что без инициализации своим числом это действительно мусор.
Перепроверил снова, вставив код по тикам
в мт4 постоянно 0
в мт5 да, то 0-крайне редко, то число 511026368
Хм... Не знаю как одно обстоятельство связано с другим, но запускал в виде индикатора на разных валютных парах — числа лезут разные (на каждом инструменте повторяется с каждым тиком одно и то же число), был даже ноль. Странно. Но похоже на то, что без инициализации своим числом это действительно мусор.
Под массив (и все другие переменные) при его создании выделена память. Если массив не инициализирован, то в этой памяти то что там осталось с прошлых использований=мусор.
Если вы не меняете значения из программы, то ничего с этой памятью и не происходит, мусор сохраняет своё значение.
в МТ4 принудительно инициализируются нулём все переменные и массивы.
Не вызывается CExpert.TradeEventOrderTriggered()
При работе с рынком FORTS, сервер BCS-Demo, обнаружилась нестабильность вызова CExpert.TradeEventOrderTriggered() при срабатывании отложенных ордеров.
В код метода CExpert::CheckTradeState стандартной библиотеки MQL5 не учитывает возможную асинхронность получения информации о позициях, ордерах, сделках и истории.
В случае выполнения кода по историческим данным, условия отрабатывают корректно. При работе с реальными данными, возможны ситуации не одновременного получения информации об изменении позиций, сделках, ордерах и истории, причём, порядок получения информации произволен.
Лог вызовов метода bool CExpert::CheckTradeState(void). Одному вызову CheckTradeState() соответствуют 2 строчки " CheckTradeState: ....."
Из лога видно:
1. После срабатывания отложенных ордеров, длина истории обновляется позднее чем информация о сделках, ордерах и позициях, что приводит к невозможности выполнения 1-го условия в коде.
2. Возможна рассинхронизация получения информации об изменении числа ордеров, сделок и позиций, что приводит к невозможности выполнения 2-го условия в коде (если каким-либо образом обойти первую проблему и выполнить первый if). Возможно, эта рассинхронизация возникла выполнения ордера в 2 этапа (по частям: 1лот+1лот), но в таком случае, почему число сделок +1, а не +2.
Закостылил, таким кодом:
Смысл, блока: если в асинхронном режиме попали в конец процедуры, что возможно при не прогруженной истории, фетчим историю, но не запоминаем значения количеств ордеров и т.п.
P.S. Создаётся впечатление, что данная часть стандартной библиотеки недоработана. Особенно, смущает кусок кода, написанный 3 раза подряд.
Пишу сюда с надеждой, что проблему заметят и что-нибудь где-нибудь поправят.
Посмотрел размеры EX5-файлов советников в Маркете. Все, что смотрел, меньше 200 Кб. За счет чего получается достигать таких малых размеров? Простой код?
думаю, что авторы просто гении, у 90% топовых продавцов, вообще отсутствуют вопросы по платформе - соответственно и коды пишут обладая прирождённым знанием )))
такой вот вопрос:
подключаю ресурсом данные:
получаю ошибку:
resource file 'Common\Files\EURUSD_tick.bin' not found
cannot open resource file .....\\MQL5\Experts\Virtual\Common\Files\EURUSD_tick.bin' (3)
если файл располагаю в папке ЕА или в папке Files, то все ОК
получается, что нельзя из папки Common подключить ресурс? -или нужно путь еще как прописать?
думаю, что авторы просто гении, у 90% топовых продавцов, вообще отсутствуют вопросы по платформе - соответственно и коды пишут обладая прирождённым знанием )))
Для вопросов другие учетки.
нельзя из папки Common подключить ресурс? -или нужно путь еще как прописать?
Не в курсе.