По делу, даже реальные тики не воспроизведут в тестере стратегий то что было в реале.
В реале, при большом количестве тиков за короткое время в процессе работы эксперта, некоторые тики могут пропускаться, если тик пришёл а эксперт не завершил проход. Это поведение Вы не перенесете на тестер...
ну так fxsaber об этом и писал. В реале может прийти несколько тиков пока советник отрабатывает предыдущий. Бороться с этим так:
У меня так: Дисплей 1920 * 1080 (рекомендуется), масштаб и разметка 100% (мелкий)
У Вас тоже из трех имеющихся размеров в свойствах "Terminal" - 9, 10, 12 - отображение одинаковое. Я просто обратил внимание разработчиков, что есть недоработка, меняю размер шрифта, а ничего не меняется.
struct t {
string s1;
string s2;
};
const t s[] = {
{ "", "1" },
{ "", "2" }
};
voidOnStart() {
string b = "";
for (int i = ArraySize(s) - 1; i >= 0; --i) {
Print(i);
if (s[i].s2 != b) {
Print(i);
continue;
}
break;
}
}
В билде 2741 нормальное поведение (в релизе и дебаге):
2021.01.1219:44:42.530 t (EURUSD,M1) 12021.01.1219:44:42.530 t (EURUSD,M1) 12021.01.1219:44:42.530 t (EURUSD,M1) 02021.01.1219:44:42.530 t (EURUSD,M1) 0
В билдах 2743, 2744 (только в дебаге):
2021.01.12 19:46:25.355 t (EURUSD,H1) 1
2021.01.12 19:46:25.357 t (EURUSD,H1) 24
2021.01.12 19:46:25.357 t (EURUSD,H1) 23
2021.01.12 19:46:25.357 Message Critical error while running script 't (EURUSD,H1)'.
2021.01.12 19:46:25.357 Message Array out of range.
Билд 2715, сервер XPMT5-PRD
За 5 минут до закрытия торговой сессии советник шлет 4 приказа на закрытие 4 позиций, везде получает Result.retcode = 10009 (Request completed).
В списке ордеров появляется 4 соответствующих ордера:
После этого все запросы советника получают Result.retcode = 10039 (A close order already exists for a specified position).
Так продолжается и на пре-маркете на следующий день (08:55).
В 09:04 пользователь вручную удаляет селл-ордера, и советник тут же успешно закрывает позиции.
Спецификации у брокера настроены криво, ему уже написали:
Логи MT4ORDERS успешной отправки первого приказа на закрытие:
Лог MT4ORDERS последней неуспешной попытки закрытия перед удалением ордера вручную:
Также интересны цены, которые были перед закрытием ранка (они и спровоцировали закрытие позиций):
bid = 125410 ask = 121400 last = 123405
Понимаю, что стакан может становиться пустым, но чтобы бид взелетел настолько выше аск-а?
Вероятно потому, что у этого шрифта нет размера 10:
Когда лэйбу помещаешь на график, то в ее свойствах есть. Наверное, тогда список нужно поправить.
Вероятно потому, что у этого шрифта нет размера 10:
Хотя на Вашей картинке из свойств ME есть размеры 9 и 12, но переключение метки на графике между 9 и 12 ничего не меняет.
Разрешение дисплея в пикселях? Настройки отображения масштаба в операционной системе?
Разрешение дисплея в пикселях? Настройки отображения масштаба в операционной системе?
По делу, даже реальные тики не воспроизведут в тестере стратегий то что было в реале.
В реале, при большом количестве тиков за короткое время в процессе работы эксперта, некоторые тики могут пропускаться, если тик пришёл а эксперт не завершил проход. Это поведение Вы не перенесете на тестер...ну так fxsaber об этом и писал. В реале может прийти несколько тиков пока советник отрабатывает предыдущий.
Бороться с этим так:
В функции Calc() происходят все расчеты.
1440*900, масштаб мелкий - 100%.
У меня так: Дисплей 1920 * 1080 (рекомендуется), масштаб и разметка 100% (мелкий)
У меня так: Дисплей 1920 * 1080 (рекомендуется), масштаб и разметка 100% (мелкий)
Крутой баг в дебаггере. И это не тавтология.
Код:
В билде 2741 нормальное поведение (в релизе и дебаге):
В билдах 2743, 2744 (только в дебаге):