Ошибки, баги, вопросы - страница 2965

 
fxsaber:

Ждем этот.

Да, тоже интересно, если это не файлы конечно, если да, выше предложенный маппинг лучше

 
fxsaber:

Тики из индикатора отправляю через это: sparam содержит MqlTick, lparam - номер тика.

Советник в OnChartEvent ловит эти тики. И ему надо понять, сейчас пойманный тик - это самый актуальный или нет? Т.е. есть ли очередь из тиков или она пустая?

Для этого он читает номер (задача и состоит в чтении этого номера) самого последнего отправленного индикатором тика. Если пойманный тик имеет тот же номер - очередь пуста, и можно пачку тиков пускать в работу.


Ну и по ходу работы OnTick после всяких тормозных OrderSend нужно удостовериться, а не отправил ли индикатор еще тиков. Для этого снова нужно прочесть число от индикатора. И вот таких проверок за выполнение одного OnTick может быть за сотню. Поэтому и нужно быстро читать.

Делаю проверку только в случае, если прошло с предыдущей не менее миллисекунды. Такой подход оказался разумным и еще сильнее снизил нагрузку.

 

Подскажите.

Можно ли программно взять из стандартной панели терминала значение лота? Которая в верхнем левом углу терминала .

Можно ли как то программно  вызвать меню индикатора или советника. Например кнопкой.

 
fxsaber:

Делаю проверку только в случае, если прошло с предыдущей не менее миллисекунды. Такой подход оказался разумным и еще сильнее снизил нагрузку.

может не верно понял, можно id события к символу привязать и остальные параметры вообще не передавать

 
Fast235:

может не верно понял, можно id события к символу привязать и остальные параметры вообще не передавать

Скорее всего.

 
fxsaber:

Ждем этот.

Думайте - мозг должен работать. Отговорки - я не программист и т.д. - не принимаются. Сам - музыкант. Освоил C++ самостоятельно по книжке для начинающих в 2012ом.

Считаю, что непрограммистам даже проще, поскольку отсутствуют догмы и стереотипы. Например этот "маленький монстр" у меня вышел в 2 раза короче, а этот якобы "хороший, но непонятный код" - в 3 раза

А пока могу привести решение предыдущей Вашей задачи:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

A100, 2020.10.05 20:50

Так быстро? Еще не все специалисты подключились... неделю подождем

Подсказка: так тоже работает (но решение немного другое)

#define MACRO(  x, y, z )       enum nn##z { y = x };
#define MACRO2( x, y )          MACRO( x, y, __LINE__ )
 

Ошибка при выполнении:

void OnStart()
{
    Print( StringToTime( "ABCDEF" ));
}

Результат: 2021.02.19 01:00:00

Ожидалось: wrong datetime

 
A100:

Ошибка при выполнении:

Результат: 2021.02.19 01:00:00

Ожидалось: wrong datetime

Обсуждалось.

 
A100:

Думайте - мозг должен работать.

Возможен вариант через SHORTNAME индикатора.
 
A100:

этот "маленький монстр" у меня вышел в 2 раза короче

Сомневаюсь.

Причина обращения: