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

 
JRandomTrader #:

Видимо, это ФОРТС и сделки типа Balance? Саппорт брокера не в теме и кивает на MQ, а MQ не видит в этом проблемы.

 Нет, насколько я в этом разгребаюсь, это обычный Forex.

 Сделка не закрыта, но на всякий глянул во вкладку История:

History

Запись только одна. Тип: balance-таки. Но вот, например, на серверах MQ демка тоже имеет Тип: balance, но Баланс не гуляет никогда.

 Уполз гуглить...

 Upd: нарыл https://www.mql5.com/ru/forum/326941. Не всё понятно, но кое-что...
Что за тип "balance" в истории терминала.
Что за тип "balance" в истории терминала.
  • 2019.11.21
  • www.mql5.com
Добрый день...
 

 Две длинные сделки на демке MQ по символу BTCUSD: 1-я лотом 1.01, 2-я — 11.01. Плечо: 1:500. После открытия первой Уровень маржи был вполне адекватным (не запомнил и не успел записать, но где-то порядка 100000); после открытия второй:

BTCUSD Margin

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

 Криптобаг или так задумано?

 

x572intraday #:

Криптобаг или так задумано?

залог 0.01 бакса за 12 битков? конечно баг
 

Здравствуйте!

char – знаковый тип от -128 до 127, почему при подстановке знака «-» у него меняется тип с char на int?

Это я чего-то не понимаю, и преобразование тиа появляется неслучайно? Или это баг? (приложенный файл warning.png)

void OnStart() {
  char positive = 1;
  char negative = -positive;
}


Для int подобного преобразования к более старшему формату не наблюдается. И преобразование типа при смене знака пока понять не могу...

void OnStart() {
  int positive = 1;
  int negative = -positive;
}
Файлы:
warning.png  29 kb
int.png  22 kb
truncation.png  25 kb
 
NastyaMaley #:

Нулевой тик, как такое возможно? Ошибка в тестере?

Пишем простой код для тестера.

На выходе получаем:

....

По логике, если последний тик равен нулю, то и выдавать ничего не должно. А оно выдает нулевой тик, из-за чего происходит сбой в расчетах советника, например, при подсчете средней. (13000 + 0 + 13000) / 3 =  8667, хотя должно быть (13000 + 13000) / 2 = 13000. Из-за нулевого тика вместо 13000, получилось 8667 !!!

а что возвращает  SymbolInfoTick проверили? если фальш, то проверяем ошибку LastError

 
Aleksey Mavrin #:

а что возвращает  SymbolInfoTick проверили? если фальш, то проверяем ошибку LastError


Везде возвращает true

2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:00   2021.11.08 00:00:00
2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:00   true
2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:03   2021.11.08 00:00:03
2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:03   true
2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:04   2021.11.08 00:00:04
2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:04   true

... и так далее

Конечно, можно добавить условие, если trade.last == 0, то игнорируем подсчет средней. Но все-таки хотелось бы докопаться, из-за чего возникает нулевой .last Тиковая история четкая и в ней нет никаких тиков, которые == 0.
 
NastyaMaley #:


Везде возвращает true

2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:00   2021.11.08 00:00:00
2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:00   true
2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:03   2021.11.08 00:00:03
2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:03   true
2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:04   2021.11.08 00:00:04
2021.12.16 00:21:02.461    Core 1    2021.11.08 00:00:04   true

... и так далее

Конечно, можно добавить условие, если trade.last == 0, то игнорируем подсчет средней. Но все-таки хотелось бы докопаться, из-за чего возникает нулевой .last Тиковая история четкая и в ней нет никаких тиков, которые == 0.

Я trade.last не использую и не проверяю, но использую trade.ask и trade.bid, и вот их приходится проверять на 0, иначе можно огрести.

 
NastyaMaley #:

При этом в тиковой истории никаких нулевых тиков нет. Вот кусок истории за нулевую секунду 2021.12.09 00:00:0 Это контракт на евро CME EU6Z21

"<DATE>    <TIME>    <BID>    <ASK>    <LAST>    <VOLUME>    <FLAGS>"
"2021.12.09    00:00:00.034    1.13445                2"
"2021.12.09    00:00:01.607            1.13445    1.00000000    88"
"2021.12.09    00:00:01.607            1.13445    1.00000000    88"
"2021.12.09    00:00:01.608    1.13445    1.13450            6"
"2021.12.09    00:00:01.660    1.13440                2"

вот здесь же у вас ласт везде нулевой.

то что таких тиков несколько в день в 00-00 может связано с неторговыми тиками в моменты котировочной/неторговой сессии.

а  что за брокер?

 
Maksim Astafev #:

Здравствуйте!

char – знаковый тип от -128 до 127, почему при подстановке знака «-» у него меняется тип с char на int?

Это я чего-то не понимаю, и преобразование тиа появляется неслучайно? Или это баг? (приложенный файл warning.png)


Для int подобного преобразования к более старшему формату не наблюдается. И преобразование типа при смене знака пока понять не могу...

А в чём проблеиа?

Читайте документацию

Типы данных char, uchar, short и ushort в операциях безусловно приводятся к типу int.

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Приведение типов - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Slava #:

А в чём проблеиа?

Читайте документацию

Надо большим шрифтом и красным выделить) тоже только счас обратил внимание.

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