#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ru/code/26132 void OnStart() { Alert(MTTESTER::IsReady() ? "Не считаю." : "Считаю..."); }
Спасибо! Т.е.
1. MetaTester получив задание пытается начать расчет OnStart
2. Говорит "Считаю...", то останавливаем параллельный расчет.
или
1. Проверяем есть ли задание у MetaTester через OnStart
2. Если есть "Считаю...", то останавливаем параллельный расчет.
?
С OnStart пример работы функции. Применяйте ее, как вздумается.
Без установки MetaTrader 5 никак не сделать?
Без установки MetaTrader 5 никак не сделать?
Звучит, как издевка.
Или у вас тестер запускает какое-то другое приложение?
Звучит, как издевка.
Или у вас тестер запускает какое-то другое приложение?
Ни в коем разе. Тестер работает на нескольких компьютерах в свободное процесорное время, но вот не работает если запущен майнинг на процессоре. Понимаете? Как понять, что тестеру пришло задание и майнинг на проце нужно остановить? Приоритет заданий не помогает.
Ни в коем разе. Тестер работает на нескольких компьютерах в свободное процесорное время, но вот не работает если запущен майнинг на процессоре. Понимаете? Как понять, что тестеру пришло задание и майнинг на проце нужно остановить? Приоритет заданий не помогает.
Решение такой задачи внутри MT/MQL - это замкнутый круг: агент, скорее всего, не получит задание, пока процессор достаточно не разгрузится. Гипотетически можно было бы попробовал в OnTesterInit дергать через веб-реквест или сокеты некоторые порты на машинах, где идет майнинг и установлены MT-агенты. В ответ на этот "пинг" некая программа останавливала бы майнинг, и тогда агенты становились бы приемлемыми для новых пакетов заданий. Но я предполагаю, что MQL-евские веб-реквесты и сокеты нельзя использовать в OnTesterInit.
Ни в коем разе. Тестер работает на нескольких компьютерах в свободное процесорное время, но вот не работает если запущен майнинг на процессоре. Понимаете? Как понять, что тестеру пришло задание и майнинг на проце нужно остановить? Приоритет заданий не помогает.
Попробуйте сделать советника с таймером (или зацикленный скрипт), где будет постоянная проверка состояния тестера и отправка команды на остановку майнинга:
#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/ru/code/26132 void OnStart() { static bool TesterWorking = false; while ( !IsStopped() ) { if ( MTTESTER::IsReady() ) TesterWorking = false; else if ( !TesterWorking ) { TesterWorking = true; StopMining(); // Написать самому } } }
Если Станислав вдруг ошибся (я не проверял).
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
Как реализовать разгрузку процессора по событию от тестера стратегий?
Поясню. Идет расчет в сторонней программе и тестер стратегий не начинает расчет пока процессор не освободится.
Необходимо получить событие от MetaTester о начале расчета, чтобы поставить расчет в другой программе на паузу для освобождения процессора для MetaTester.
И обратно, получить событие, что расчет закончен, чтобы снять с паузы расчет в сторонней программе.