Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1104

 
Serfil2017:
Здравствуйте! Буду благодарен, если подскажете:
Функция iMA возвращает 4 знака после запятой, хотя котировки 5-значные. Есть ли способы получения 5 знаков от технических индикаторов?
Она возвращает больше. Смотрите чем выводите эти значения.
 

Здравствуйте!

Подскажите пожалуйста, 

как сделать, чтобы в ф-ции OnTick()  принт исполнялся (при наступлении череды условий) только один раз, и не исполнялся на следующих тиках?

 
odyn:

Здравствуйте!

Подскажите пожалуйста, 

как сделать, чтобы в ф-ции OnTick()  принт исполнялся (при наступлении череды условий) только один раз, и не исполнялся на следующих тиках?

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

void OnePrint(string txt)
{
   static bool onerun = false;
   if(onerun) return;
   Print(txt);
   onerun = true;
}
 
Igor Makanu:

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

Большое спасибо за ответ.

Извините, а если усложнить и разрешить только один Print за текущий бар текущего таймфрейма? А после создания нового бара опять открыть возможность принтить?

 
odyn:

Большое спасибо за ответ.

Извините, а если усложнить и разрешить только один Print за текущий бар текущего таймфрейма? А после создания нового бара опять открыть возможность принтить?

поиском по форуму "новый бар" или "new bar" найдете как контролировать новый бар и если появился новый бар то будете выводить свой принт - эти примеры про новый бар на каждом шагу здесь

 
Igor Makanu:

поиском по форуму "новый бар" или "new bar" найдете как контролировать новый бар и если появился новый бар то будете выводить свой принт - эти примеры про новый бар на каждом шагу здесь

спасибо!

 

Приветствую.

Делаю индикатор, в каком-то месте вызывает зависание. Напечатать последнее, чтоб понять где виснет, не успевает. 

Подскажите, пожалста, можно ли как-то прописать паузу, или сделать приоритетным печать в журнал, или другое решение.

 
Andrey Sokolov:

Приветствую.

Делаю индикатор, в каком-то месте вызывает зависание. Напечатать последнее, чтоб понять где виснет, не успевает. 

Подскажите, пожалста, можно ли как-то прописать паузу, или сделать приоритетным печать в журнал, или другое решение.

никак, только научиться пользоваться отладчиком - раньше хуже было, просто отладчика не было, сейчас все есть

ставьте точку останова и потом отслеживайте свои циклы, обычно если индикатор виснет, то в бесконечный цикл где то попали

 
Igor Makanu:

никак, только научиться пользоваться отладчиком - раньше хуже было, просто отладчика не было, сейчас все есть

ставьте точку останова и потом отслеживайте свои циклы, обычно если индикатор виснет, то в бесконечный цикл где то попали

А разве DebugBreak() в mql4 отсутствует?

 
Alexey Viktorov:

А разве DebugBreak() в mql4 отсутствует?

МЕ одинаковы сейчас

какая разница в МЕ поставить точку останова или использовать DebugBreak() ? - результат, по моему тот же