Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
как видно из рисунка, работают только три ядра, сталкивался не раз с ситуацией, когда в процессе тестирования количество ядер участвующих в работе постепенно падало до нуля, после чего вступали в работу все разом, т.е. есть простой в работе, почему освободившиеся ядра не начинают работу сразу?
Для того, чтобы начать обсчитывать следующее поколение, надо сначала обработать текущее поколение. Все прогоны текущего поколения должны быть завершены для того, чтобы выбрать лучшие и провести между лучшими генетические операции. Только после этого можно запускать в работу следующее поколение.
Когда осталось досчитать несколько недостающих результатов до завершения обработки текущего поколения, освободившиеся агенты тестирования не работают.
какое максимальное время можно ставить в EventSetTimer( )?
INT_MAX? По моему нет. Не хочу исследовать самостоятельно, а в хелпе нет.
Время тут можно подставить любое, но в тестере время будет браться по модулю 50 дней. Примерно 4 220 000 секунд.
Чёто-както качество MQL5 демотивирует.
Время тут можно подставить любое, но в тестере время будет браться по модулю 50 дней. Примерно 4 220 000 секунд.
Чёто-както качество MQL5 демотивирует.
Можно задать максимум 2 147 483 секунды (что соответствует 35 791 минуте, 596 часам или 24 дням). В тестере иначе обрабатывается таймер.
Встречный вопрос. Зачем выставлять таймер на 24 дня?
Можно задать максимум 2 147 483 секунды (что соответствует 35 791 минуте, 596 часам или 24 дням). В тестере иначе обрабатывается таймер.
Встречный вопрос. Зачем выставлять таймер на 24 дня?
Хочется, чтобы позиция закрывалась после открытия через время от 1 секунды до 10 лет в зависимости там от чего то.
Пробовал это сделать так
request.type_time=ORDER_TIME_SPECIFIED; // Ордер будет действовать до даты истечения
request.expiration=1; //или TimeCurrent()+time; (int time=1;)
не работает с секундами.
Обошёл эту проблему через EventSetTimer( ). Тоже ограничение на 24 дня. И главное я такой пакости от таймера не ожидал. Предупреждать же надо. Ну ладно.
Кстати время в таймере реальное календарное или только время торгов? Другими словами сразу после выходных на таймере сколько натикает?
Снова зафиксирован случай частичной потери связи терминала с сервером. Build 360. Котировки не поступают, но сведения о времени и объёме сделок обновляются. На индикаторе состояния подключения вращающийся круг с серыми секторами. В журнале сообщения:
2010.11.29 18:03:03 Trades '630031' : deal #2107036 buy 0.10 GBPUSD at 1.55387 done (based on order #2157432)
2010.11.29 18:00:02 Trades '630031' : deal #2106895 buy 0.10 GBPUSD at 1.55341 done (based on order #2157265)
2010.11.29 17:07:49 Network '630031': authorized on MetaQuotes-Demo
2010.11.29 17:07:47 Network '630031': connection to MetaQuotes-Demo lost
2010.11.29 16:10:47 Network '630031': trading has been disabled - investor mode
2010.11.29 16:10:47 Network '630031': terminal synchronized with MetaQuotes Software Corp.
2010.11.29 16:10:47 Network '630031': authorized on MetaQuotes-Demo
2010.11.29 16:10:45 Network '630031': connection to MetaQuotes-Demo lost
Обратите внимание на отсутствие сообщения "terminal synchronized with MetaQuotes Software Corp." после 17:07:49, в то же время сведения о новых сделках поступили.
Rosh:
Сделайте прогоны с одинаковым количеством тиком и разным количеством сделок. Тогда можно сравнивать.
Держите.
Тестовая система (какая уж была!): Windows XP SP3, Pentium 4, 3GHz, память 1,25Gb
Все прогоны выполнялись на данных Alpari-Demo, GPBUSD M1, период 04.10.2010-05.11.2010 (1521376 ticks, 34194 bars) в режиме Обычный, Каждый тик, депозит 10000USD (кстати, где Вы взяли депозит 1000000USD? У меня список кончается на 100000), плечо 1:100. Был сооружен советник, который для упрощения конструкции использует особенность счёта Alpari-Demo - нулевую маржу. На каждый тик советник открывает ордер размером 0.1 лота в одну сторону, пока не достигнет заданного через параметр количества сделок, остальные тики пропускаются. Таким образом, влияние количества трейдов сведено к минимуму (на всех прогонах на тестовых данных получился 1 трейд). Попутно по окончании каждого прогона засекалось примерное время формирования отчёта в формате Open XML (пока не превысило порога терпения). Сделки, формируемые тестером в конце тестирования, в расчет не брались (по одной на прогон).
Итак:
Первая серия тестов от 10 до 100 сделок с шагом 10 особого интереса не представляет из-за малого времени теста. Время генерации тиков от 5359 до 6453.
Далее серия от 100 до 1000 сделок с шагом 100 (результат для 100 взят из предыдущей серии):
14
В целом всё хорошо, но начинает проявляться проблема с формированием отчёта
Все прогоны выполнялись на данных Alpari-Demo, GPBUSD M1, период 04.10.2010-05.11.2010 (1521376 ticks, 34194 bars) в режиме Обычный, Каждый тик, депозит 10000USD (кстати, где Вы взяли депозит 1000000USD?
Заключительная серия (на этом железе далее проверять слишком сурово по отношению ко мне;) от 1000 до 10000 c шагом 1000:
Здесь тормоза, о которых с сомнением отозвался Rosh , проявляются во всей красе.
**
Перефразируя Rosh'а, как видно из построенной диаграммы, зависимость времени тестирования от количества СДЕЛОК НЕ строго линейная. Скорее,совсем не линейная.
Результат на 5000 и 6000, скорее всего, несколько завышен, но тенденция просматривается.
Напомню, результат получен на простейшем советнике, который практически не тратит времени на какой-либо анализ и не использует индикаторы, т.е., на рабочем советнике результаты были бы ещё печальнее.
Для сравнения:
Прогон этого теста с 10000 сделок на машине Windows 7, Intel Pentium Dual-Core E5400 @ 2.70 GHz, 2038 MB (PR111) занял 472866 мс.
В свете вышесказанного есть некоторая вероятность того, что часть кандидатов на участие в чемпионате 2010 могла быть незаслуженно отсеяна из-за 15-минутного барьера и особенностей тестера (если было достаточно много сделок).
** - при проведении тестов несколько раз по завершении теста не отображался график символа с отображением сделок.
Interesting:
Это не проблема, нужная сумма может быть вбита руками.