Можно насильно перетянуть людей на МТ5, закрыв МТ4, но это просто привлечет отток пользователей: смысл мне переходить на МТ5, если можно на условный cTrader?
В таком случае новичок для проверки своих простых идей может смело учить и 4-ку. Но не теряет ли он время. Её можно учить, если знать что она просуществует точно ещё 5-10 лет. У кого есть такая уверенность.
МТ4 билд 1090, МТ5 билд 1730. Советник Moving Average из поставки терминалов, EURUSD 4H, за 2017 . Цены открытия. Одинаковый перебор параметров без генетики.
MT4 справился за 11 секунд.
2017.12.2616:37:18.108 There were 8281 passes done during optimization
2017.12.2616:37:18.097Moving Average: optimization finished in 0:00:112017.12.2616:37:07.033 Moving Average: optimization started
2017.12.2616:37:07.032 TestGenerator: actual tick file "C:\Program Files (x86)\MetaTrader - Pepperstone\tester\history\EURUSD240_2.fxt" found
2017.12.2616:37:07.028 Expert Moving Average EURUSD,H4: loaded successfully
2017.12.2616:37:07.008 Expert Moving Average EURUSD,H4: removed
MT5 на одном ядре (включен только Core1) - 204 секунды.
2017.12.2616:38:45.958 Tester register MQL5.community account and use MQL5 Cloud Network to speed up optimizations
2017.12.2616:38:46.114 Tester Experts\Examples\Moving Average\Moving Average.ex5 on EURUSD,H4 from2017.01.0100:00 to 2017.12.2600:002017.12.2616:38:46.114 Tester EURUSD: history data begins from2002.04.1200:002017.12.2616:38:46.115 Tester complete optimization started
2017.12.2616:38:46.115 Tester size of initial task batch is5122017.12.2616:38:46.160 Core 1 connecting to 127.0.0.1:30002017.12.2616:38:46.160 Core 1 connected
2017.12.2616:38:46.163 Core 1 authorized (agent build 1730)
2017.12.2616:38:46.168 Core 1 common synchronization completed
2017.12.2616:42:10.384 Tester optimization finished, total passes 82812017.12.2616:42:10.939 Statistics optimization done in3 minutes 24 seconds2017.12.2616:42:10.939 Statistics local 8281 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
2017.12.2616:42:10.939 Core 1 connection closed
2017.12.2616:42:11.262 Tester 8281 records written to file cache C:\Program Files\Alpari Limited MT5\tester\cache\Moving Average.EURUSD.H4.2.xml
Лог Агента содержит почти одинаковые по цифрам записи
Это значит, что средний проход выполняется за ~9 мс. Получается, что для подсчета 8281 прохода нужно немногим больше 76-ти секунд (медленнее MT4 в 7 раз!). Но итог много хуже - 204 секунды. Похоже, какие-то дикие тормоза на передаче инфы от Агента в Тестер.
2017.12.2616:55:40.649 Moving Average (EURUSD,H4) ------
2017.12.2616:55:40.651 Moving Average (EURUSD,H4) OnTesterInit2017.12.2616:55:41.790 Moving Average (EURUSD,H4) i = 0 Pass = 0OnTester = 0.009 s.: Count = 1530, 170000.0 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 17302017.12.2616:55:41.805 Moving Average (EURUSD,H4) i = 1 Pass = 1OnTester = 0.008 s.: Count = 1530, 191250.0 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 17302017.12.2616:55:41.820 Moving Average (EURUSD,H4) i = 2 Pass = 2OnTester = 0.007 s.: Count = 1530, 218571.4 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 17302017.12.2616:55:41.836 Moving Average (EURUSD,H4) i = 3 Pass = 3OnTester = 0.008 s.: Count = 1530, 191250.0 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 17302017.12.2616:55:41.851 Moving Average (EURUSD,H4) i = 4 Pass = 4OnTester = 0.008 s.: Count = 1530, 191250.0 unit/sec, Agent = C:\Program Files\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000 build = 17302017.12.2616:55:41.918 Moving Average (EURUSD,H4) iMin = 2 Results[iMin] = 0.007s.
2017.12.2616:55:41.918 Moving Average (EURUSD,H4) iMax = 0 Results[iMax] = 0.009s.
2017.12.2616:55:41.918 Moving Average (EURUSD,H4) Amount = 5 Mean = 0.008 s. - 3.15%
2017.12.2616:55:41.918 Moving Average (EURUSD,H4) OnTesterDeinit2017.12.2616:55:41.918 Moving Average (EURUSD,H4) ------
2017.12.2616:55:41.932 Moving Average (EURUSD,H4) Interval = 1.270 s., Count = 0, 0.0 unit/sec
Видно, что на расчет прохода уходит ~8 мс и на передачу Агент->Тестер еще ~7 мс. В сумме около ~15 мс, что соотносится с ранее приведенным логом Агента.
Чистое время среднего прохода в MT4 ~1.3 мс. MT5 - 8 + 7 мс. При этом еще есть какое-то доп. замедление почти в три раза. В общем, все очень плохо выглядит для пятерки в данном случае.
На тиках ничего подобного и близко нет. Там почти паритет (когда проверял).
Да, Природа через человека движется к самосознанию...))
Природа создает вещи в которых нет лишних сущностей. Потому что естественный отбор миллионы лет их отсекает напрочь.
Создания природы - это эталон эффективности. Ничего лишнего, - только идеальные взаимодействия, связи и формы. Практически без потери эффективности в каком либо узле.
Чего не скажешь о наших механизмах.
Вот только сама эта сущность может и не знать что она является лишней для природы, и вполне считать себя НЕ лишней. И наоборот.
А если учесть что под определение "создано природой" можно подвести вообще всё что угодно. То в мире нет ничего лишнего, в том числе и ооп))). Это бесконечная философская демагогия. Которая тут совершенно не нужна. Без того проблем хватает.
Все данные для воспроизведения в студию, пожалуйста! Потратил массу времени на исследования производительности тестеров/оптимизаторов. Такого дикого расхождения в производительности не заметил.
Сам использую только тики. OHLC H4 никогда не пробовал и даже не понимаю, зачем оно может быть надо.
Не докажет, зря чтоли он все условия скрыл?
Он же отлично знает, что на пустом терминале нажал кнопку Start и он ни в чем не виноват. Он же сделал вид, что не видел, что у него все это время выкачивалась и синхронизировалась история. Да мало ли что он еще там накрутил.
Period: 2017.01.01 - 2017.12.23 - прямо смешно тестировать 1 500 баров H4 в режиме "По ценам открытия".
Expert: Moving Average, дефолтные настройки
Optimization: Desrease factor from 3 to 30 by 0.3, MA Period from 12 to 120 by 1, всего 9 919 проходов
Теперь результаты:
N
Условия
MT4 одиночный
MT4 оптимизация
MT5 одиночный
MT5 оптимизация
1
EURUSD, H4, 2017.01.01-2017.12.23, open bar
16 ms / 1531 ticks
10 000 ms
15 ms / 4806 ticks
36 000 ms
2
EURUSD, H4, 2017.06.01-2017.12.01, every ticks
5 484 ms / 8 974 300 ticks
6 час 55 мин
5 766 ms / 11 620 181 ticks
4 час 5 мин
Результаты Метатрейдер 4 тест 1:
Одиночный:
EURUSD,H4: 1531 tick events (2531 bars, 4061 bar states) processed in 0:00:00.016 (total time 0:00:00.016)
Оптимизация:
There were 9919 passes done during optimization, 5713 results have been discarded as insignificant
Moving Average: optimization finished in 0:00:10
Результаты Метатрейдер 5 тест 1:
Одиночный:
EURUSD,H4: 4806 ticks, 1530 bars generated. Test passed in 0:00:00.015.
6067 total ticks for all symbols
EURUSD: passed to tester 6067 ticks
Оптимизация:
Tester optimization finished, total passes 9919
Statistics optimization done in 0 minutes 36 seconds
На предложенном фейковом тесте видим:
хотя МТ5 на одиночном тесте сгенерировал и проверил в 3 раза больше тиков чем МТ4, имел на себе затраты в огранизацию внешнего тестера, МТ5 оказался не медленнее МТ4. 15 мс против 16 мс у МТ5.
у МТ5 даже Open Bar тестируется в разы(в 3 раза больше тиков) качественнее за счет проверок High/Low уровней для правильного срабатывания стопов.
хотя в оптимизации МТ4 выиграл в 3.6 раза (10 сек против 36 сек), но это за счет экстремально простой задачи на 1500 баров и в 3 раза меньшего количества тиков. не зря же автор H4 выбрал!
Теперь давайте поставим оба тестера в одинаковые (но все равно очень простые) условия тестов по синтетическим тикам, тест 2:
Period: 2017.06.01 - 2017.12.01, H1, Все тики
Результаты Метатрейдер 4 тест 2:
Одиночный:
EURUSD,H4: 8 974 300 tick events (1787 bars, 8975300 bar states) processed in 0:00:02.781 (total time 0:00:05.484)
Оптимизация: на основе 120 из 9919 проходов получается 6 часов 55 минут
Результаты Метатрейдер 5 тест 2:
Одиночный:
EURUSD,H4: 11 620 181 ticks, 786 bars generated. Test passed in 0:00:05.766.
Оптимизация: на основе 200 проходов получается 4 часа 5 минут
Как только подняли ставки и перешли к реальной работе, МТ5 сразу победил даже в простых условиях. 4 часа на тест у МТ5 вместо 7 часов у МТ4. Причем МТ5 смоделировал и проверил на 30% больше тиков.
Еще в качестве вишенки - при использовании MQL5 Cloud Network полный перебор завершился за 2 минуты и 49 секунд: потратил 82 цента, сэкономив 4 часа
Tester optimization finished, total passes 9919
Statistics optimization done in 2 minutes 49 seconds
Statistics local 31 tasks (0%), remote 0 tasks (0%), cloud 9903 tasks (99%)
Я понимаю, что писатели for(int i=0;i<bars;i++) { } хвастают своей скоростью по сравнению с тестерами Метатрейдера. Дальше баров им ничего не светит с уровнем технологий 2000 года.
Я понимаю, почему сюда приходят люди безудержно набрасывать.
Но хочу остальным объяснить реальное положение вещей:
Сейчас задачи тестирования совершенно другого уровня сложности - нужна максимальная точность в моделировании.
Нужно обеспечивать мультисимвольное моделирование рынка с точностью до миллисекунд - это совершенно другого уровня рыночный движок
Время побарных тестеров прошло давным давно. Но даже в тестах по открытию баров нельзя игнорировать точки OHLC, а надо все их проверять, чтобы стыдно не было за результат теста. С полной выкладкой моделирования рынка вокруг каждой проверяемой точки.
Нужно иметь постоянные результаты тестирования, которые не плавают при каждом запуске. Для этого нужно моделировать массу рыночных условий в каждом тике (маржа, прибыли, стоимость тика и тд)
Нужно уметь параллелить процессы тестирования как на все ядра, так и в локальные фермы, так и в клауд
Нужно уметь делать форвардные тесты
Нужно уметь делать реальную задержку/проскальзывания исполнения в миллисекундах с полным моделированием всего рынка в момент задержки, чтобы получить новые рыночные цены, реквоты, правильно среагировать на них и продолжить работу.
Вообще это потрясающий по своей силе механизм построения робастых экспертов и тестирования качества экспертов. В большинстве случаев достаточно поставить 1 сек задержки, чтобы увидеть насколько бестолковый программист писал эксперта.
По всей видимости, никто даже понятия об этом не имеет. Предпочитают обсуждать тестирование баров и смешное различие языков.
Нужно уметь тестировать на реальных тиках. Да, это дольше и дороже, но снимает вопрос достоверности.
Всего это нет в тестере стратегий Метатрейдера 4.
Лично для меня - полное безумие ратовать за тестер четверки и вообще возвращаться на четверку после того, как увидел и воспользовался тестером Метатрейдера 5.
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
MT5 на одном ядре (включен только Core1) - 204 секунды.
Ну вы мастер. Может еще ногу отрежем чемпиону? А что, "надо же в равные условия всех ставить, а у него возможностей больше". Конечно надо резать!
Посмотрите мой отчет - вот это правильная и детальная работа с объяснениями читинга. Вы даже не заметили, как сыграли с шулером в подставленную партию.
Optimization: Desrease factor from 3 to 30 by 0.3, MA Period from 12 to 120 by 1, всего 9 919 проходов
Теперь результаты:
N
Условия
MT4 одиночный
MT4 оптимизация
MT5 одиночный
MT5 оптимизация
1
EURUSD, H4, 2017.01.01-2017.12.23, open bar
16 ms / 1531 ticks
10 000 ms
15 ms / 4806 ticks
36 000 ms
2
EURUSD, H4, 2017.06.01-2017.12.01, every ticks
5 484 ms / 8 974 300 ticks
6 час 55 мин
5 766 ms / 11 620 181 ticks
4 час 5 мин
Красные и желтые цифры противоречат друг другу. Чуть больше 1 мс у MT4 на проход уходит на Вашей и моей машинах.
На предложенном фейковом тесте видим:
хотя МТ5 на одиночном тесте сгенерировал и проверил в 3 раза больше тиков чем МТ4, имел на себе затраты в огранизацию внешнего тестера, МТ5 оказался не медленнее МТ4. 15 мс против 16 мс у МТ5.
у МТ5 даже Open Bar тестируется в разы(в 3 раза больше тиков) качественнее за счет проверок High/Low уровней для правильного срабатывания стопов.
хотя в оптимизации МТ4 выиграл в 3.6 раза (10 сек против 36 сек), но это за счет экстремально простой задачи на 1500 баров и в 3 раза меньшего количества тиков. не зря же автор H4 выбрал!
Вот эти три раза мне непонятны, т.к. в MT4 отложки (если память изменяет, форумчане поправят) исполняются с учетом High/Low. Такое ощущение, что MT5 под тиком подразумевает нечто отличное от MT4 в данном контексте. Но MT4 в режиме по барам все же учитывает High/Low. Поэтому тут не все так однозначно, к сожалению.
Более того, все таки 36 секунд - это восемь Агентов. MT4 - один. Вот тут не понимаю, как технарь, где такие серьезные потери? Просто человек может запустить восемь MT4-тестеров, разбив оптимизационную задачу полного перебора на восемь непересекающихся кусков и тогда контр-аргументы будут сомнительными. Поэтому при сравнении стараюсь ставить в одинаковые условия - один Агент MT5 vs один тестер MT4.
Но хочу остальным объяснить реальное положение вещей:
Сейчас задачи тестирования совершенно другого уровня сложности - нужна максимальная точность в моделировании.
Иногда это лишнее. Как правило, сначало делают грубую оценку на очень быстрых режимах, затем, действительно, включают максимально точную. Грубая оценка занимает 90% запусков, потому что там оттачивается торговая идея в черновом варианте.
Время побарных тестеров прошло давным давно.
С помощью кастомных символов покажу (далеко не сегодня), что это утверждение не совсем верное. Даже грубую оценку можно сделать на OHLC M1 (не H4, конечно) очень качественно. Утверждаю пока без доказательств.
Нужно иметь постоянные результаты тестирования, которые не плавают при каждом запуске. Для этого нужно моделировать массу рыночных условий в каждом тике (маржа, прибыли, стоимость тика и тд)
Это как раз то, о чем несколько раз заходила на форуме речь. Что сверх-точность избыточна при грубой оценке. И при этом постоянные результаты тестирования достигаются без этой точности. Был разговор про то, чтобы иметь возможность менять валюту счета в тестере на тех же кроссах, чтобы не тянуть другие символы для промежуточных расчетов и т.д. Т.е. хочется иметь возможность загрубить, потеряв в точности немного, но при этом сильно выиграв в скорости.
Надеюсь, данные замечания будут учтены в анонсированной работе над тестером.
1) не противоречат, ибо вы понятия не имеете о накладных расходах одного прохода и многих
как с таким уровнем знаний вы тестировать что-то пытаетесь?
2) не понимаете, так как уровень знаний темы недостаточный. не писали вы тестеров
3) за предложение «запустить могу N четверок» сразу можно списывать с обсуждения. когда в очередной раз(а попыток было много в этом форуме) тема с «давайте одно ядро тестить» обламывается, вылезает «ну можно же несколько запустить». не запускают
4) я не сомневаюсь в советах людей, когда вижу их перепрыг с «дайте детальность» на «а вообще-то я на барах тестирую, вообще мне все это не нужно»
Моя речь не для вас(кто заявляет - мне не нужно).
Чтобы не угробить проект, нужно над ним думать очень много и глубоко, понимая, что важно и куда идет вектор развития. И мы этим занимаемся.
Когда вокруг пытаются набрасывать «а мне лишь бары, а мне то не нужно, да вообще вы лишнее делаете», то их мнение рассматривается исключительно с точки зрения вредительства. Когда кто-то «из лучших побуждений» начинает бездумно топить против, то тоже зарабатывает очки профессионализма.
1) не противоречат, ибо вы понятия не имеете о накладных расходах одного прохода и многих
как с таким уровнем знаний вы тестировать что-то пытаетесь?
Возможно, у нас терминологическое непонимание. Т.к. я под временем на проход имел в виде общее количество времени на Оптимизацию, деленное на количество проходов. Вы, видимо, имели в виду полноценный одиночный запуск тестера.
2) не понимаете, так как уровень знаний темы недостаточный. не писали вы тестеров
3) за предложение «запустить могу N четверок» сразу можно списывать с обсуждения. когда в очередной раз(а попыток было много в этом форуме) тема с «давайте одно ядро тестить» обламывается, вылезает «ну можно же несколько запустить». не запускают
В MT4 люди Оптимизацию воспринимают, как много-много раз запустить одиночный прогон в автоматическом режиме. Поэтому при сравнении тестеров во время Оптимизации и сопоставляют среднее время на один такой прогон. Это разные концепции сравнения. В свящи с этим позволю себе спросить по этой таблице
N
Условия
MT4 одиночный
MT4 оптимизация
MT5 одиночный
MT5 оптимизация
2
EURUSD, H4, 2017.06.01-2017.12.01, every ticks
5 484 ms / 8 974 300 ticks
6 час 55 мин
5 766 ms / 11 620 181 ticks
4 час 5 мин
Почему при практическом паритете одиночных прогонов в MT4/5 (см. таблицу), одно ядро MT4 медленнее восьми ядер MT5 всего на 70%, даже не на 100%?
4) я не сомневаюсь в советах людей, когда вижу их перепрыг с «дайте детальность» на «а вообще-то я на барах тестирую, вообще мне все это не нужно»
Придерживаюсь Вашей же точки зрения при виде таких сторонних заявлений. Сам же вел речь несколько о ином - о бОльшей гибкости настроек тестера. Когда этими настройками можно в большом диапазоне влиять на скорость/точность. Сам загрубляю до нужной мне золотой середины через кастомные символы, поэтому благодарен за такую возможность. Но какие-то встроенные инструментарии в этом направлении, думаю, не были бы лишними.
Еще раз похвалю fxsaber, который второй раз сделал вид, что не видит фейковости предложенной задачи на 1500 баров с мизерным таймингом.
Если что-то помогает топить против, он на такие вещи не смотрит. Не в первый раз.
Даже четкое многократное указание «тест фейковый, читинг налицо» не отрезвило:
Время теста миллисекунды? Время оптимизации десятки секунд? Нормально!
Не понимаю, что такое накладные расходы? Это нормально! Я отбрасываю все лишнее, чтобы не париться. Какая еще подготовка?
Я осознанно игнорирую, что в одном случае тестирую рогатку в руках(МТ4) и разворачиваемую батарею массового поражения(МТ5). Почему? Да потому что я выбрал тест стрельбы по воробью за N миллисекунд на расстояние в 2 метра(1500 баров по открытию) и мне совсем не хочется даже по стае гусей стрелять.
Время разворота батареи для стрельбы на 2 метра больше выстрела рогатки? Ну так мы это же и хотели показать! Зря чтоли 1500 баров в самом быстром и некачественном режиме запускали.
Точность работы вообще не интересует, вы смеетесь чтоли!
Почему при практическом паритете одиночных прогонов в MT4/5 (см. таблицу), одно ядро MT4 медленнее восьми ядер MT5 всего на 70%, даже не на 100%?
Потому что вы живете в мире простецких циклов for и игнорируете десятки объяснений различия архитектур тестеров. Разница в накладных расходах может быть от десятков до сотен раз.
Один - тупой и примитивный for, а другой - детализированный симулятор рыночного окружения, где реализуется точность до миллисекунд с обязательным учетом всех деталей, чтобы ни один критик с форума не заявил «ну вон там у вас что-то не так сработало, не так посчитало». И все это на всем многообразии возможных вариантов трейдинга.
Лично я это объяснял десятки раз, выслушивая раз за разом доводы тех, кто тестером считает «пробежаться по барам».
Чтобы совсем просто и понятно:
Выставили в бенчмарк сравнения тестеров прогон на десяток миллисекунд? Читер. Вне зависимости, что вы о себе думаете. Вне зависимости, что вы «не заметили»
Выставили в бенчмарк оптимизатор на сверхкороткую дистанцию. Читер.
Выставили в бенчмарк цифры без полного окружения для воспроизведения. Читер.
Можно насильно перетянуть людей на МТ5, закрыв МТ4, но это просто привлечет отток пользователей: смысл мне переходить на МТ5, если можно на условный cTrader?
МТ4 билд 1090, МТ5 билд 1730. Советник Moving Average из поставки терминалов, EURUSD 4H, за 2017 . Цены открытия. Одинаковый перебор параметров без генетики.
MT4 справился за 11 секунд.
MT5 на одном ядре (включен только Core1) - 204 секунды.
Лог Агента содержит почти одинаковые по цифрам записи
Это значит, что средний проход выполняется за ~9 мс. Получается, что для подсчета 8281 прохода нужно немногим больше 76-ти секунд (медленнее MT4 в 7 раз!). Но итог много хуже - 204 секунды. Похоже, какие-то дикие тормоза на передаче инфы от Агента в Тестер.
Вставляем в исходник строку
Получаем такой замер
Видно, что на расчет прохода уходит ~8 мс и на передачу Агент->Тестер еще ~7 мс. В сумме около ~15 мс, что соотносится с ранее приведенным логом Агента.
Чистое время среднего прохода в MT4 ~1.3 мс. MT5 - 8 + 7 мс. При этом еще есть какое-то доп. замедление почти в три раза. В общем, все очень плохо выглядит для пятерки в данном случае.
На тиках ничего подобного и близко нет. Там почти паритет (когда проверял).
Да, Природа через человека движется к самосознанию...))
Природа создает вещи в которых нет лишних сущностей. Потому что естественный отбор миллионы лет их отсекает напрочь.
Создания природы - это эталон эффективности. Ничего лишнего, - только идеальные взаимодействия, связи и формы. Практически без потери эффективности в каком либо узле.
Чего не скажешь о наших механизмах.
Все данные для воспроизведения в студию, пожалуйста! Потратил массу времени на исследования производительности тестеров/оптимизаторов. Такого дикого расхождения в производительности не заметил.
Сам использую только тики. OHLC H4 никогда не пробовал и даже не понимаю, зачем оно может быть надо.
Не докажет, зря чтоли он все условия скрыл?
Он же отлично знает, что на пустом терминале нажал кнопку Start и он ни в чем не виноват. Он же сделал вид, что не видел, что у него все это время выкачивалась и синхронизировалась история. Да мало ли что он еще там накрутил.
В реальности условия берем его:
Теперь результаты:
Результаты Метатрейдер 4 тест 1:
Результаты Метатрейдер 5 тест 1:
На предложенном фейковом тесте видим:
Теперь давайте поставим оба тестера в одинаковые (но все равно очень простые) условия тестов по синтетическим тикам, тест 2:
Результаты Метатрейдер 4 тест 2:
Результаты Метатрейдер 5 тест 2:
Как только подняли ставки и перешли к реальной работе, МТ5 сразу победил даже в простых условиях. 4 часа на тест у МТ5 вместо 7 часов у МТ4. Причем МТ5 смоделировал и проверил на 30% больше тиков.
Еще в качестве вишенки - при использовании MQL5 Cloud Network полный перебор завершился за 2 минуты и 49 секунд: потратил 82 цента, сэкономив 4 часа
Я понимаю, что писатели for(int i=0;i<bars;i++) { } хвастают своей скоростью по сравнению с тестерами Метатрейдера. Дальше баров им ничего не светит с уровнем технологий 2000 года.
Я понимаю, почему сюда приходят люди безудержно набрасывать.
Но хочу остальным объяснить реальное положение вещей:
Вообще это потрясающий по своей силе механизм построения робастых экспертов и тестирования качества экспертов. В большинстве случаев достаточно поставить 1 сек задержки, чтобы увидеть насколько бестолковый программист писал эксперта.
По всей видимости, никто даже понятия об этом не имеет. Предпочитают обсуждать тестирование баров и смешное различие языков.
Всего это нет в тестере стратегий Метатрейдера 4.
Лично для меня - полное безумие ратовать за тестер четверки и вообще возвращаться на четверку после того, как увидел и воспользовался тестером Метатрейдера 5.
MT4 справился за 11 секунд.
MT5 на одном ядре (включен только Core1) - 204 секунды.
Ну вы мастер. Может еще ногу отрежем чемпиону? А что, "надо же в равные условия всех ставить, а у него возможностей больше". Конечно надо резать!
Посмотрите мой отчет - вот это правильная и детальная работа с объяснениями читинга. Вы даже не заметили, как сыграли с шулером в подставленную партию.
Теперь результаты:
Красные и желтые цифры противоречат друг другу. Чуть больше 1 мс у MT4 на проход уходит на Вашей и моей машинах.
На предложенном фейковом тесте видим:
Вот эти три раза мне непонятны, т.к. в MT4 отложки (если память изменяет, форумчане поправят) исполняются с учетом High/Low. Такое ощущение, что MT5 под тиком подразумевает нечто отличное от MT4 в данном контексте. Но MT4 в режиме по барам все же учитывает High/Low. Поэтому тут не все так однозначно, к сожалению.
Более того, все таки 36 секунд - это восемь Агентов. MT4 - один. Вот тут не понимаю, как технарь, где такие серьезные потери? Просто человек может запустить восемь MT4-тестеров, разбив оптимизационную задачу полного перебора на восемь непересекающихся кусков и тогда контр-аргументы будут сомнительными. Поэтому при сравнении стараюсь ставить в одинаковые условия - один Агент MT5 vs один тестер MT4.
Но хочу остальным объяснить реальное положение вещей:
Это как раз то, о чем несколько раз заходила на форуме речь. Что сверх-точность избыточна при грубой оценке. И при этом постоянные результаты тестирования достигаются без этой точности. Был разговор про то, чтобы иметь возможность менять валюту счета в тестере на тех же кроссах, чтобы не тянуть другие символы для промежуточных расчетов и т.д. Т.е. хочется иметь возможность загрубить, потеряв в точности немного, но при этом сильно выиграв в скорости.
Надеюсь, данные замечания будут учтены в анонсированной работе над тестером.
1) не противоречат, ибо вы понятия не имеете о накладных расходах одного прохода и многих
как с таким уровнем знаний вы тестировать что-то пытаетесь?
2) не понимаете, так как уровень знаний темы недостаточный. не писали вы тестеров
3) за предложение «запустить могу N четверок» сразу можно списывать с обсуждения. когда в очередной раз(а попыток было много в этом форуме) тема с «давайте одно ядро тестить» обламывается, вылезает «ну можно же несколько запустить». не запускают
4) я не сомневаюсь в советах людей, когда вижу их перепрыг с «дайте детальность» на «а вообще-то я на барах тестирую, вообще мне все это не нужно»
Моя речь не для вас(кто заявляет - мне не нужно).
Чтобы не угробить проект, нужно над ним думать очень много и глубоко, понимая, что важно и куда идет вектор развития. И мы этим занимаемся.
Когда вокруг пытаются набрасывать «а мне лишь бары, а мне то не нужно, да вообще вы лишнее делаете», то их мнение рассматривается исключительно с точки зрения вредительства. Когда кто-то «из лучших побуждений» начинает бездумно топить против, то тоже зарабатывает очки профессионализма.
1) не противоречат, ибо вы понятия не имеете о накладных расходах одного прохода и многих
как с таким уровнем знаний вы тестировать что-то пытаетесь?
Возможно, у нас терминологическое непонимание. Т.к. я под временем на проход имел в виде общее количество времени на Оптимизацию, деленное на количество проходов. Вы, видимо, имели в виду полноценный одиночный запуск тестера.
2) не понимаете, так как уровень знаний темы недостаточный. не писали вы тестеров
3) за предложение «запустить могу N четверок» сразу можно списывать с обсуждения. когда в очередной раз(а попыток было много в этом форуме) тема с «давайте одно ядро тестить» обламывается, вылезает «ну можно же несколько запустить». не запускают
В MT4 люди Оптимизацию воспринимают, как много-много раз запустить одиночный прогон в автоматическом режиме. Поэтому при сравнении тестеров во время Оптимизации и сопоставляют среднее время на один такой прогон. Это разные концепции сравнения. В свящи с этим позволю себе спросить по этой таблице
Почему при практическом паритете одиночных прогонов в MT4/5 (см. таблицу), одно ядро MT4 медленнее восьми ядер MT5 всего на 70%, даже не на 100%?
4) я не сомневаюсь в советах людей, когда вижу их перепрыг с «дайте детальность» на «а вообще-то я на барах тестирую, вообще мне все это не нужно»
Придерживаюсь Вашей же точки зрения при виде таких сторонних заявлений. Сам же вел речь несколько о ином - о бОльшей гибкости настроек тестера. Когда этими настройками можно в большом диапазоне влиять на скорость/точность. Сам загрубляю до нужной мне золотой середины через кастомные символы, поэтому благодарен за такую возможность. Но какие-то встроенные инструментарии в этом направлении, думаю, не были бы лишними.
Еще раз похвалю fxsaber, который второй раз сделал вид, что не видит фейковости предложенной задачи на 1500 баров с мизерным таймингом.
Если что-то помогает топить против, он на такие вещи не смотрит. Не в первый раз.
Даже четкое многократное указание «тест фейковый, читинг налицо» не отрезвило:
Почему при практическом паритете одиночных прогонов в MT4/5 (см. таблицу), одно ядро MT4 медленнее восьми ядер MT5 всего на 70%, даже не на 100%?
Потому что вы живете в мире простецких циклов for и игнорируете десятки объяснений различия архитектур тестеров. Разница в накладных расходах может быть от десятков до сотен раз.
Один - тупой и примитивный for, а другой - детализированный симулятор рыночного окружения, где реализуется точность до миллисекунд с обязательным учетом всех деталей, чтобы ни один критик с форума не заявил «ну вон там у вас что-то не так сработало, не так посчитало». И все это на всем многообразии возможных вариантов трейдинга.
Лично я это объяснял десятки раз, выслушивая раз за разом доводы тех, кто тестером считает «пробежаться по барам».
Чтобы совсем просто и понятно: