Maxim Dmitrievsky: Да, так работает, спасибо.. ну и беребор ордеров тормозит, да... а больше пока багов не заметил.. Хорошая либа, на самом деле, есть смысл ускорить перебор ордеров, мне кажется
Перебор ИСТОРИЧЕСКИХ ордеров будет ускорен только для тестера/оптимизатора. Для реала - нельзя.
Измениться история сделок может в результате коррекции администраторами. Например, исправление спайков, отмены ошибочных сделок или финансовых операций.
В реальности лучше в 99% случаев использовать свой кеш, полностью обновляя его раз в сутки/сессию/клиринг и дописывая новое. Это если ваша работа построена на тяжелом и постоянном пересчете истории сделок.
А вот с историей работать на бирже через MT4Orders не рекомендую. Т.е. MODE_TRADE - без проблем, MODE_HISTORY - не надо на БИРЖЕ.
История работает на Hedge без ошибок, за исключением closeby-моментов, которые для разруливания требуют много свободного времени, чтобы разобраться и сопоставить различные closeby-ситуации в обеих платформах.
fxsaber: Перебор ИСТОРИЧЕСКИХ ордеров будет ускорен только для тестера/оптимизатора. Для реала - нельзя.
В реальности лучше в 99% случаев использовать свой кеш, полностью обновляя его раз в сутки/сессию/клиринг и дописывая новое. Это если ваша работа построена на тяжелом и постоянном пересчете истории сделок.
Учитывая сказанное Ренатом, по мне так, скорее можно (и нужно), чем нельзя. Можно обновлять кеш раз в час или по запросу.
// Что не реализовано: // CloseBy-моменты - пока было не до этого. Возможно, в будущем, когда понадобится. // Определение TP и SL закрытых позиций - на данный момент (build 1368) MQL5 этого делать не умеет.
Библиотеку писал для себя, а CloseBy не использую. Поэтому не реализовал. Возможно, с ускорением добавлю и это.
Как временное решение, добавьте перед включением своей библиотеки эти строки
cPoza::closeBy Встречное закрытие не вышло ticketB=168 ticketA=2216 вызвало ошибку-4754
Так зачем Вы пытаетесь делать closeBy, когда изначально было сказано, что это единственное, чего нет в реализации?!
OrderCloseBy, что выше, это пустая болванка, чтобы Ваша библиотека компилировалась.
Сложно придумать что-то проще, чем написание рабочего OrderCloseBy. Проблема в отображении истории. Там все очень специфично в обеих платформах. Настолько, что сами разработчики путаются.
Надо сделать, но не до этого пока. Сам использовать не буду, поэтому не горит.
Так зачем Вы пытаетесь делать closeBy, когда изначально было сказано, что это единственное, чего нет в реализации?!
OrderCloseBy, что выше, это пустая болванка, чтобы Ваша библиотека компилировалась.
Сложно придумать что-то проще, чем написание рабочего OrderCloseBy. Проблема в отображении истории. Там все очень специфично в обеих платформах. Настолько, что сами разработчики путаются.
Надо сделать, но не до этого пока. Сам использовать не буду, поэтому не горит.
Извините, не обратил внимание на код, что Вы дали - тупанул.
Еще вопрос - как правильно учесть SYMBOL_FILLING_MODE в вашей библиотеке? допустим, текущий mode не поддерживается на одном из брокеров у меня, можно сделать автоматическую проверку?
Maxim Dmitrievsky: Еще вопрос - как правильно учесть SYMBOL_FILLING_MODE в вашей библиотеке? допустим, текущий mode не поддерживается на одном из брокеров у меня, можно сделать автоматическую проверку?
Чтобы лучше понять, о чем речь, напишите название торгового сервера. Посмотрю, что там не так.
fxsaber: Чтобы лучше понять, о чем речь, напишите название торгового сервера. Посмотрю, что там не так.
там ORDER_FILLING_IOC, я проверил, при таком запросе сделки открываются. Нужна проверка в библиотеке, потому что ордера тоже не модифицируются, нужно везде проверять
В общем я разобрался - сервера не всегда возвращают правильные значения, поэтому происходит мешанина и это никак не исправить, только вручную менять тип заполнения, да. Здесь уже на форуме были подобные проблемы у людей.
Да, так работает, спасибо.. ну и беребор ордеров тормозит, да... а больше пока багов не заметил.. Хорошая либа, на самом деле, есть смысл ускорить перебор ордеров, мне кажется
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
MetaEditor build 1463
Renat Fatkhullin, 2016.11.05 10:38
Измениться история сделок может в результате коррекции администраторами. Например, исправление спайков, отмены ошибочных сделок или финансовых операций.
В реальности лучше в 99% случаев использовать свой кеш, полностью обновляя его раз в сутки/сессию/клиринг и дописывая новое. Это если ваша работа построена на тяжелом и постоянном пересчете истории сделок.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2016.11.07 08:31
А вот с историей работать на бирже через MT4Orders не рекомендую. Т.е. MODE_TRADE - без проблем, MODE_HISTORY - не надо на БИРЖЕ.Перебор ИСТОРИЧЕСКИХ ордеров будет ускорен только для тестера/оптимизатора. Для реала - нельзя.
Учитывая сказанное Ренатом, по мне так, скорее можно (и нужно), чем нельзя. Можно обновлять кеш раз в час или по запросу.
Учитывая сказанное Ренатом, по мне так, скорее можно (и нужно), чем нельзя. Можно обновлять кеш раз в час или по запросу.
// CloseBy-моменты - пока было не до этого. Возможно, в будущем, когда понадобится.
// Определение TP и SL закрытых позиций - на данный момент (build 1368) MQL5 этого делать не умеет.
Библиотеку писал для себя, а CloseBy не использую. Поэтому не реализовал. Возможно, с ускорением добавлю и это.
Как временное решение, добавьте перед включением своей библиотеки эти строки
bool OrderCloseBy( const int Ticket, const int Opposite, const color Arrow_Color = clrNONE )
{
return(false);
}
#endif
По факту ловлю ошибку
cPoza::closeBy Встречное закрытие не вышло ticketB=168 ticketA=2216 вызвало ошибку-4754
По факту ловлю ошибку
cPoza::closeBy Встречное закрытие не вышло ticketB=168 ticketA=2216 вызвало ошибку-4754
Так зачем Вы пытаетесь делать closeBy, когда изначально было сказано, что это единственное, чего нет в реализации?!
OrderCloseBy, что выше, это пустая болванка, чтобы Ваша библиотека компилировалась.
Сложно придумать что-то проще, чем написание рабочего OrderCloseBy. Проблема в отображении истории. Там все очень специфично в обеих платформах. Настолько, что сами разработчики путаются.
Надо сделать, но не до этого пока. Сам использовать не буду, поэтому не горит.
Так зачем Вы пытаетесь делать closeBy, когда изначально было сказано, что это единственное, чего нет в реализации?!
OrderCloseBy, что выше, это пустая болванка, чтобы Ваша библиотека компилировалась.
Сложно придумать что-то проще, чем написание рабочего OrderCloseBy. Проблема в отображении истории. Там все очень специфично в обеих платформах. Настолько, что сами разработчики путаются.
Надо сделать, но не до этого пока. Сам использовать не буду, поэтому не горит.
Извините, не обратил внимание на код, что Вы дали - тупанул.
Еще вопрос - как правильно учесть SYMBOL_FILLING_MODE в вашей библиотеке? допустим, текущий mode не поддерживается на одном из брокеров у меня, можно сделать автоматическую проверку?
Чтобы лучше понять, о чем речь, напишите название торгового сервера. Посмотрю, что там не так.