Почти статья, только без модерации.
А оно Вам надо?
А оно Вам надо?
сам себя если не похвалишь..,))
посмотрим что это такое
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006 #define VIRTUAL_TESTER // Запуск в виртуальном торговом окружении #include <fxsaber\Virtual\Virtual.mqh> // https://www.mql5.com/ru/code/22577 input int Range = 0; // Меняем от 1..10 input double Lots = 1; input int Interval = 100; // Время жизни позиции // Переворотная ТС void OnTick() { if (!OrderSelect(OrdersTotal() - 1, SELECT_BY_POS)) OrderSend(_Symbol, OP_BUY, Lots, SymbolInfoDouble(_Symbol, SYMBOL_ASK), 100, 0, 0); // Если нет позиции - открываем else if (TimeCurrent() - OrderOpenTime() > Interval) // Если позиция прожила больше заданного времени { // Перевернули позицию OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 100); OrderSend(_Symbol, 1 - OrderType(), Lots, OrderClosePrice(), 100, 0, 0); } }
В режиме VirtualTester = false
Core 1 pass 0 returned result 997711199.00 in 0:00:03.354 Core 1 pass 1 returned result 997711199.00 in 0:00:02.559 Core 1 pass 2 returned result 997711199.00 in 0:00:02.606 Core 1 pass 3 returned result 997711199.00 in 0:00:02.574 Core 1 pass 4 returned result 997711199.00 in 0:00:02.621 Core 1 pass 5 returned result 997711199.00 in 0:00:02.574 Core 1 pass 6 returned result 997711199.00 in 0:00:02.636 Core 1 pass 7 returned result 997711199.00 in 0:00:02.558 Core 1 pass 8 returned result 997711199.00 in 0:00:02.590 Core 1 pass 9 returned result 997711199.00 in 0:00:02.621 Tester optimization finished, total passes 10 Statistics optimization done in 0 minutes 27 seconds Statistics local 10 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
В режиме VirtualTester = true
Core 1 pass 0 returned result 997711199.00 in 0:00:01.545 Core 1 pass 1 returned result 997711199.00 in 0:00:00.780 Core 1 pass 2 returned result 997711199.00 in 0:00:00.795 Core 1 pass 3 returned result 997711199.00 in 0:00:00.796 Core 1 pass 4 returned result 997711199.00 in 0:00:00.811 Core 1 pass 5 returned result 997711199.00 in 0:00:00.780 Core 1 pass 6 returned result 997711199.00 in 0:00:00.780 Core 1 pass 7 returned result 997711199.00 in 0:00:00.780 Core 1 pass 8 returned result 997711199.00 in 0:00:00.780 Core 1 pass 9 returned result 997711199.00 in 0:00:00.795 Tester optimization finished, total passes 10 Statistics optimization done in 0 minutes 09 seconds Statistics local 10 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
Результат идентичен, только скорость Оптимизации выросла в 3 раза!
Разные методы ускорения Тестера "по реальным тикам" в одной таблице: во сколько раз увеличивается скорость Оптимизации без потери качества результата.
Original Symbol | Original Symbol + VirtualTester | Custom Symbol | Custom Symbol + VirtualTester |
---|---|---|---|
1 | 2 | 32.5 | 94 |
Цифры примерные и могут плавать от разных условий. В сотню раз ускорить - реально.
Разные методы ускорения Тестера "по реальным тикам" в одной таблице: во сколько раз увеличивается скорость Оптимизации без потери качества результата.
Original Symbol | Original Symbol + VirtualTester | Custom Symbol | Custom Symbol + VirtualTester |
---|---|---|---|
1 | 2 | 32.5 | 94 |
Цифры примерные и могут плавать от разных условий. В сотню раз ускорить - реально.
Dmitriy Skub:
Следующий шаг в эволюции - выкинуть тестер "в пропасть" и использовать свой.
Написать одноядерный целочисленный цикл for, конечно, можно. Здесь тема ускорения затрагивается, как бонус.
Выкладывается то, что может быть полезно не только себе.
Можно еще ускорить.
Например?
Давно ходил вокруг да около этой темы. Теперь видно как надо решать подобную задачу. Уверен, что тестер должен быть внутри советника и оптимизация стратегии реализовываться в теневом режиме.
Автору библиотеки большое спасибо.
Написать одноядерный целочисленный цикл for, конечно, можно. Здесь тема ускорения затрагивается, как бонус.
Выкладывается то, что может быть полезно не только себе.
Например?
Да это понятно - я очень высокого мнения о Вашем уровне прикладного программиста. Изобретательности, с которой Вы преодолеваете ... можно только позавидовать.
Имелось ввиду ускорение вне рамок (точнее сказать "раковин") МТ-тестера.
Имелось ввиду ускорение вне рамок (точнее сказать "раковин") МТ-тестера.
Поэтому и спрашивал, поскольку сам когда-то делал стороннюю быструю считалку.
А данная библиотека, конечно, сделана не ради п.5, а ради п. 4.
Бесплатное ускорение Тестера - это бонус для тех, кто хочет быстрее делать Оптимизацию своего MT4-style советника в MT5-Тестера (многоядерность + Облако) и не заморачиваться совсем (код менять не нужно).
ЗЫ MT5-тестер немного озадачил своей производительностью... Кто-то в Облаке очень много лишних вычислений (и денег) совершает.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Virtual:
Виртуальное торговое окружение
Автор: fxsaber