Как имитировать поступление тика в тестере для эксперта?
Поставить на паузу и нажимать F12
int init(){ int Error; if( МинНаклонТренда<Zero ) МинНаклонТренда=0; if( МинНаклонТренда-МаксНаклонТренда>Zero ) МаксНаклонТренда=МинНаклонТренда; if( БарОкончания<1 ) БарОкончания=1; if( МинБазовыйПериод<1 ) МинБазовыйПериод=1; if( МаксБазовыйПериод<МинБазовыйПериод ) МаксБазовыйПериод=МинБазовыйПериод; if( БарНачала<МинБазовыйПериод+БарОкончания ) БарНачала=МинБазовыйПериод+БарОкончания; if( БарНачала>Bars-1 ){ if( Bars>МинБазовыйПериод+БарОкончания ) БарНачала=Bars-1; else Alert("Неразрешимая ошибка: история("+Bars+")<=активация("+МинБазовыйПериод +")+окончание("+БарОкончания+")"); } if( ТолщинаТрендовой<1 ) ТолщинаТрендовой=1; if( ТолщинаТрендовой>5 ) ТолщинаТрендовой=5; if( РазмерИндикатораТиков<1 ) РазмерИндикатораТиков=1; if( РазмерИндикатораТиков>5 ) РазмерИндикатораТиков=5; if( СдвигИндикатораТиков<3 ) СдвигИндикатораТиков=3; if( СдвигИндикатораТиков>100 ) СдвигИндикатораТиков=100; if( ПоказыватьВсе ) Visibility=0; else Visibility=EMPTY; LastBar=БарОкончания; ЦветЛиний[0]=ЦветПоддержки; ЦветЛиний[1]=ЦветСопротивления; ЦветХорды[0]=ЦветВосходящейХорды; ЦветХорды[1]=ЦветНисходящейХорды; Цвет123[0] =Цвет123ВТ; Цвет123[1] =Цвет123НТ; NewTime =0; ReInit(); // Повторная инициализация ClearScreen(); // Очистить экран Error=fVLine("StartLine","Старт",0,БарНачала,0,0,0,0,0,ЦветВертикалей); Error=fVLine("DeadLine","Пуск",0,БарОкончания,0,0,0,0,0,ЦветВертикалей); DeadLine=TimeCurrent(); if( СтатическийРежим ){ РежимРаботы=" Статический режим Пауза "+ПериодИмитацииТиков+" мс"; МоделироватьДинамику=false; РежимОтладки=false; while( true ){ // Бесконечный цикл ReInit(); // Повторная инициализация start(); // Имитация тика Sleep(ПериодИмитацииТиков); // Не работает в индикаторах } } else { if( МоделироватьДинамику ){ РежимРаботы=" Режим имитации динамики Размерность "+DoubleToStr(0.5*БарНачала*БарНачала,0); Print("* "+Version+РежимРаботы+" История: "+(БарНачала)+" баров с "+TimeToStr(Time[БарНачала])); LastBar=БарНачала; while( LastBar>БарОкончания ){ // Перебор всех баров истории LastBar--; start(); // Имитация тика } МоделироватьДинамику=false; Print("Режим имитации динамики отключен!"); } } if( РежимОтладки ) РежимРаботы=" Отладка "; else РежимРаботы=" "; РежимРаботы=РежимРаботы+"Динамический режим"; Print("* "+Version+РежимРаботы+" История: "+(БарНачала)+" баров с "+TimeToStr(Time[БарНачала])); if( РежимОтладки ) start(); // Имитация тика return(0); } //----------------------------------------------------------------------------- // Повторная инициализация глобальных переменных и массивов void ReInit(){ StartTime[0] =Time[БарНачала]; StartTime[1] =Time[БарНачала]; Groups[0] =0; Groups[1] =0; OldMG[0] =0; OldMG[1] =0; MainGroup[0] =0; MainGroup[1] =0; QualityMax[0] =0; QualityMax[1] =0; OldStopLine =0; return; }
while(!IsStopped()) // До тех пор, пока пользователь..
{ // ..не прекратит исполнение программы
RefreshRates(); // Обновление данных
......................Здесь указывается основной код программы*/
Sleep(5); // Небольшая пауза
}
return; // Управление возвращается терминалу
}
Нужно запустить такой цикл .Добавил в код . Работает . Но на тестере ни как не запускается.
На профилировании на реальных тиках и торговле работает . On Tick() получает первый тик и все начал работать.
Как в тестере запустить эксперта с таким циклом?
while(!IsStopped()) // До тех пор, пока пользователь..
{ // ..не прекратит исполнение программы
RefreshRates(); // Обновление данных
......................Здесь указывается основной код программы*/
Sleep(5); // Небольшая пауза
}
return; // Управление возвращается терминалу
}
Нужно запустить такой цикл .Добавил в код . Работает . Но на тестере ни как не запускается.
На профилировании на реальных тиках и торговле работает . On Tick() получает первый тик и все начал работать.
Как в тестере запустить эксперта с таким циклом?
Нашел что нужно было здесь https://mql.opentraders.ru/31437.html
Вы задали два вопроса. На первый из них получили два варианта ответа. Реакции - никакой.
Стоит ли вообще обращать внимание на Ваш второй вопрос?
Как имитировать поступление тика в тестере для эксперта?
OnTimer() { OnTick(); }
Например так
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования