Вывод счетчика в цикле OnTick

 

Доброго времени суток!

Извините, если задаю праздный вопрос.

Возникла необходимость проверки объемов на м1, выяснилось, что значения буфера из CopyBuffer не совпадают с котировками. Потом и вовсе обнаружил, что цикл for перебора не выводит по порядку счетчик. Сейчас стоит while, но это сути не меняет, пробовал ставить цикл после формирования например м5 свечи, а не при каждом тике; ставил задержку (Sleep), мало ли.

То есть в первом проходе не выводит 8, во втором 6, потом 4.


Не подскажите  в чем суть (реальный si-6.17, Открытие)?

Код

Результат кода:

Вывод Print

 
В log-файле посмотрите записи журнала.
 
fxsaber:
В log-файле посмотрите записи журнала.

fxsaber, вроде здесь ничего такого нет, разве что баланс "по нулям".


LM 0 10:13:14.676 Terminal Открытие Брокер x64 build 1596 started (АО ''Открытие Брокер'')
DI 0 10:13:14.679 Terminal Windows 7 Ultimate (x64 based PC), IE 11.00, UAC, Intel Celeron  B800 @ 1.50GHz, RAM: 2917 / 6058 Mb, HDD: 3347 / 114470 Mb, GMT+03:00
CQ 0 10:13:14.679 Terminal C:\Users\Tolik\AppData\Roaming\MetaQuotes\Terminal\1B9501BF48F2354A4685940A72752910
LK 0 10:13:16.445 Network '29999': authorized on Open-Broker through Access Server III (ping: 83.17 ms)
IE 0 10:13:16.445 Network '29999': previous successful authorization performed from 178.186.11.200 on 2017.05.15 09:23:50
LF 0 10:13:16.624 Network '29999': terminal synchronized with АО ''Открытие Брокер''
GP 0 10:13:16.624 Network '29999': trading has been enabled - netting mode
JJ 0 10:13:17.547 MQL5.community activated for 'tehniq', balance: 0.00
IP 0 10:13:42.182 Terminal exit initiated
II 0 10:13:42.397 Network '29999': disconnected from Open-Broker
LP 0 10:13:43.274 Terminal stopped

 
tehniq:

fxsaber, вроде здесь ничего такого нет, разве что баланс "по нулям".

MQL5\Logs\20170515.log
 
fxsaber:
MQL5\Logs\20170515.log

HJ 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 0
GD 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 1
JN 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 2
IH 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 3
DR 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 4
CL 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 5
FF 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 6
EP 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 7
PJ 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 8
OD 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 9
GM 0 11:21:00.476 Эксперт кАнал (Si-6.17,M1) 10
JG 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 0
IQ 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 1
HK 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 2
GE 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 3
FO 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 4
EI 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 5
DS 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 6
CM 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 7
RG 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 8
QQ 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 9

IH 0 11:21:00.696 Эксперт кАнал (Si-6.17,M1) 10


Все путем работает! Также в журнале тестера без визуального тестирования все нормально.

Получается на журнал визуализации лучше не смотреть?

 
tehniq:

Получается на журнал визуализации лучше не смотреть?

Учитывать, что может не все выводить.
 
fxsaber:
Учитывать, что может не все выводить.
fxsaber, спасибо что быстро ответили и помогли!
 
Укажите 11 цифр или чего у вас там (переменных) или 0 выкиньте из выборки. Пусть первый лог (или что там у вас) будет первым а не нулевым. Всё правильно код исполняет вы задали количество х<=10, а от 0 до 10 получается 11 значений, вот одно и выпадает каждый раз.
 
Господа, извините что не в ту ветку.Помогите пожалуйста.Я новичок,практически написал робот.Но есть такая проблема,что ордера открываются и закрываются за минуту много раз, получается по каждому тику.А мне нужно,чтобы например на часовом графике при появлении сигнала,происходило это раз в час.
Написал алгоритм в int start.При переделке на ontimer и вкручивании в void init EventSetTimer не получается.
Может с return проблемы,когда писал алгоритм
 
geratdc:
Укажите 11 цифр или чего у вас там (переменных) или 0 выкиньте из выборки. Пусть первый лог (или что там у вас) будет первым а не нулевым. Всё правильно код исполняет вы задали количество х<=10, а от 0 до 10 получается 11 значений, вот одно и выпадает каждый раз.
Спасибо! Не, там дело было в самом выводе. В визуальном тестировании выводились не все строки цикла - дескать такова особенность. В журнале самого тестера стратегий выводятся все строки как и в лог-файл.
Причина обращения: