Сервисдеск. Жалобы, предложения. - страница 9

 
Vladimir Pastushak:

Заявка 

Ошибка в сторадже

Открыта, Начата: 2015.09.29 17:09, #1311805

 

 

Висит без ответа ... 

У меня с января висит. Renat сразу подсказал, что делать, я написал в СД и все.. Вот ссылка на пост о проблеме https://www.mql5.com/ru/forum/40226

sd 

 
Slawa:

В четвёрке как было, так и осталось.

Подкачать историю без прокрутки графика программно невозможно, только эмуляцией нажатия клавиши PgUp - об этом много писали на четвёрочном форуме.

Также можно подкачать исторические данные, запустив несколько раз тестер в режиме "Все тики". Тестируемый таймфрейм и таймфреймы ниже вплоть до M1 подкачаются по максимуму - будет сделано несколько попыток выкачать все данные, имеющиеся на сервере, без оглядки на настройку максимального количества баров на графике.

Оказывается можно. С использованием функции ChartNavigate(). Спасибо Karputov Vladimir!
 
Alexey Kozitsyn:
Оказывается можно. С использованием функции ChartNavigate(). Спасибо Karputov Vladimir!

Побочный эффект. Используйте его только в случае крайней необходимости

В четвёрке при использовании экспертов на историю расходуется гораздо больше памяти, чем в пятёрке при прочих равных условиях

 
Slawa:

Побочный эффект. Используйте его только в случае крайней необходимости

В четвёрке при использовании экспертов на историю расходуется гораздо больше памяти, чем в пятёрке при прочих равных условиях

Изначально, нужна была функция, которая прогрузит историю и завершит свою работу. Эта функция вполне подходит. Все удобнее, чем пользователю историю вручную прокручивать или через winapi нажимать на PgUp.

Да, и на данном этапе, история нужна для индикатора. С индикатором тоже расходуется больше памяти? 

И, если не секрет, "гораздо больше" это во сколько раз? В разы или на порядок (-ки)? 

 
Slawa:

Побочный эффект. Используйте его только в случае крайней необходимости

В четвёрке при использовании экспертов на историю расходуется гораздо больше памяти, чем в пятёрке при прочих равных условиях

Вячеслав, уточните, пожалуйста, по поводу события TradeTransaction из ветки Ошибки, баги, вопросы.
 
Alexey Kozitsyn:
Вячеслав, уточните, пожалуйста, по поводу события TradeTransaction из ветки Ошибки, баги, вопросы.

Почему Вы упорно называете меня Вячеславом? Где написано, что я - Вячеслав? Никогда им не был.

Вы сами какие шаги предприняли для исследования проблемы? Поделитесь

 
Slawa:
Почему Вы упорно называете меня Вячеславом? Где написано, что я - Вячеслав? Никогда им не был.
Извиняюсь, думал Slawa - это имя, stringo - ник. Как Вас называть?
 
Alexey Kozitsyn:
Извиняюсь, думал Slawa - это имя, stringo - ник. Как Вас называть?

"Зовите меня просто - наш Ильич" (ц)

Написано же - Slawa, можно русскими буквами Слава.

Повторю вопрос, который дописал позже.

Какие шаги Вы предприняли самостоятельно для исследования озвученной проблемы?

 
Slawa:

Почему Вы упорно называете меня Вячеславом? Где написано, что я - Вячеслав? Никогда им не был.

Вы сами какие шаги предприняли для исследования проблемы? Поделитесь

Значит это все-таки проблема. Делюсь. Тестер! Моделирование - все тики. МТ5 1210 х64. Выставляется лимитный ордер на продажу. Выставляется экспертом, минимально возможным лотом для символа. Вот лог:

ER      0       16:16:32.370    Trade   2015.10.01 13:20:00   sell limit 1.00 RTS-12.15 at 79210 (79200 / 79300 / 79200)
EF      0       16:16:32.370    Trade   2015.10.01 13:20:00   order [#8 sell limit 1.00 RTS-12.15 at 79210] triggered
NG      0       16:16:32.370    Trades  2015.10.01 13:20:00   deal #8 sell 1.00 RTS-12.15 at 79210 done (based on order #8)
NK      0       16:16:32.370    Trade   2015.10.01 13:20:00   deal performed [#8 sell 1.00 RTS-12.15 at 79210]
EL      0       16:16:32.370    Trade   2015.10.01 13:20:00   order performed sell 1.00 at 79210 [#8 sell limit 1.00 RTS-12.15 at 79210]

Эксперт не скальпер, транзакции не частые. В данном случае ордер один. В эксперте анализируется событие TradeTransaction посредством функции OnTradeTransaction. По логике, после получения транзакции TRADE_TRANSACTION_DEAL_ADD (ордер исполнился, сформировав позицию) выставляется пара стоповых ордеров. Соответственно для продажи это BuyLimit и BuyStop. 

Ордер исполнился, в логе следующее:

FD      0       16:21:35.307    Trade   2015.10.01 13:20:00   sell limit 1.00 RTS-12.15 at 79210 (79200 / 79300 / 79200)
KP      0       16:21:35.307    Trade   2015.10.01 13:20:00   order [#15 sell limit 1.00 RTS-12.15 at 79210] triggered
OM      0       16:21:35.307    Trades  2015.10.01 13:20:00   deal #10 sell 1.00 RTS-12.15 at 79210 done (based on order #15)
IP      0       16:21:35.307    Trade   2015.10.01 13:20:00   deal performed [#10 sell 1.00 RTS-12.15 at 79210]
LE      0       16:21:35.307    Trade   2015.10.01 13:20:00   order performed sell 1.00 at 79210 [#15 sell limit 1.00 RTS-12.15 at 79210]
KH      0       16:21:39.926    Expert_0311 (RTS-12.15,M5)      2015.10.01 13:20:00   OnTradeTransaction: TRADE_TRANSACTION_DEAL_ADD
KH      0       16:21:39.926    Trade   2015.10.01 13:20:00   buy limit 1.00 RTS-12.15 at 79010 (79200 / 79300 / 79200)
JJ      0       16:21:39.926    Trade   2015.10.01 13:20:00   buy stop 1.00 RTS-12.15 at 79410 (79200 / 79300 / 79200)
CP      0       16:21:39.926    Expert_0311 (RTS-12.15,M5)      2015.10.01 13:20:00   OnTradeTransaction: TRADE_TRANSACTION_DEAL_ADD
CO      0       16:21:39.926    Trade   2015.10.01 13:20:00   buy limit 1.00 RTS-12.15 at 79010 (79200 / 79300 / 79200)
QS      0       16:21:39.927    Trade   2015.10.01 13:20:00   buy stop 1.00 RTS-12.15 at 79410 (79200 / 79300 / 79200)

Как видите, для одной сделки поступает две транзакции TRADE_TRANSACTION_DEAL_ADD. Из-за этого открывается две пары ордеров. Но почему одна сделка инициирует две транзакции с типом TRADE_TRANSACTION_DEAL_ADD?

 
Slawa:

"Зовите меня просто - наш Ильич" (ц)

Написано же - Slawa, можно русскими буквами Слава.

Повторю вопрос, который дописал позже.

Какие шаги Вы предприняли самостоятельно для исследования озвученной проблемы?

Слава, дак Слава - не вопрос. Долго, т.к. воспроизводил.