Почему при завершении тестирования и финальном закрытии позиций, не происходят события OnTrade[Transaction]?
Собственно сабж. Логично, ведь, их обработать, сделка-то произошла.
- Ошибки, баги, вопросы
- Советники: Советник "Night"
- Бета-тестирование MetaTrader 5 началось!
pronych:
Собственно сабж. Логично, ведь, их обработать, сделка-то произошла.
Потому, что они выходят за пределы интервала тестирования. Раньше, точно также, OnTrade не обрабатывала эти события.Собственно сабж. Логично, ведь, их обработать, сделка-то произошла.
Valmars:
Потому, что они выходят за пределы интервала тестирования. Раньше, точно также, OnTrade не обрабатывала эти события.
Потому, что они выходят за пределы интервала тестирования. Раньше, точно также, OnTrade не обрабатывала эти события.
А как же лучше поступить? В OnTester эмулировать?
Догадываюсь, разработчики уже в курсе этого, не побоюсь этого слова - 'бага'
Может включить эти события в интервал тестирования? Этот вопрос разработчикам
pronych:
А как же лучше поступить? В OnTester эмулировать?
Догадываюсь, разработчики уже в курсе этого, не побоюсь этого слова - 'бага'
Может включить эти события в интервал тестирования? Этот вопрос разработчикам
Тоже столкнулся с этим при подсчёте суммарной прибыли по инструментам при тестировании мультивалютников. Для учёта сделок 'end of test' и 'so' и однозначного соответствия результатов отчёту тестера, учитываю их в Deinit-e:
if(MQL5InfoInteger(MQL5_TESTING)) { if(HistorySelect(0,TimeTradeServer())) // Поправка для 'end of test' { int DeelsTotal=HistoryDealsTotal(); for(int i=0;i<SymbolsNumber;i++) { ulong ticket=HistoryDealGetTicket(DeelsTotal-1-i); string comment=HistoryDealGetString(ticket,DEAL_COMMENT); if(comment!="end of test"&&StringSubstr(comment,0,3)!="so ") break; for(int j=0;j<SymbolsNumber;j++) { if(HistoryDealGetString(ticket,DEAL_SYMBOL)!=m_expert[j].Name()) continue; m_Profit[j]=m_Profit[j]+HistoryDealGetDouble(ticket,DEAL_PROFIT)+ // Добавим профит закрытой позиции для "end of test" и "so" HistoryDealGetDouble(ticket,DEAL_SWAP)+HistoryDealGetDouble(ticket,DEAL_COMMISSION); } } } }
Придется и мне опять огород городить
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь