fxsaber #: Реальное окружение в мат. режиме является же виртуальным. Почему не использоваться советник, как если бы штатно торговали в реальном окружении?
Реальное окружение не использовал для скорости - советник для виртуалки написан.
У меня одна виртуалка для получения разметки, а во второй торгует уже обученное МО.
#include <fxsaber\EAToMath\EAToMath.mqh> // https://www.mql5.com/ru/code/61283sinputbool inVirtual = false; // true - виртуальное, false - "реальное"voidOnTick()
{
staticconst VIRTUAL_POINTER VirtualPointer = VIRTUAL::Create(AccountBalance()); // Создали виртуальное окружение для разметки// Здесь находимся в "реальном" окружении.MqlTick Tick;
if (SymbolInfoTick(_Symbol, Tick)) // Получили тик из "реального" окружения.
{
_VSP(VirtualPointer); // Зашли в виртуальное окружение и выйдем автоматически из него, как будет выход из скопа.
VIRTUAL::NewTick_NoCheck(Tick); // Пробросили в виртуальное окружение тик.if (OrdersHistoryTotal() < 5)
OrderSend(_Symbol, OP_BUY, 1, Tick.ask, 0, Tick.ask - 10 * _Point, Tick.ask + 10 * _Point);
}
// Здесь находимся в "реальном" (MT4Orders не было при компиляции) окружении.if (OrdersHistoryTotal() < 2)
OrderSend(_Symbol, OP_SELL, 1, Tick.bid, 0, Tick.bid + 10 * _Point, Tick.bid - 10 * _Point);
}
doubleOnTester()
{
if (inVirtual)
VIRTUAL::SelectByIndex(VIRTUAL::Total()); // Так зайдем в созданное выше виртуальное окружение.return(AccountBalance());
}
Одновременная торговля в двух окружениях.
Включите HTML-отчет, чтобы увидеть торговлю в каждом из окружений (входным inVirtual выбирается).
Мой OnTick() вызывается, но он не пожет получить значения тика:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: EAToMath
Forester, 2025.11.04 13:58
Это действие лишние, если при сохранении тиков выбрать только торговые.
Реальное окружение в мат. режиме является же виртуальным. Почему не использоваться советник, как если бы штатно торговали в реальном окружении?
Реальное окружение не использовал для скорости - советник для виртуалки написан.
У меня одна виртуалка для получения разметки, а во второй торгует уже обученное МО.
У меня одна виртуалка для получения разметки, а во второй торгует уже обученное МО.
Просьба пояснить.
Просьба пояснить.
В общем 2 виртуалки нужны.
Содержит данные символа и тестера.
Нужно ваши использовать?
Или что-то другое? Полагаю оно должно меняться для каждого символа хотя бы...
У меня сейчас в тики нули считываются - возможно из за этого и сделок нет.В общем 2 виртуалки нужны.
Одновременная торговля в двух окружениях.
Включите HTML-отчет, чтобы увидеть торговлю в каждом из окружений (входным inVirtual выбирается).
Нужно ваши использовать?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: EAToMath
fxsaber, 2025.07.09 20:25
Алгоритм запуска одиночного прохода при сохранении тиков.
Предполагаю, что в п.3. у вас запускается не исходный советник. Нужно смотреть логи.
Такие строки в журнале должны быть после запуска советника в тестере в режиме сохранения тиков.
Нет. Эти поля автоматически генерируются в режиме записи тиков.
CS 0 18:21:30.325 test3 (EURUSD,M1) 1970.01.01 00:00:00 EAToMath.mqh 840: version 2025.09.01, https://www.mql5.com/ru/code/61283
CS 0 18:21:30.325 test3 (EURUSD,M1) 1970.01.01 00:00:00 EAToMath.mqh 841: : testing of Experts\test3.ex5 from 1970.01.01 00:00:00 to 1970.01.01 00:00:00,
CS 0 18:21:30.325 test3 (EURUSD,M1) 1970.01.01 00:00:00 EAToMath.mqh 867: TechData-inputs are invalid!
CS 0 18:21:30.325 test3 (EURUSD,M1) 1970.01.01 00:00:00 EAToMath.mqh 1182: final balance 1000000000.00, OrdersHistoryTotal() = 0
CS 0 18:21:30.325 Tester OnTester result 0
CS 0 18:21:30.376 Tester 0 : mathematical test passed in 0:00:00.064
CS 0 18:21:30.377 Tester 169 Mb memory used
CS 0 18:21:30.377 Tester log file "C:\Users\0\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\logs\20251104.log" written
CS 0 18:21:30.377 Tester test Experts\test3.ex5 on EURUSD,M1 thread finished
CS 0 18:21:30.381 127.0.0.1 prepare for shutdown
CS 0 18:21:30.381 127.0.0.1 shutdown finished
//#define FAKE // Убрать - обход для размещения кода в КБ.Не записывает. Вот такой лог:
В логе Тестера не будет никаких записей по этому поводу. Только в логе Терминала (вкладки Journal, не Experts).
На всякий случай скинул в ЛС последнюю версию MTTester.mqh.