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

 

На всех терминалах советник работал без ошибок. И на обычном хостинге не было проблем.

Только на MT VPS начались проблемы - все сделки проходят с одинаковой ошибкой - m_trade.ResultDeal() возвращает 0 (ноль).


 
Pavel Verveyko # :
Сборка 5830, проблема существует.
Тестер , белые горизонтальные линии это clrNONE, а должны быть невидимыми.
Исправлено. Будет включено в следующую публичную бета-версию.
 
Alain Verleyen #:
Исправлено. Будет включено в следующую публичную бета-версию.
По этим (12 , 3) вопросам правки планируются?
Ошибка в расчете маржи из-за неправильного конвертирования валют
Ошибка в расчете маржи из-за неправильного конвертирования валют
  • 2026.06.06
  • www.mql5.com
Пользователь описывает проблемы с индикаторами и функцией OrderCalcMargin(), где маржа в евро не совпадает с ожидаемым значением, а также ошибки в коде, связанные с записью и чтением данных в буферах. Также упоминаются проблемы с интерфейсом и функционалом, например, отсутствие перемотки списка функций и ошибки в работе таймера и событий.
 
Aleksey Vyazmikin # :
По этим ( 12 , 3 ) вопросам правки планируются?

1. Я проверю позже.

2. Обмен не является сделкой. Он всегда связан с DEAL_BUY или DEAL_SELL.

3. Я не понимаю, о чём вы говорите.

 
Aleksey Vyazmikin #:

Демо счёт MQ, валюта депозита USD, плечо 100, лот 1 тип ордера - покупка - на инструменте функция OrderCalcMargin() выдаёт значение 1000, в то время как в спецификации значение 1152,42.
Почему маржу выдаёт в евро? А если счёт в рублях, то пытается конвертировать в рубли, но по EURUSD есть ошибка.
Вот таблица:



Вот наброски кода

It's unclear what is the problem ?

2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    Коэффициенты маржи для Buy, начальная маржа=1.0 поддерживающая маржа=0.0
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    arr_Sym_Tick_P Ask=1.1556899999999999 Bid=1.15565
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    arr_Sym_Tick_O Ask=1.1556899999999999 Bid=1.15565
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    arr_Dep_Tick Ask=1.0 Bid=1.0
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    0 Margin=1155.69
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    115569.00000 115569.00000
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    0 Расчётное значение маржи=1155.69
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    0 Разница между фактическим и расчётным значением маржи=0.00
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    Коэффициенты маржи для Sell, начальная маржа=1.0 поддерживающая маржа=0.0
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    arr_Sym_Tick_P Ask=1.1556899999999999 Bid=1.15565
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    arr_Sym_Tick_O Ask=1.1556899999999999 Bid=1.15565
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    arr_Dep_Tick Ask=1.0 Bid=1.0
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    1 Margin=1155.65
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    115565.00000 115565.00000
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    1 Расчётное значение маржи=1155.65
2026.06.10 12:15:00.859    1111#37471 (EURUSD,H1)    1 Разница между фактическим и расчётным значением маржи=0.00

 
Alain Verleyen #:

2. Обмен не является сделкой. Он всегда связан с DEAL_BUY или DEAL_SELL.

Сейчас - да, но по факту - нет.

Это такая же комиссия, как и за другие действия. Или Вы видите фундаментальную разницу?

Alain Verleyen #:

3. Я не понимаю, о чём вы говорите.

Вижу, что поняли.

Да, сейчас расчёт верный на моём реальном счёте, а на MQ демо - нет:

2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        Коэффициенты маржи для Buy, начальная маржа=1.0 поддерживающая маржа=0.0
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        Коэффициенты маржи для Sell, начальная маржа=1.0 поддерживающая маржа=0.0
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        arr_Sym_Tick_P Ask=1.3385099999999999 Bid=1.33845
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        arr_Sym_Tick_O Ask=1.3385099999999999 Bid=1.33845
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        arr_Dep_Tick Ask=1.0 Bid=1.0
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        0 Margin=1000.0
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        133851.00000 133851.00000
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        0 Расчётное значение маржи=1338.51
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        0 Разница между фактическим и расчётным значением маржи=-338.51
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        arr_Sym_Tick_P Ask=1.3385099999999999 Bid=1.33845
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        arr_Sym_Tick_O Ask=1.3385099999999999 Bid=1.33845
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        arr_Dep_Tick Ask=1.0 Bid=1.0
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        1 Margin=1000.0
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        133845.00000 133845.00000
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        1 Расчётное значение маржи=1338.45
2026.06.10 21:31:53.328 Test_OrderCalcMargin (GBPUSD,H1)        1 Разница между фактическим и расчётным значением маржи=-338.45

2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        Коэффициенты маржи для Buy, начальная маржа=1.0 поддерживающая маржа=0.0
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        Коэффициенты маржи для Sell, начальная маржа=1.0 поддерживающая маржа=0.0
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        arr_Sym_Tick_P Ask=1.1550799999999999 Bid=1.15506
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        arr_Sym_Tick_O Ask=1.1550799999999999 Bid=1.15506
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        arr_Dep_Tick Ask=1.0 Bid=1.0
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        0 Margin=1000.0
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        115508.00000 115508.00000
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        0 Расчётное значение маржи=1155.08
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        0 Разница между фактическим и расчётным значением маржи=-155.08
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        arr_Sym_Tick_P Ask=1.1550799999999999 Bid=1.15506
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        arr_Sym_Tick_O Ask=1.1550799999999999 Bid=1.15506
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        arr_Dep_Tick Ask=1.0 Bid=1.0
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        1 Margin=1000.0
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        115506.00000 115506.00000
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        1 Расчётное значение маржи=1155.06
2026.06.10 21:32:01.603 Test_OrderCalcMargin (EURUSD,H1)        1 Разница между фактическим и расчётным значением маржи=-155.06

Конфигурация и счёт

2026.06.10 21:35:20.383 Terminal        MetaTrader 5 x64 build 5836 started for MetaQuotes Ltd.
2026.06.10 21:35:20.383 Terminal        Windows 10 build 19045, 16 x Intel Xeon  E5-2630 v3 @ 2.40GHz, AVX2, 8 / 15 Gb memory, 34 / 476 Gb disk, RDP, admin, GMT+3
2026.06.10 21:35:20.383 Terminal        D:\FX\MT5_Test
2026.06.10 21:35:22.297 Network '5051393161': authorized on MetaQuotes-Demo through Access Point EU 4 (ping: 60.55 ms, build 5836)
2026.06.10 21:35:22.297 Network '5051393161': previous successful authorization performed from 99 on 2026.06.10 21:31:34
2026.06.10 21:35:23.157 Network '5051393161': terminal synchronized with MetaQuotes Ltd.: 0 positions, 0 orders, 11856 symbols, 0 spreads
2026.06.10 21:35:23.157 Network '5051393161': trading has been enabled - hedging mode
 
Aleksey Vyazmikin #:

Сейчас - да, но по факту - нет.

Это такая же комиссия, как и за другие действия. Или Вы видите фундаментальную разницу?

Вижу, что поняли.

Да, сейчас расчёт верный на моём реальном счёте, а на MQ демо - нет:

Конфигурация и счёт

2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    Коэффициенты маржи для Buy, начальная маржа=1.0 поддерживающая маржа=0.0
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    MetaQuotes-Demo account in USD, Build 5836
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    arr_Sym_Tick_P Ask=1.33785 Bid=1.33779
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    arr_Sym_Tick_O Ask=1.33785 Bid=1.33779
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    arr_Dep_Tick Ask=1.0 Bid=1.0
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    0 Margin=1337.85
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    133785.00000 133785.00000
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    0 Расчётное значение маржи=1337.85
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    0 Разница между фактическим и расчётным значением маржи=0.00
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    Коэффициенты маржи для Sell, начальная маржа=1.0 поддерживающая маржа=0.0
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    MetaQuotes-Demo account in USD, Build 5836
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    arr_Sym_Tick_P Ask=1.33785 Bid=1.33779
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    arr_Sym_Tick_O Ask=1.33785 Bid=1.33779
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    arr_Dep_Tick Ask=1.0 Bid=1.0
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    1 Margin=1337.79
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    133779.00000 133779.00000
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    1 Расчётное значение маржи=1337.79
2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    1 Разница между фактическим и расчётным значением маржи=0.00

2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    Коэффициенты маржи для Buy, начальная маржа=1.0 поддерживающая маржа=0.0
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    MetaQuotes-Demo account in USD, Build 5836
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    arr_Sym_Tick_P Ask=1.15463 Bid=1.15461
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    arr_Sym_Tick_O Ask=1.15463 Bid=1.15461
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    arr_Dep_Tick Ask=1.0 Bid=1.0
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    0 Margin=1154.63
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    115463.00000 115463.00000
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    0 Расчётное значение маржи=1154.63
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    0 Разница между фактическим и расчётным значением маржи=0.00
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    Коэффициенты маржи для Sell, начальная маржа=1.0 поддерживающая маржа=0.0
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    MetaQuotes-Demo account in USD, Build 5836
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    arr_Sym_Tick_P Ask=1.15463 Bid=1.15461
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    arr_Sym_Tick_O Ask=1.15463 Bid=1.15461
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    arr_Dep_Tick Ask=1.0 Bid=1.0
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    1 Margin=1154.61
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    115461.00000 115461.00000
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    1 Расчётное значение маржи=1154.61
2026.06.10 15:45:34.492    1111#37471 (EURUSD,H1)    1 Разница между фактическим и расчётным значением маржи=0.00

         printf("%s account in %s, Build %i",AccountInfoString(ACCOUNT_SERVER),AccountInfoString(ACCOUNT_CURRENCY),TerminalInfoInteger(TERMINAL_BUILD));
 
Alain Verleyen #:

2026.06.10 15:46:32.652    1111#37471 (GBPUSD,H1)    MetaQuotes-Demo account in USD, Build 5836


Хорошо, у Вас на счете правильно считается у меня - нет.
Предположительная причина - разные счета подключаются к по разному настроенным серверам.
Или у Вас есть другие идеи?

 
Aleksey Vyazmikin # :

Хорошо, у Вас на счете правильно считается у меня - нет.
Предположительная причина - разные счета подключаются к по разному настроенным серверам.
Или у Вас есть другие идеи?

Тот же сервер:

2026.06.10 15:49:28.313    Network    '5050489561': authorized on MetaQuotes-Demo through Access Point EU 4 (ping: 167.69 ms, build 5836)

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

 
Alain Verleyen #:

Тот же сервер:

2026.06.10 15:49:28.313    Network    '5050489561': authorized on MetaQuotes-Demo through Access Point EU 4 (ping: 167.69 ms, build 5836)

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

2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ============================================================
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)                         ПОЛНАЯ ИНФОРМАЦИЯ О СЧЁТЕ                  
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ============================================================
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     --- INTEGER свойства (AccountInfoInteger) ---
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_LOGIN (Номер счета): 5051393161
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_LEVERAGE (Плечо): 1:100
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_LIMIT_ORDERS (Макс. отложенных ордеров): 200
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_CURRENCY_DIGITS (Знаков после запятой в валюте счета): 2
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_TRADE_MODE (Тип счета): Демо-счет
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_MARGIN_SO_MODE (Режим Stop Out): Проценты
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_MARGIN_MODE (Режим маржи): Хеджинг (несколько позиций)
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_TRADE_ALLOWED (Торговля разрешена): Да
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_TRADE_EXPERT (Торговля экспертом разрешена): Да
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_FIFO_CLOSE (Закрытие только по FIFO): Нет
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_HEDGE_ALLOWED (Встречные позиции разрешены): Да
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     --- DOUBLE свойства (AccountInfoDouble) ---
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_BALANCE (Баланс): 100000.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_CREDIT (Кредит): 0.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_PROFIT (Текущая прибыль): 0.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_EQUITY (Собственные средства): 100000.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_MARGIN (Зарезервированная маржа): 0.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_MARGIN_FREE (Свободные средства): 100000.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_MARGIN_LEVEL (Уровень маржи): 0.00 %
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_MARGIN_SO_CALL (Уровень Margin Call): 50.00 %
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_MARGIN_SO_SO (Уровень Stop Out): 30.00 %
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_MARGIN_INITIAL (Резерв на отложенные ордера): 0.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_MARGIN_MAINTENANCE (Резерв на открытые позиции): 0.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_ASSETS (Активы): 0.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_LIABILITIES (Обязательства): 0.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_COMMISSION_BLOCKED (Заблокированные комиссии): 0.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     --- STRING свойства (AccountInfoString) ---
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_NAME (Имя клиента): All All
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_SERVER (Торговый сервер): MetaQuotes-Demo
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_CURRENCY (Валюта депозита): USD
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ACCOUNT_COMPANY (Компания): MetaQuotes Ltd.
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     --- Дополнительные вычисляемые значения ---
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     Баланс + Кредит: 100000.00
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ============================================================
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)                         КОНЕЦ ИНФОРМАЦИИ О СЧЁТЕ                   
2026.06.10 23:01:18.432 AccountFullInfo (EURUSD,H1)     ============================================================
Файлы: