К содержимому
Форекс
на автомате

Прогон на реальных тиках идёт шесть часов, это нормально?

stepan.pavlovс 05.2026
Испытатель
13сообщений
Автор темы#1
Мой первый советник: пересечение двух скользящих и фильтр по RSI, EURUSD M15. Пять лет на реальных тиках тестер считает шесть часов, ноутбук гудит всю ночь, жена уже спросила, не майню ли я что-то. Это нормально для такого простого советника или у меня что-то не так в коде? Индикаторы через iMA и iRSI, значения беру CopyBuffer.
egorov_mс 09.2024
Системный практик
14сообщений
#2
Для пересечения машек на M15 пять лет реальных тиков это минут 20-40 на обычном ноутбуке. Почти наверняка ты на каждом тике создаёшь хэндлы индикаторов или копируешь сотни баров. Хэндлы создаются один раз в OnInit, а сигнал достаточно считать раз в бар:
Код:
// hFast, hSlow, hRsi создаются один раз в OnInit datetime lastBar = 0; void OnTick() { datetime t = iTime(_Symbol, PERIOD_M15, 0); if(t == lastBar) return; // бар тот же, считать нечего lastBar = t; double fast[3], slow[3]; if(CopyBuffer(hFast, 0, 1, 3, fast) < 3 || CopyBuffer(hSlow, 0, 1, 3, slow) < 3) return; // дальше пересечение по закрытым барам 1 и 2 }
Если стоп и тейк ставятся сразу при входе, то между барами советнику вообще нечего делать, тестер сам отработает их на тиках.
stepan.pavlovс 05.2026
Испытатель
13сообщений
Автор темы#3
Угадали, хэндлы создавались прямо в OnTick. Переделал: 38 минут вместо шести часов. Но сделок стало 383 вместо 386, это почему?
Vesnaс 07.2026
Наблюдатель
1сообщение
#4
Скорее всего, раньше сигнал брался с нулевого бара и мог мигнуть до закрытия. Найди эти три сделки по времени и глянь в визуализации
Продолжить обсуждение

Для ответа войдите в свой аккаунт.

Войти
← Предыдущая темаСледующая тема →