Библиотеки: MT4Orders - страница 6

 
Maxim Dmitrievsky:
Да, так работает, спасибо.. ну и беребор ордеров тормозит, да... а больше пока багов не заметил.. Хорошая либа, на самом деле, есть смысл ускорить перебор ордеров, мне кажется
Перебор ИСТОРИЧЕСКИХ ордеров будет ускорен только для тестера/оптимизатора. Для реала - нельзя.

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

MetaEditor build 1463

Renat Fatkhullin, 2016.11.05 10:38

Измениться история сделок может в результате коррекции администраторами. Например, исправление спайков, отмены ошибочных сделок или финансовых операций.

В реальности лучше в 99% случаев использовать свой кеш, полностью обновляя его раз в сутки/сессию/клиринг и дописывая новое. Это если ваша работа построена на тяжелом и постоянном пересчете истории сделок.

Если на бирже тестите, то учитывайте

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

Библиотеки: MT4Orders

fxsaber, 2016.11.07 08:31

А вот с историей работать на бирже через MT4Orders не рекомендую. Т.е. MODE_TRADE - без проблем, MODE_HISTORY - не надо на БИРЖЕ.
История работает на Hedge без ошибок, за исключением closeby-моментов, которые для разруливания требуют много свободного времени, чтобы разобраться и сопоставить различные closeby-ситуации в обеих платформах.
 
fxsaber:
Перебор ИСТОРИЧЕСКИХ ордеров будет ускорен только для тестера/оптимизатора. Для реала - нельзя.
В реальности лучше в 99% случаев использовать свой кеш, полностью обновляя его раз в сутки/сессию/клиринг и дописывая новое. Это если ваша работа построена на тяжелом и постоянном пересчете истории сделок.

Учитывая сказанное Ренатом, по мне так, скорее можно (и нужно), чем нельзя. Можно обновлять кеш раз в час или по запросу.

 
Stanislav Korotky:

Учитывая сказанное Ренатом, по мне так, скорее можно (и нужно), чем нельзя. Можно обновлять кеш раз в час или по запросу.

На реале какой смысл кэширования? Вы в MT4 кэшировали историю? Ускорение нужно там, где важна производительность - тестер.
 
fxsaber:
// Что не реализовано:
//   CloseBy-моменты - пока было не до этого. Возможно, в будущем, когда понадобится.
//   Определение TP и SL закрытых позиций - на данный момент (build 1368) MQL5 этого делать не умеет.

Библиотеку писал для себя, а CloseBy не использую. Поэтому не реализовал. Возможно, с ускорением добавлю и это.

Как временное решение, добавьте перед включением своей библиотеки эти строки

#ifdef __MQL5__
  bool OrderCloseBy( const int Ticket, const int Opposite, const color Arrow_Color = clrNONE )
  {
    return(false);
  }  
#endif

По факту ловлю ошибку

cPoza::closeBy Встречное закрытие не вышло ticketB=168 ticketA=2216 вызвало ошибку-4754 

 
-Aleks-:

По факту ловлю ошибку

cPoza::closeBy Встречное закрытие не вышло ticketB=168 ticketA=2216 вызвало ошибку-4754 

Так зачем Вы пытаетесь делать closeBy, когда изначально было сказано, что это единственное, чего нет в реализации?!

OrderCloseBy, что выше, это пустая болванка, чтобы Ваша библиотека компилировалась.

Сложно придумать что-то проще, чем написание рабочего OrderCloseBy. Проблема в отображении истории. Там все очень специфично в обеих платформах. Настолько, что сами разработчики путаются.

Надо сделать, но не до этого пока. Сам использовать не буду, поэтому не горит.

 
fxsaber:

Так зачем Вы пытаетесь делать closeBy, когда изначально было сказано, что это единственное, чего нет в реализации?!

OrderCloseBy, что выше, это пустая болванка, чтобы Ваша библиотека компилировалась.

Сложно придумать что-то проще, чем написание рабочего OrderCloseBy. Проблема в отображении истории. Там все очень специфично в обеих платформах. Настолько, что сами разработчики путаются.

Надо сделать, но не до этого пока. Сам использовать не буду, поэтому не горит.

 Извините, не обратил внимание на код, что Вы дали - тупанул.

 
Еще вопрос - как правильно учесть SYMBOL_FILLING_MODE в вашей библиотеке? допустим, текущий mode не поддерживается на одном из брокеров у меня, можно сделать автоматическую проверку?
 
Maxim Dmitrievsky:
Еще вопрос - как правильно учесть SYMBOL_FILLING_MODE в вашей библиотеке? допустим, текущий mode не поддерживается на одном из брокеров у меня, можно сделать автоматическую проверку?
Чтобы лучше понять, о чем речь, напишите название торгового сервера. Посмотрю, что там не так.
 
fxsaber:
Чтобы лучше понять, о чем речь, напишите название торгового сервера. Посмотрю, что там не так.
там ORDER_FILLING_IOC, я проверил, при таком запросе сделки открываются. Нужна проверка в библиотеке, потому что ордера тоже не модифицируются, нужно везде проверять
 
В общем я разобрался - сервера не всегда возвращают правильные значения, поэтому происходит мешанина и это никак не исправить, только вручную менять тип заполнения, да. Здесь уже на форуме были подобные проблемы у людей.
Причина обращения: