Скачать MetaTrader 5

эмуляция ошибок. мт5

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Поделись программой в CodeBase. Получи доступ к миллионам трейдеров!
Alexey Oreshkin
3626
Alexey Oreshkin 2015.12.03 22:05 
Мне надо проверить как робот обрабатывает ошибки. Соответствующий блок обработки написан, но как теперь его проверить?
Допустим пришло время купить, робот отправляет сигнал на покупку и получает реткод 10020 или 10010 или что нить другое и начинает эту ошибку обрабатывать.
В теории, да и в коде, выглядит всё замечательно, но как это проверить в отладчике или в реалтайме (не ожидая вечность пока ошибка возникнет) ума не проложу.
Есть у кого какие мысли или соответствующий опыт?
Alexey Volchanskiy
16730
Alexey Volchanskiy 2015.12.03 22:14  
Alexey Oreshkin:
Мне надо проверить как робот обрабатывает ошибки. Соответствующий блок обработки написан, но как теперь его проверить?
Допустим пришло время купить, робот отправляет сигнал на покупку и получает реткод 10020 или 10010 или что нить другое и начинает эту ошибку обрабатывать.
В теории, да и в коде, выглядит всё замечательно, но как это проверить в отладчике или в реалтайме (не ожидая вечность пока ошибка возникнет) ума не проложу.
Есть у кого какие мысли или соответствующий опыт?
Послать заведомо ложный параметр в MqlTradeRequest
Alexey Oreshkin
3626
Alexey Oreshkin 2015.12.03 22:31  
Alexey Volchanskiy:
Послать заведомо ложный параметр в MqlTradeRequest
А вот есть ли другой вариант ? Не правильный запрос итак обработается как надо. Хочется чтобы ушёл правильный и возникла ошибка.
Dmitry Fedoseev
42876
Dmitry Fedoseev 2015.12.03 22:40  
Прям такой сложный алгоритм, не очевидно понятный?
Alexey Volchanskiy
16730
Alexey Volchanskiy 2015.12.03 23:42  
Alexey Oreshkin:
А вот есть ли другой вариант ? Не правильный запрос итак обработается как надо. Хочется чтобы ушёл правильный и возникла ошибка.
Проще пареной репы. Устройтесь на работу системным программистом к брокеру и генерите на торговом сервере ошибки на правильные запросы. Желательно, сразу для всех клиентов, ну чтобы ничего не упустить ))
Alexey Viktorov
6704
Alexey Viktorov 2015.12.04 07:32  

А если примерно так

bool mql_Debug;

int OnInit()
{
 mql_Debug = MQLInfoInteger(MQL_DEBUG);
}

void OnTick()
{
 open();
}

int open()
{
 if(mql_Debug)
  return(10020);
 else
  {
   // или поменять последовательность...
  }
}
Alexey Volchanskiy
16730
Alexey Volchanskiy 2015.12.04 17:19  
Alexey Viktorov:

А если примерно так

Ошибка-то не возникнет, GetLastError вернет ERR_NO_ERROR
Alexey Viktorov
6704
Alexey Viktorov 2015.12.04 18:22  
Alexey Volchanskiy:
Ошибка-то не возникнет, GetLastError вернет ERR_NO_ERROR
Алексей, ну это-же только намёк на направление, а дальше полёт фантазии. Ведь не надо именно GetLastError() а главное проверить ход выполнения при получении номера ошибки. При получении тоже можно поставить условие if(mql_Debug)
Andrey Khatimlianskii
56138
Andrey Khatimlianskii 2015.12.04 19:42  

Подмените методы Trade (или какой вы используете?) и GetLastError, чтоб не отправляли приказов и устанавливали один из нужных кодов ошибки.

В МТ5 можно использовать режим теста "произвольная задержка", помогает элементарные реквоты проверить на некоторых серверах. 

А полноценно все равно только в реале получится проверить. 

Алексей Тарабанов
7270
Алексей Тарабанов 2015.12.04 22:39  
Andrey Khatimlianskii:

А полноценно все равно только в реале получится проверить. 

Уважаемые коллеги, напоминаю: Вы живете реальной жизнью. И всего один раз. 
Alexey Volchanskiy
16730
Alexey Volchanskiy 2015.12.05 02:16  
Алексей Тарабанов:
Уважаемые коллеги, напоминаю: Вы живете реальной жизнью. И всего один раз. 

Неправда, эта Вселенная самораспадется, когда я проснусь )) Не будите ...

 

-------- З.Ы. 

А я в последние год-два сразу тестирую на центовых. Ну, на тестере прогоню, чтобы убедиться, что нет явных ошибок именно в коде.

Все равно много не потеряешь, но реальные деньги как-то по другому настраивают. Возможно, особенности именно моей психологии ))  

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий