Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Благодарю за помощь в тестировании! Обновленный MTTester.mqh выложил.
Огромное спасибо за библиотеку
Этот советник каждые три секунды нажимает на кнопку Start, если она не Stop. Получилось нажать - true, иначе - false.
Стандартная ситуация.
Нажали на Start - запустился расчет.
На это действие уходит ~125 мс.
Нередкая ситуация.
Нажали на Start - запустился либо мгновенный расчет, либо Тестер сообщил, что не может совершить расчет (например, FromDate >= ToDate).
На это действие уходит около секунды. Библиотека будет алертить, но вернет true - кнопка нажималась.
Редкая ситуация.
Start не нажимается. Такое лечится только перезагрузкой Терминала.
У меня нет логов такой ситуации. На идентификацию такого уйдет <10 секунд. Будет такой алерт.
Возврат false - кнопка не нажалась.
Редкая ситуация.
Start не нажимается. Такое лечится только перезагрузкой Терминала.
Удаленная WinServer-машина непрерывно делала сотни одиночных проходов без каких-либо сбоев.
Как только зашел (RDP) на эту машину, кнопка Start прекратила нажиматься. Лечится, как всегда - перезагрузка Терминала.
Похоже, такое поведение как-то связано с подобным заходом на машину. Можно десятки раз заходить через RDP - все работает замечательно. Но какой-то заход становится роковым для Тестера.
Кто сталкивается со Start-багом - обратите внимание на взаимосвязь захода на машину и кнопкой Start.
ЗЫ Совпадение или нет, WinServer в этот заход на машину предложила еще посмотреть свои обновления.
Хорошая библиотека.
А можно ли указать какой *.set файл с настройками параметров передать программно для теста?
По умолчанию только одни и те же настройки используются, что не очень удобно.
А можно ли указать какой *.set файл с настройками параметров передать программно для теста?
Пример.
Благодарю.
А Settings лучше передавать одной строкой где rows разделены символом \n
или массивом строк как в примере?
И можно ли модифицировать в
классе MTTester статический метод Run
static bool Run( const string ExpertName = NULL,
const string Symb = NULL,
const ENUM_TIMEFRAMES period = PERIOD_CURRENT,
const datetime iBeginTime = 0,
const datetime iEndTime = 0 )
добавить один параметр строку ( или массив строк ) которые задают *.set настройки советника?
Благодарю.
А Settings лучше передавать одной строкой где rows разделены символом \n
или массивом строк как в примере?
GetSettings - это CTRL+C в Тестере.
SetSettings - это CTRL+V в Тестере.
Посмотрите, с какими данными CTRL+C/V работает.
И можно ли модифицировать в
классе MTTester статический метод Run
Не использую этот метод. Остался, как история.
В примере показаны все MTTESTER-методы, что нужны.
А можно ли указать какой *.set файл с настройками параметров передать программно для теста?
Validate работает с полноценными ini-файлами Тестера и урезанным вариантом - set-файлами для Тестера.
Если нужно прогнать много ini/set-файлов - Validate делает это из коробки сразу. Пользуюсь.
Validate работает с полноценными ini-файлами Тестера и урезанным вариантом - set-файлами для Тестера.
Если нужно прогнать много ini/set-файлов - Validate делает это из коробки сразу. Пользуюсь.
Благодарю.
я нашел решение из этого комментария где загружается файл set в нужном формате в виде строкового массива
https://www.mql5.com/ru/forum/318305/page34#comment_51842356
также я заменил
typedef bool (*INITDEINIT)( void );
указатель callback вызовов при инициализации и деинициализации каждого прогона
на интерфейс
interface InitDeInit {
bool RunInit();
bool RunDeInit();
};
который реализовал в наследнике
класса похожего на структуру struct SETTINGS
и таким образом в методе RunInit()
я загружаю set файл нужного инструмента.
typedef bool (*INITDEINIT)( void ); - такой pointer не позволяет узнать на каком инструменте происходит инициализация/деинициализация, поэтому лучше использовать указатель на интерфейс так как указатели на методы пока не поддерживаются языком MQL.
При таком подходе не нужно модифицировать MTTester::Run метод.