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

 
Anatoliy Dzhumko:

Там же видно что подключена библиотека для перевода с мкл4 в мкл5. И раньше компил проходил нормально, а сейчас стал ошибку выдовать.

Ознакомьтесь с описанием релиза 2450 ( https://www.mql5.com/ru/forum/340770 )

В обновление включены только 64-битные компоненты платформы

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

Если вы все еще пользуетесь 32-битными решениями, рекомендуем перейти на 64-битные версии как можно скорее.

Новая версия платформы MetaTrader 5 build 2450: Сервис "Подписки", улучшения в интерфейсе и удобные функции в MetaEditor
Новая версия платформы MetaTrader 5 build 2450: Сервис "Подписки", улучшения в интерфейсе и удобные функции в MetaEditor
  • 2020.05.15
  • www.mql5.com
В пятницу 22 мая 2020 года будет выпущена обновленная версия платформы MetaTrader 5...
 
MT4Orders помогла очень легко написать торговую часть воспроизведения бага.
 
// Список изменений:
// 10.04.2020
//   Fix: Частично исполненный живой отложенный ордер не попадал в OrdersTotal().
 
Хочу на всякий случай отметить, что ZIP-архивы чинили, насколько помню. Но сейчас опять раздрай и там старая версия, обновляться надо пофайлово.
 
traveller00:
Хочу на всякий случай отметить, что ZIP-архивы чинили, насколько помню. Но сейчас опять раздрай и там старая версия, обновляться надо пофайлово.

В данном случае всегда только один файл.

 
// Список изменений:
// 09.06.2020
//   Add: Лучше определяются цены StopLoss/TakeProfit/ClosePriceRequest для закрытых позиций.

MT5 иногда делает SL/TP маркет-ордером с нулевой ценой. Раньше это не позволяло определить заданный уровень SL/TP и, соответственно, величину проскальзывания.

 
fxsaber:

MT5 иногда делает SL/TP маркет-ордером с нулевой ценой. Раньше это не позволяло определить заданный уровень SL/TP и, соответственно, величину проскальзывания.

Только что. 

Закрыл позицию по одному символу и почти сразу-же открыл вторую по AUDUSD

OR      0       16:51:07.204    Expert (AUDUSD,M30)     Line = 1239
HD      0       16:51:07.204    Expert (AUDUSD,M30)     Before ::HistoryOrderSelect(Result.order):
JP      0       16:51:07.204    Expert (AUDUSD,M30)     MT4ORDERS::OrderSendBug = 4
II      0       16:51:07.204    Expert (AUDUSD,M30)     Result.deal = 0
OQ      0       16:51:07.204    Expert (AUDUSD,M30)     
PK      0       16:51:07.204    Expert (AUDUSD,M30)     Line = 1261
FJ      0       16:51:07.204    Expert (AUDUSD,M30)     Before MT4ORDERS::HistoryDealSelect(Result):
JI      0       16:51:07.204    Expert (AUDUSD,M30)     MT4ORDERS::OrderSendBug = 4
IP      0       16:51:07.204    Expert (AUDUSD,M30)     Result.deal = 0
OH      0       16:51:07.204    Expert (AUDUSD,M30)     
IJ      0       16:51:07.204    Expert (AUDUSD,M30)     Alert: OrderSend(60423271) - BUG!
DD      0       16:51:07.204    Expert (AUDUSD,M30)     Alert: Please send the logs to the coauthor - https://www.mql5.com/en/users/fxsaber
OE      0       16:51:07.204    Expert (AUDUSD,M30)     Alert: D:\MetaTrader 5 - RoboForex\MQL5\Logs\20200609.log
QL      0       16:51:07.218    Expert (AUDUSD,M30)     MT4Orders.mqh = MT4Orders.mqh
IJ      0       16:51:07.218    Expert (AUDUSD,M30)     Version = 2020.01.12
LO      0       16:51:07.218    Expert (AUDUSD,M30)     __MQLBUILD__ = 2450
CF      0       16:51:07.218    Expert (AUDUSD,M30)     2020.05.23 = 2020.05.23 00:00:00
IP      0       16:51:07.218    Expert (AUDUSD,M30)     ::AccountInfoString(ACCOUNT_SERVER) = Alpari-MT5-Demo
EP      0       16:51:07.218    Expert (AUDUSD,M30)     (ENUM_ACCOUNT_TRADE_MODE)::AccountInfoInteger(ACCOUNT_TRADE_MODE) = ACCOUNT_TRADE_MODE_DEMO (0)
MP      0       16:51:07.218    Expert (AUDUSD,M30)     (bool)::TerminalInfoInteger(TERMINAL_CONNECTED) = true
CO      0       16:51:07.218    Expert (AUDUSD,M30)     ::TerminalInfoInteger(TERMINAL_PING_LAST) = 69989
FJ      0       16:51:07.218    Expert (AUDUSD,M30)     ::TerminalInfoDouble(TERMINAL_RETRANSMISSION) = 4.20914172969418
DD      0       16:51:07.218    Expert (AUDUSD,M30)     ::TerminalInfoInteger(TERMINAL_BUILD) = 2485
PP      0       16:51:07.218    Expert (AUDUSD,M30)     (bool)::TerminalInfoInteger(TERMINAL_X64) = true
JE      0       16:51:07.218    Expert (AUDUSD,M30)     (bool)::TerminalInfoInteger(TERMINAL_VPS) = false
FD      0       16:51:07.218    Expert (AUDUSD,M30)     (ENUM_PROGRAM_TYPE)::MQLInfoInteger(MQL_PROGRAM_TYPE) = PROGRAM_EXPERT (2)
DE      0       16:51:07.218    Expert (AUDUSD,M30)     ::TimeCurrent() = 2020.06.09 16:51:11
OM      0       16:51:07.218    Expert (AUDUSD,M30)     ::TimeTradeServer() = 2020.06.09 16:51:07
NE      0       16:51:07.218    Expert (AUDUSD,M30)     MT4ORDERS::TimeToString(MT4ORDERS::GetTimeCurrent()) = 2020.06.09 16:51:11.734
MK      0       16:51:07.218    Expert (AUDUSD,M30)     MT4ORDERS::TimeToString(PrevTimeCurrent) = 2020.06.09 16:51:11.544
RI      0       16:51:07.218    Expert (AUDUSD,M30)     PrevTick = Symb = AUDUSD time = 2020.06.09 16:51:11.340 bid = 0.69603 ask = 0.69609 last = 0.00000 volume = 0 6 TICK_FLAG_BID TICK_FLAG_ASK
IS      0       16:51:07.218    Expert (AUDUSD,M30)     CurrentTick = ::SymbolInfoTick(Symb,Tick) = true Symb = AUDUSD time = 2020.06.09 16:51:11.639 bid = 0.69603 ask = 0.69611 last = 0.00000 volume = 0 4 TICK_FLAG_ASK
DI      0       16:51:07.218    Expert (AUDUSD,M30)     ::SymbolInfoString(Request.symbol,SYMBOL_PATH) = Forex\AUDUSD
ND      0       16:51:07.218    Expert (AUDUSD,M30)     ::SymbolInfoString(Request.symbol,SYMBOL_DESCRIPTION) = Australian Dollar vs US Dollar
PJ      0       16:51:07.218    Expert (AUDUSD,M30)     ::PositionsTotal() = 2
QM      0       16:51:07.218    Expert (AUDUSD,M30)     ::OrdersTotal() = 0
PJ      0       16:51:07.218    Expert (AUDUSD,M30)     ::HistorySelect(0,INT_MAX) = true
HN      0       16:51:07.218    Expert (AUDUSD,M30)     ::HistoryDealsTotal() = 61
OH      0       16:51:07.218    Expert (AUDUSD,M30)     ::HistoryOrdersTotal() = 60
EO      0       16:51:07.218    Expert (AUDUSD,M30)     ::HistoryDealGetTicket(::HistoryDealsTotal()-1) = 41941835
IN      0       16:51:07.218    Expert (AUDUSD,M30)     DEAL_TIME_MSC = 2020.06.09 16:51:11.738
CF      0       16:51:07.218    Expert (AUDUSD,M30)     ::HistoryOrderGetTicket(::HistoryOrdersTotal()-1) = 60423271
LP      0       16:51:07.218    Expert (AUDUSD,M30)     ORDER_TIME_DONE_MSC = 2020.06.09 16:51:11.738
NQ      0       16:51:07.218    Expert (AUDUSD,M30)     ::TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE) = 15891
IJ      0       16:51:07.218    Expert (AUDUSD,M30)     ::TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL) = 8153
QH      0       16:51:07.218    Expert (AUDUSD,M30)     ::TerminalInfoInteger(TERMINAL_MEMORY_TOTAL) = 16306
NP      0       16:51:07.218    Expert (AUDUSD,M30)     ::TerminalInfoInteger(TERMINAL_MEMORY_USED) = 415
GS      0       16:51:07.218    Expert (AUDUSD,M30)     ::MQLInfoInteger(MQL_MEMORY_LIMIT) = 8388608
OH      0       16:51:07.218    Expert (AUDUSD,M30)     ::MQLInfoInteger(MQL_MEMORY_USED) = 1
CR      0       16:51:07.218    Expert (AUDUSD,M30)     MT4ORDERS::IsHedging = true
GK      0       16:51:07.218    Expert (AUDUSD,M30)     Res = true
QM      0       16:51:07.218    Expert (AUDUSD,M30)     MT4ORDERS::OrderSendBug = 4
LD      0       16:51:07.218    Expert (AUDUSD,M30)     Request.action = TRADE_ACTION_DEAL (1)
DJ      0       16:51:07.218    Expert (AUDUSD,M30)     Request.magic = 1
JS      0       16:51:07.218    Expert (AUDUSD,M30)     Request.order = 0
HG      0       16:51:07.218    Expert (AUDUSD,M30)     Request.symbol = AUDUSD
EL      0       16:51:07.218    Expert (AUDUSD,M30)     Request.volume = 0.1
QJ      0       16:51:07.218    Expert (AUDUSD,M30)     Request.price = 0.69603
KR      0       16:51:07.218    Expert (AUDUSD,M30)     Request.stoplimit = 0.0
QE      0       16:51:07.218    Expert (AUDUSD,M30)     Request.sl = 0.0
NL      0       16:51:07.218    Expert (AUDUSD,M30)     Request.tp = 0.0
NO      0       16:51:07.218    Expert (AUDUSD,M30)     Request.deviation = 30
DE      0       16:51:07.218    Expert (AUDUSD,M30)     Request.type = ORDER_TYPE_SELL (1)
PH      0       16:51:07.218    Expert (AUDUSD,M30)     Request.type_filling = ORDER_FILLING_FOK (0)
LN      0       16:51:07.218    Expert (AUDUSD,M30)     Request.type_time = ORDER_TIME_GTC (0)
FJ      0       16:51:07.218    Expert (AUDUSD,M30)     Request.expiration = 1970.01.01 00:00:00
NF      0       16:51:07.218    Expert (AUDUSD,M30)     Request.comment = Expert mn(1) sp(0.6)
KO      0       16:51:07.218    Expert (AUDUSD,M30)     Request.position = 0
QK      0       16:51:07.218    Expert (AUDUSD,M30)     Request.position_by = 0
LO      0       16:51:07.218    Expert (AUDUSD,M30)     Result.retcode = 10009
IJ      0       16:51:07.218    Expert (AUDUSD,M30)     Result.deal = 41941835
ML      0       16:51:07.218    Expert (AUDUSD,M30)     Result.order = 60423271
CH      0       16:51:07.218    Expert (AUDUSD,M30)     Result.volume = 0.1
MN      0       16:51:07.218    Expert (AUDUSD,M30)     Result.price = 0.69603
CF      0       16:51:07.218    Expert (AUDUSD,M30)     Result.bid = 0.0
OO      0       16:51:07.218    Expert (AUDUSD,M30)     Result.ask = 0.0
PJ      0       16:51:07.218    Expert (AUDUSD,M30)     Result.comment = Request executed 126.607 + 0.102 (4) ms.
PM      0       16:51:07.218    Expert (AUDUSD,M30)     Result.request_id = 29
JG      0       16:51:07.218    Expert (AUDUSD,M30)     Result.retcode_external = 0
PM      0       16:51:07.218    Expert (AUDUSD,M30)     
 
Vitaly Muzichenko:

Только что. 

Закрыл позицию по одному символу и почти сразу-же открыл вторую по AUDUSD

Это только подробное информирование пользователя, что библиотека обнаружила баг MT5 и обошла его.

 

Наблюдаю следующие моменты в собранном MT4 советнике с помощью библиотеки этой.

В тестере ордера открываются, закрываются вроде нормально.

В логах только подобное, группами по несколько сотен строк

  • 2020.04.21 00:52:00   failed to allocate an order 108! Error №: 4754 - Несуществующий номер ошибки

В среднем каждый 10й ордер. При этом, по логам, 110й ордер успешно открыт, а со 108 проблема после 110го.

Скажите, наблюдал ли кто такую проблему с библиотекой этой, или что-то с конкретным MQL4 советником?


 
vrubzov1957:

Наблюдаю следующие моменты в собранном MT4 советнике с помощью библиотеки этой.

В тестере ордера открываются, закрываются вроде нормально.

В логах только подобное, группами по несколько сотен строк

  • 2020.04.21 00:52:00   failed to allocate an order 108! Error №: 4754 - Несуществующий номер ошибки

В среднем каждый 10й ордер. При этом, по логам, 110й ордер успешно открыт, а со 108 проблема после 110го.

Скажите, наблюдал ли кто такую проблему с библиотекой этой, или что-то с конкретным MQL4 советником?

Скорее всего, некорректные цены в торговом приказе.

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