Ошибки, баги, вопросы - страница 3335
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
... Решил установить себе один торговый ассистент на мт5 на macOS ...
У меня нет компьбтера на MacOS, но я нашел один пост (там была похожая проблема в той ветке) -
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
после обновления не запускается платформа.
MetaQuotes, 2023.06.09 23:10
На Маке надо удалить старую инсталляцию на Wine 6.0 и переустановить новый пакет с Wine 7.7
Ссылка на инсталлятор внизу страницы справа.Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2023.06.13 08:03
Ручаться не могу, релогин к торговому серверу может приводить к подобному перетряхиванию.
Странно, что релогин не приводит к отправке события Init в эксперты (MT4). Но при этом в журнале
Automated trading disabled because the account has been changed
То есть, аккаунт в достаточной мере изменился для отключения автоторговли, но этого не достаточно для отправки Init в эксперты.
Пример 1% случаев, когда не в конце окажется и buy/sell.
В этом случае часто будет происходить ситуация, когда Buy-приказ будет не в конце таблицы ордеров.
Давайте разберем, что это обозначает. Пусть в таблице истории ордеров 1000 записей - ордера с индексами (HistoryOrderGetTicket) от 0 до 999.
Вот произошло событие п.3 выше - BuyLimit удалился и попал в таблицу истории ордеров. Он имеет индекс 1000 - его тикет отдается вызовом HistoryOrderGetTicket(1000).
Теперь произошло срабатывание Buy-приказа из п.1 - Buy-приказ попал в таблицу истории ордеров. Вы думаете, что его индекс 1001?
-Нет, его индекс 1000! Т.е. HistoryOrderGetTicket(1000) возвращал одно значение (BuyLimit-ticket), а через некоторое время - другое (Buy-ticket).
Интересна реакция не MQ, а форумчан. Либо это "красноречивое молчание", либо пофигизм.
Можно ли утверждать обратное?
То есть, если HistoryOrderGetTicket(prevTotal - 1) не изменился, значит ли это, что ордера добавлены в конец и можно брать их оттуда? Или не факт?
Я думаю, вы поняли. Детектить таким образом факт перетасовывания истории. И анализировать всю историю заново только если она перетасована
Доброе время суток.
Хотел кое-что актуальное предложить. В настройках MetaEditor не нашел полных шаблонизированных настроек для "шапки" создаваемых файлов исходного кода (я про #property и т.д. , хотя при создании есть Author и Link).
Хотел предложить рассмотреть вопрос расширенной шаблонизации части генерируемых файлов с исходным кодом - в частности автоматического добавления предопределённых #property и т.д.
В чем польза - в каждом новом советнике или индикаторе или скрипте будет автоматически с #property добавляться например предопределенное кастомное уведомление об отказе от ответственности все такое. Вообще, это положено делать всем, но почти никто не утруждает себя той юридически традиционной процедурой. А если в MetaEditor будет возможность настроить генерируемую шапку с #property для интеграции в каждый создаваемый советник и т.д. - будет очень удобно.
Спасибо за внимание.
Можно ли утверждать обратное?
То есть, если HistoryOrderGetTicket(prevTotal - 1) не изменился, значит ли это, что ордера добавлены в конец и можно брать их оттуда? Или не факт?
Факт.
Я думаю, вы поняли. Детектить таким образом факт перетасовывания истории. И анализировать всю историю заново только если она перетасована
Довольно много сил потратил на разные реализации, где пытался максимально заоптимизировать. Например, исходя из списка живых ордеров можно точно сказать, какая часть таблицы 100% не будет перетряхиваться.
В общем, до релиза не дошел, на который мог бы положиться. Удручает, что разработчики молчком, а потому запросто могут что-то поменять. После недавнего бага HistorySelect вынуждены будут менять что-то в логике этой функции, а потому прежние алгоритмы могут снова перестать работать.
К сожалению, все несколько не так с коммуникацией с MQ, как хотелось бы.
Ошибка при выполнении:
Результат: 1
Ожидалось: 2
Результат: 1
Ожидалось: 2
Вроде, и должно быть "1"
Подсказка: комментарий /**/ - это пробел. Заменяем - получаем ожидаемый результат:
и не перепутайте с другим примером. Здесь ошибка именно в комментарии /**/, а там была ошибка при переносе строки \Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
A100, 2023.06.01 10:42
Кстати перенос строки на #define - с ошибкой работает. Пример с ним ошибки при выполнении:
Результат: 4
Ожидалось: 8
Подсказка: комментарий /**/ - это пробел. Заменяем - получаем ожидаемый результат:
и не перепутайте с другим примером. Здесь ошибка именно в комментарии /**/, а там была ошибка при переносе строки \Подсказка: комментарий /**/ - это пробел. Заменяем - получаем ожидаемый результат:
Никогда не встречал внутри макроса какое-либо комментирование. Для того, чтобы удалить кусок из макроса, не комментировал, а удалял код внутри него.
Результат: 4
Ожидалось: 8
Перенос строки должен сшивать два слова? Это же текстовая замена, как в notepad.