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

 

не очень понятен механизм тестера : вроде программирую на с++ без каких-либо проблем,но глюки с "песочницей" в mql5 просто надоели.при разрешённом вызове dll в терминале тестер их не загружает!

2013.05.01 15:38:09 2013.01.01 00:00:00   Cannot load 'D:\MetaTrader 5\Tester\Agent-127.0.0.1-3001\MQL5\Libraries\NeuroSolutionsAdapter.dll'

почему?

терминал на D:\

подсовывал в  \MQL5\Libraries\ тестера,и в \MQL5\Libraries\ терминала. 

в чём дело?

 
dem1305:

не очень понятен механизм тестера : вроде программирую на с++ без каких-либо проблем,но глюки с "песочницей" в mql5 просто надоели.при разрешённом вызове dll в терминале тестер их не загружает!

2013.05.01 15:38:09 2013.01.01 00:00:00   Cannot load 'D:\MetaTrader 5\Tester\Agent-127.0.0.1-3001\MQL5\Libraries\NeuroSolutionsAdapter.dll'

почему?

терминал на D:\

подсовывал в  \MQL5\Libraries\ тестера,и в \MQL5\Libraries\ терминала. 

в чём дело?

Дело в том, что агент работает в своей песочнице и штатный каталог библиотек \MQL5\Libraries ему недоступен.

По представленной строке явно это видно - поиск DLL идет внутри собственного каталога агента. Чтобы в тестере вести работу с DLL, надо эти DLL расположить в публично доступных системных каталогах или добавить "путь терминала\MQL5\Libraries" в переменную окружения %PATH%.

Мы подумаем над более легкой работой локальных агентов с доступом к родительскому каталогу библиотек. В этом случае не нужно будет ничего менять, кроме того, что для доступа к DLL не нужно будет использовать указание путей.

 
sergeev:

а вам разве непонятно, что если хотите хронологию - то вам нужно время?

при чем тут тикет, время которого может меняться.

Да, все верно.

Сортировать надо по двум ключам: время и (если время совпадает) тикет.

 
dem1305:

не очень понятен механизм тестера : вроде программирую на с++ без каких-либо проблем,но глюки с "песочницей" в mql5 просто надоели.при разрешённом вызове dll в терминале тестер их не загружает!

2013.05.01 15:38:09 2013.01.01 00:00:00   Cannot load 'D:\MetaTrader 5\Tester\Agent-127.0.0.1-3001\MQL5\Libraries\NeuroSolutionsAdapter.dll'

почему?

терминал на D:\

подсовывал в  \MQL5\Libraries\ тестера,и в \MQL5\Libraries\ терминала. 

в чём дело?

понял проблему-   2013.05.01 16:12:53 WeekPattern 'D:\MetaTrader 5\MQL5\Libraries\NeuroSolutionsAdapter.dll' is not 64-bit version

требуется перекомпиляция 64 bit 


 
Renat:

Да, все верно.

Сортировать надо по двум ключам: время и (если время совпадает) тикет.

Является ли номер тикета сделки/ордера сквозным автоинкрементом для всего сервера?

 
voix_kas:

Является ли номер тикета сделки/ордера сквозным автоинкрементом для всего сервера?

Является, но принципиально не гарантируется их тождественность времени.
 
Renat:
Является, но принципиально не гарантируется их тождественность времени.

Вероятно, многие найдут данный разговор лишённым практического смысла, однако, прошу мне помочь в понимании. Призываю не к сухим ответам, а к дискуссии. Моя мысль следующая.

Хронологический порядок сделок можно определить тремя способами: временной штамп, номер тикета или их сочетание. Почему мне кажется связка с номером тикета более выгодной?

Если в работу трейдера брокер никак не вмешивается, спорных/сомнительных сделок нет. Хронология однозначно прослеживается как по номеру тикета, так и по штампу времени. Если появилась сомнительная сделка. Она либо удаляется брокером из истории сервера/счёта, либо её финансовый результат обнуляется (+ возможно, добавят комментарий). Второй вариант более правилен, на мой взгляд.


Практической необходимости у брокера править время сделки в истории я не могу придумать. Но даже если это допустить (повторюсь, практической причины я не нахожу, вероятно, по причине ограниченных знаний), то правка добросовестным брокером номера тикета кажется вообще из разряда - абсурда. Зачем? Кроме того, сами MQ подтвердили, что в случае равенства временных штампов у сделок, "арбитром" выступают их номера тикетов. Не это ли также является плюсом в пользу номера тикета?

Наверное, будет лишним, но явно укажу. Мне понятно, что на то и дан временной штамп, чтобы по нему строить порядок сделок. Это нативно. Но, выходит, что для алго-трейлинга проще сразу ориентироваться по номеру тикета. Проще с точки зрения понимая, проще с точки зрения кода, быстрее сортировка по одному ключу и т.д. и т.п.

 
voix_kas:

Практической необходимости у брокера править время сделки в истории я не могу придумать. 

при работе шлюзов например. или при коррекции балансов/кредитов/снятий/пополнений.

быстрее сортировка по одному ключу

время - такое же целое long число, как и тикет. какая вам разница по чем сортировать? юзайте QuickSort и не занимайтесь сферическими сделками в вакууме :)

 

sergeev

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

Итак, по пунктам:

1. как и почему меняется время у сделки (не ордера)?

2. Как и почему добросовестный брокер может изменить номер тикета сделки.

3. Сортировка по двум критериям ниже, чем по одному. Пожалуйста, не пытайтесь оспорить очевидное.

 

voix_kas:

1. как и почему меняется время у сделки (не ордера)?

потому что есть человеческий фактор.

2. Как и почему добросовестный брокер может изменить номер тикета сделки.

заблудились :)  тикет изменить нельзя.

3. Сортировка по двум критериям ниже, чем по одному. Пожалуйста, не пытайтесь оспорить очевидное.

"ниже"?

нихт ферштейн.

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