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

Алексей Тарабанов #:

Тормозите начало обработки нового тика до завершения обработки предыдущего. Железо у Вас не справляется. 

Так хорошо, а как?

Mihail Matkovskij #:

А проверка наличия синхронизации даёт нули

как подобное вообще возможно? 

проверили синхронизацию. true, значит входим. false - ничего не делаем. и в чём может быть проблема?

При использовании проверки синхронизации она действует только на первую строку с первым символом, и в итоге остальные 6 не идут даже

Yury Lemeshev #:

Так хорошо, а как?

Просто не принимайте на вход новый тик, пока не обработан предыдущий. Будут пропуски, но не будет ошибок. 

Yury Lemeshev #:

Так хорошо, а как?

Никак. Кого вы слушаете?


Yury Lemeshev #:

При использовании проверки синхронизации она действует только на первую строку с первым символом, и в итоге остальные 6 не идут даже

ну так вы обрабатываете первый символ? :

if(SymbolIsSynchronized(euSY01)==true && SymbolInfoDouble(euSY01,SYMBOL_BID,euSY01b)==true && SymbolInfoDouble(euSY01,SYMBOL_ASK,euSY01a)==true && euSY01b>0 && euSY01a>0)

а как остальные?

Vitaly Muzichenko #:

Никак. Кого вы слушаете?


Спасибо. А Вы в курсе, как он тики обрабатывает? 

Алексей Тарабанов #:

Спасибо. А Вы в курсе, как он тики обрабатывает? 

Программа сама обрабатывает, сверху вниз.

для полного понимания происходящего явно не хватает кода в OnTick.
Yury Lemeshev #:

какое значение должно быть в SymbolInfoDouble(euSY07,SYMBOL_BID,euSY07b) если значение по каким то причинам не пришло?

Когда-то очень давно была проблема при первом запуске

Эта строка решала проблему

 double TickValue=SymbolInfoDouble(mSymbol,SYMBOL_TRADE_TICK_VALUE);
 if(TickValue==0) { Print("TickValue: ", mSymbol," = ",TickValue); return;}
Сейчас по журналу проблем не вижу, но проверку не убираю
Vitaly Muzichenko #:

Программа сама обрабатывает, сверху вниз.

Какая программа? У него строка кода - тик.