Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 983
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте, коллеги.
Вопрос такой: в mql4 для того, чтобы посчитать количество позиций можно было прописать функцию, к примеру, такую
Как это дело реализуется в mql5? Как можно посчитать позиции по магику? или по типу?
Здравствуйте, коллеги.
Вопрос такой: в mql4 для того, чтобы посчитать количество позиций можно было прописать функцию, к примеру, такую
Как это дело реализуется в mql5? Как можно посчитать позиции по магику? или по типу?
Пример в коде Ehlers_CG EA, функция CalculateAllPositions.
Пример в коде Ehlers_CG EA, функция CalculateAllPositions.
Спасибо большое. Попробовал переделать в более понятный мне вид. Но таким образом выдает 0 и открывает бесконечное кол-во ордеров, подскажите, где я косякнул? На торгую идею прошу не обращать внимание, это я просто для общего освоения.
Спасибо большое. Попробовал переделать в более понятный мне вид. Но таким образом выдает 0 и открывает бесконечное кол-во ордеров, подскажите, где я косякнул? На торгую идею прошу не обращать внимание, это я просто для общего освоения.
Ключевое слово Вашей ошибки - я ведь не зря столько кода проверочного пишу в своих советниках. Вы выкинули почти все внутренности и в частности OnTradeTransaction.
Столкнулся с проблемой, советник на базе индикатора работает на реальном счете корректно, а в тестере врет, во режимах генерации тиков как по OHLC так и по всем тикам - результат одинаковый. Результатом ошибки является незаполненный буфер индикатора на нулевом баре (только когда появляется новый бар на верхнем TF, по которому идет расчет индикатора). Однако, мне удалось заставить считать индикатор, добавив Sleep в советник, и тут было выявлено, что в зависимости от режима генерации тиков этот Sleep должен быть разным - для генерации по всем тикам достаточно Sleep(15000), а для OHLC нужно уже Sleep(30000).
Поэтому возникает вопрос, нормальна ли ситуация со Sleep, ведь получается логически, что там разное время задержки моделируется в зависимости от режима генерации тиков!?
Уважаемые разработчики, прошу Вас пояснить по поводу описанной ситуации с индикатором, так-как сам я не могу понять в чем причина - ошибка в коде или в тестере!
Индикатор и советник готов предоставить в личку, только скажите кому.
Столкнулся с проблемой, советник на базе индикатора работает на реальном счете корректно, а в тестере врет, во режимах генерации тиков как по OHLC так и по всем тикам - результат одинаковый. Результатом ошибки является незаполненный буфер индикатора на нулевом баре (только когда появляется новый бар на верхнем TF, по которому идет расчет индикатора). Однако, мне удалось заставить считать индикатор, добавив Sleep, и тут было выявлено, что в зависимости от режима генерации тиков этот Sleep должен быть разным - для генерации по всем тикам достаточно Sleep(15000), а для OHLC нужно уже Sleep(30000).
Поэтому возникает вопрос, нормальна ли ситуация со Sleep, ведь получается логически, что там разное время задержки моделируется в зависимости от режима генерации тиков!?
Уважаемые разработчики, прошу Вас пояснить по поводу описанной ситуации с индикатором, так-как сам я не могу понять в чем причина - ошибка в коде или в тестере!
Индикатор и советник готов предоставить в личку, только скажите кому.
Sleep в индикаторе не работает. Более того, он игнорируется даже в советнике, если речь идет о тестере.
Sleep в индикаторе не работает. Более того, он игнорируется даже в советнике, если речь идет о тестере.
Я написал же уже, что в советнике Sleep, а если игнорируется, и Вы в этом 100% уверены, то это лишнее подтверждение, что ошибка в тестере.
Задержка может не происходить во времени, но может эмулироватся для программы.
Добавлено: Sleep работает в тестере, вот код простой это подтверждает
Результат
Sleep в индикаторе не работает. Более того, он игнорируется даже в советнике, если речь идет о тестере.
Это не так.
Я написал же уже, что в советнике Sleep, а если игнорируется, и Вы в этом 100% уверены, то это лишнее подтверждение, что ошибка в тестере.
Задержка может не происходить во времени, но может эмулироватся для программы.
Добавлено: Sleep работает в тестере, вот код простой это подтверждает
Результат
Изначально в Вашем сообщении было так:
Однако, мне удалось заставить считать индикатор, добавив Sleep, и тут было выявлено..
Поэтому я и отреагировал на Sleep в индикаторе.
А насчет Sleep в советнике, непонятно, зачем было делать разное поведение в 4 и в 5. В 4-ке так:
По факту же вопроса. Sleep не должен никак влиять на пересчет данных в индикаторе. Что-то не так с заполнением буферов. Может есть воспроизводимый кусок кода?