Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну, для меня кроссплатформенность подразумевает возможность комплексного переноса кода без редактирования
Это же не конвертер, а возможность торговлю писать в MT5 через простой MT4-style.
Это же не конвертер, а возможность торговлю писать в MT5 через простой MT4-style.
Возможно я не так понял, так как ухватился за идею возможности использования одного кода на двух платформах.
Возможно я не так понял, так как ухватился за идею возможности использования одного кода на двух платформах.
Часть MT5-Маркета написана через эту библиотеку. Основная причина - легкость.
На тему ошибок.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2017.02.08 14:16
Изучив GetLastError, сделал вывод, что дополнять его нецелесообразно.
// 08.02.2017:
// Add: Переменные MT4ORDERS::LastTradeRequest и MT4ORDERS::LastTradeResult содержат соответствующие данные MT5-OrderSend.
Теперь можно получать полностью все данные MT5-OrderSend.
Сами MT5-коды здесь. Сравните с MT4-кодами.
ЗЫ Обратите внимание, что в MT5 GetLastError() не возвращает торговые ошибки. Поэтому, если хочется делать, как в MT4, нужно генерировать свою соответствующую ошибку через SetUserError. Но и там ERR_USER_ERROR_FIRST не даст достигнуть MT4-варианта.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2022.07.20 00:39
Пример.
Результат.
Особенность представления библиотекой закрытых позиций по сравнению с MT5.
Торговая ситуация.
MT5 покажет, что была одна позиция, которая открылась в 12:00, а закрылась в 15:00. При этом цены открытия/закрытия этой позиции могут быть очень странными.
MT4Orders покажет, что было две позиции: одна открылась в 12:00 и закрылась в 13:00, другая - 14:00-15:00. Цены открытия/закрытия будут адекватными.
Часть MT5-Маркета написана через эту библиотеку. Основная причина - легкость.
Да это достижение. Однако, проверка ошибок при приеме в маркет не все ситуации воссоздает.
На тему ошибок.
Сами MT5-коды здесь. Сравните с MT4-кодами.
ЗЫ Обратите внимание, что в MT5 GetLastError() не возвращает торговые ошибки. Поэтому, если хочется делать, как в MT4, нужно генерировать свою соответствующую ошибку через SetUserError. Но и там ERR_USER_ERROR_FIRST не даст достигнуть MT4-варианта.
Спасибо за информацию, я сам в этом не силен.
Правильно ли я понимаю, что достаточно заменить
на
и уже обрабатывать новые коды ошибок?
Кстати, не нашел аналоги ошибок для MT5, в MT4 они: 135, 145, 146 - есть ли они?
Да это достижение. Однако, проверка ошибок при приеме в маркет не все ситуации воссоздает.
К сожалению, у меня только теоретические представления о Маркете. Практики прохождения проверок не имею.
Правильно ли я понимаю, что достаточно заменить и уже обрабатывать новые коды ошибок?
Правильно. Только retcode. Аналог ResetLastError по той же схеме - присвоение нуля.
Кстати, не нашел аналоги ошибок для MT5, в MT4 они: 135, 145, 146 - есть ли они?
Совсем не знаю типы ошибок, т.к. не использую в боевых советниках. Наверное, нужно добиваться воспроизведения каждой ошибки в MT4, после чего складывать ясное представление об их природе и сопоставлять с подобным в MT5. Возможно, где-то есть уже таблицы соответствия. Не факт, что у всех кодов есть тезки в другой платформе.
Правильно. Только retcode. Аналог ResetLastError по той же схеме - присвоение нуля.
Так может сброс ошибки интегрировать как то в Ваш класс можно? А то четверка в этом не нуждалась как то.
Или достаточно просто вызвать информацию о последней ошибки, а потом сразу её сбросить, т.е. поменять местами функции, что у Вас в примере?
Совсем не знаю типы ошибок, т.к. не использую в боевых советниках. Наверное, нужно добиваться воспроизведения каждой ошибки в MT4, после чего складывать ясное представление их природы и сопоставлять с подобными в MT5. Возможно, где-то есть уже таблицы соответствия. Не факт, что у всех кодов есть тезки в другой платформе.
Да вот искал такую таблицу и не нашел. Ошибки не всегда же в коде - бывают проблемы на стороне ДЦ.
Я так понял, что если проблема любого рода с работой с ордерами, то через GetLastError(); возвращается код 4756, что уже не плохо, если так.
Так может сброс ошибки интегрировать как то в Ваш класс можно? А то четверка в этом не нуждалась как то.
Или достаточно просто вызвать информацию о последней ошибки, а потом сразу её сбросить, т.е. поменять местами функции, что у Вас в примере?
Не вижу необходимости сбрасывать. Сказал для доп. совместимости с тем, как, предполагаю, работают в MT4.
Не вижу необходимости сбрасывать. Сказал для доп. совместимости с тем, как, предполагаю, работают в MT4.
Я всё же уточню, это ошибки какие ниже вызываемым кодом?
А то похожие вещи - что нужно не пойму - этот же код ниже возвращает ошибки из структуры MqlTradeResult ?