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

 
Alexey Viktorov:

Вам шашечки или ехать?

Мне нужно, чтобы ехать можно было сразу - без разборок неочевидных нюансов.

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

 
Stanislav Korotky:

Мне нужно, чтобы ехать можно было сразу - без разборок неочевидных нюансов.

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

Если поправят, то ваш код вообще работать не будет из-за флага 0 при bool writing = false;


FILE_READ|FILE_BIN|FILE_SHARE_READ|(writing?(FILE_WRITE|FILE_SHARE_WRITE):0)
 
Alexey Viktorov:

Если поправят, то ваш код вообще работать не будет из-за флага 0 при bool writing = false;

почему? )

 
Sergey Dzyublik:

Терминал при работе с файлами использует WinAPI функции, которые в рамках своей архитектуры полностью считывают весь файл с диска.
Если нужна работа с частью файла - то используйте WinAPI по маппингу файла в память.

Нужно, чтобы Терминал не подвисал во время работы.

 
Alexey Viktorov:

Если поправят, то ваш код вообще работать не будет из-за флага 0 при bool writing = false;

Это вы батенька жжете. ;-)

 
fxsaber:

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

На некоторых символах стоит таймаут, на некоторых - нет. Как узнать максимальный возраст тика, который еще может восприниматься OrderSend (нет [No price])?

 
fxsaber:

На некоторых символах стоит таймаут, на некоторых - нет. Как узнать максимальный возраст тика, который еще может восприниматься OrderSend (нет [No price])?

Хрен его знает. 

 
Stanislav Korotky:
 Вот флаг FILE_SHARE_WRITE в таком сочетании, похоже, работает, но возникает другой вопрос: какой смысл именно в такой записи? По логике, если включать разделение при записи, то нужно его добавлять именно к флагу записи:

Именно это я и пробовал, и оно тоже дает ошибку.

Включил MetaTrader, нашёл свой давний пример, добавил FILE_SHARE_WRITE (хотя он там и не нужен) - результат не поменялся... возможно у меня по другой причине не работало
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Торговая платформа MetaTrader 5 стала доступна клиентам AMP Futures для торговли фьючерсами

fxsaber, 2018.07.23 22:34

Пример, когда невозможно сделать Маркет-ордер даже в том случае, когда Bid/Ask кратны TickSize

Здесь Last-цена не кратна TickSize. Она никакого отношения к маркет-ордерам не имеет, но OrderCheck все так же бажит - не дает провести маркет-ордер.

 
fxsaber:

На некоторых символах стоит таймаут, на некоторых - нет. Как узнать максимальный возраст тика, который еще может восприниматься OrderSend (нет [No price])?

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