Фондовый рынок. Акции. Скорость исполнения торговых приказов. - страница 18

 
Andrey Miguzov #:

Собственно весь вопрос - вставить перед отправкой ордера строку:

и потом выложить на форум вкладку эксперты и вкладку журнал по этой сделке.

Дальше - я попытаюсь найти сделку в ленте сделок. Это, к сожалению, не всегда возможно. 

В идеале не единичным объемом. И с заливкой по разным ценам.

Вставил в свой код, будут сделки пришлю, но не думаю что это поможет Вам...

 
Andrey Miguzov #:

Согласен. Это так и это грустно :(

Получается ЕБС только для стратегий, для которых время исполнения 100-200 мс не критично. 

Хотя, если разобраться основательно - то таких стратегий нет. Прибыль всегда будет обратно пропорциональна времени исполнения.

Скажу Вам "по секрету", никакой ЕБС не нужен.

Обычный брокерский счет.

Один терминал на Фондовую секцию, другой на Срочную.

Для фонды дополнительных средств не нужно, а для Срочного рынка? 

Да можно просто перебросить с Фондового на Срочный, если стоять до упора.

В экспирацию (если дотянем) полученные отрицательные акции перейдут на фондовую секцию того же счета,

где сократятся с положительными (счет-то один)!

 
prostotrader #:

Вставил в свой код, будут сделки пришлю, но не думаю что это поможет Вам...

Спасибо, мне больше для понимания, какой максимум можно выжать. Ну и сравнить исполнение по логам с исполнением по тикам - интересно. То, что в моём случае получилось -  крайне неожиданно и я пока объяснения найти не могу.

prostotrader #:

Скажу Вам "по секрету", никакой ЕБС не нужен.

Обычный брокерский счет.

Один терминал на Фондовую секцию, другой на Срочную.

Для фонды дополнительных средств не нужно, а для Срочного рынка? 

Да можно просто перебросить с Фондового на Срочный, если стоять до упора.

В экспирацию (если дотянем) полученные отрицательные акции перейдут на фондовую секцию того же счета,

где сократятся с положительными (счет-то один)!

Всё так, буду думать. Попробую ещё другие стратегии на ЕБС. И наверное назад...

 
prostotrader #:

Вставил в свой код, будут сделки пришлю, но не думаю что это поможет Вам...

Не смогу Вам помочь.

После вставки этого принта, крэшится советник

2022.04.12 13:33:29.762 SpFutClient (VTBR-6.22,M1)      Access violation at 0x000007FEFCD689BD write to 0x0000000100000000
2022.04.12 13:33:29.762 SpFutClient (VTBR-6.22,M1)         crash -->  000007FEFCD689BD 48C70703010000    mov        qword [rdi], 0x103
2022.04.12 13:33:29.762 SpFutClient (VTBR-6.22,M1)                    000007FEFCD689C4 8B4710            mov        eax, [rdi+0x10]
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)                    000007FEFCD689C7 89442470          mov        [rsp+0x70], eax
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)                    000007FEFCD689CB 8B4714            mov        eax, [rdi+0x14]
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)                    000007FEFCD689CE 89442474          mov        [rsp+0x74], eax
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)                    000007FEFCD689D2 488B4718          mov        rax, [rdi+0x18]
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)                    000007FEFCD689D6 A801              test       al, 0x1
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)      
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)      00: 0x000007FEFCD689BD
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)      
 
prostotrader #:

Не смогу Вам помочь.

После вставки этого принта, крэшится советник

Ух, надеюсь не привело к убыткам. Странно...

Подразумевал, что предварительно нужно получить через CopyTick() данные тика в "last_tick" и указать имя инструмента в переменной "name".

Универсальный код дать не могу, т.к. у всех свои названия переменных.

Всё равно - спасибо за попытку.

 

Кстати, TimeToString - достаточно дорогая операция, чтобы ставить её перед отправкой скальперского ордера.

Лучше сохранить time и time_msc, а обрабатывать и принтовать уже где-то в OnTimer.

 
Andrey Miguzov #:

Ух, надеюсь не привело к убыткам. Странно...

Подразумевал, что предварительно нужно получить через CopyTick() данные тика в "last_tick" и указать имя инструмента в переменной "name".

Универсальный код дать не могу, т.к. у всех свои названия переменных.

Всё равно - спасибо за попытку.

Да нет, не волнуйтесь.

Просто объединить два МТ5 "на прямую" через Pipe очень не простая задача.

Pipe использует kernel32.dll, вероятно окружение терминалов тоже использует ее.

Когда все варится в одной песочнице, то никаких проблем нет, а вот при вызове функций из этой DLL,

происходят конфликты, поэтому все крэшится :( 

 
JRandomTrader #:

Кстати, TimeToString - достаточно дорогая операция, чтобы ставить её перед отправкой скальперского ордера.

Лучше сохранить time и time_msc, а обрабатывать и принтовать уже где-то в OnTimer.

Да, хорошая мысль. Я в итоговой боевой версии хотел вообще все отключить, даже комент. Но после обработки данных и отправки ордеров в принципе никто не мешает и визуализацию/логирование сделать.

 
Andrey Miguzov #:

Да, хорошая мысль. Я в итоговой боевой версии хотел вообще все отключить, даже комент. Но после обработки данных и отправки ордеров в принципе никто не мешает и визуализацию/логирование сделать.

Совершенно бесполезная мысль. Для каких целей есть необходимость переводить время в строку? Правильно, для посмотреть в логе или на графике… И надо учитывать в какой теме это высказывается. Всё что здесь говорят, говорят о mql5, а в mql5 вывод в комментарий или в лог, datetime будет переведён в читабельный вид внутри, без постороннего вмешательства.

 
Alexey Viktorov #:

Совершенно бесполезная мысль. Для каких целей есть необходимость переводить время в строку? Правильно, для посмотреть в логе или на графике… И надо учитывать в какой теме это высказывается. Всё что здесь говорят, говорят о mql5, а в mql5 вывод в комментарий или в лог, datetime будет переведён в читабельный вид внутри, без постороннего вмешательства.

Ну так и принту, который выполняет это преобразование неявно, нечего делать перед отправкой ордера.

Сохраняем два числа, отправляем ордер асинхронно, а вот после можно или тут же, или где-то по таймеру всё вывести.

Причина обращения: