Ошибки, баги, вопросы - страница 2492
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это нормально, что агенты после выполнения задания в облаке не освобождают оперативную память?
Версия 2085, 13 июня 2019.
Держит оперативную память минимум 1 час.
Это нормально, что агенты после выполнения задания в облаке не освобождают оперативную память?
Вопрос не полный. Сколько времени агенты у Вас держат память? Какой билд терминала?
Ошибка при выполнении:
Результат : 1
Ожидалось: 2 или (как в С++) - ошибка при компиляции
Спасибо за сообщение!
В MQL5 неподдерживается overriding (и/или hiding) методов классов.
Если мне не изменяет память, то несколько лет назад мы с Вами обсуждали уже эту особенность, правда речь тогда шла о том, какую перегрузку лучше вызывать ближайшую по наследованию или более точную по параметрам.
В новой версии компилятора, overriding будет работать, как в C++
Т.е. при переопределении родительского метода, вызвать его можно будет только через скоп "b.A::f()", попытка вызова b.f(10) приведёт к ошибке, метод b.f() - не имеет параметра, а метод A::f(int) недоступен (скрыт), т.к. бы переопределён.
Вопрос не полный. Сколько времени агенты у Вас держат память? Какой билд терминала?
Дополнил информацию
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
SEM, 2019.07.01 09:03
Это нормально, что агенты после выполнения задания в облаке не освобождают оперативную память?
Версия 2085, 13 июня 2019.
Держит оперативную память минимум 1 час.
Хочу ещё раз поднять тему "проблема средневзвешенной цены" в описании CPositionInfo, команды PriceOpen()
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Сервисдеск. Жалобы, предложения.
Francuz, 2019.06.13 11:36
Ошибка в описании стандартной библиотеки
Конкретно в описании CPositionInfo, команды PriceOpen()
https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/cpositioninfo/cpositioninfopriceopen
Возвращаемое значение не "цена открытия", а "средневзвешенная цена открытия"
Для примера:
Открываем позицию на 1 лот по цене 61532. PriceOpen() в этом случае вернёт 61532.
Дополнительно увеличиваем позицию ещё на 1 лот по цене 61615. PriceOpen() в этом случае вернёт средневзвешенную цену двух лотов 61573,5, а не цену открытия позиции.
Хотелось бы видеть не только исправление одного слова в описании, но и краткое пояснение-иллюстрацию.
Проблема средневзвешенной цены открытия имеет неприятные последствия.
Дело в том что если позицию увеличить до количества при котором невозможно деления без остатка, то начинают делится копейки, что при округлении происходит их потеря. И в итоге в конце не сходится баланс. Все сделки производятся сугубо целыми рублями, а итоговый баланс не сходится из-за потерянных копеек.
Схема воспроизведения ошибки с потерей копейки в балансе, даже при ручной торговле.
Дополнительно разъясню что за ошибка:
Столбец "А" - это фактаж (цены совершения сделок). Столбец "Б" это производное от столбца "А" с потерей точности. Любой квалифицированный бухгалтер пояснит, что сводить баланс нужно только по фактажу, и ни в коем случае не по производным с потерей точности.
Копейка не просто неверно отображается в терминале, она реально перемещается между счетами клиента и брокера. Любой юрист или налоговый инспектор вам пояснит, что это "залёт" и данный факт может быть предметом юридического разбирательства между трейдером и брокером.
Подтверждая утверждение, что копейки реально потерянны, является проведение коррекции спустя значительное время. Что за коррекция? Почему такими странными объёмами?
Хочу ещё раз поднять тему "проблема средневзвешенной цены" в описании CPositionInfo, команды PriceOpen()
Это проверим.
Вы нам очень поможете, если дадите в личке временно инвесторский пароль на пару часов. Мы хотим проверить цены и возможные округления в таблице ваших сделок. К вам обратятся.
Коррекция - это другое.
Это проверим.
Вы нам очень поможете, если дадите в личке временно инвесторский пароль на пару часов. Мы хотим проверить цены и возможные округления в таблице ваших сделок. К вам обратятся.
Коррекция - это другое.
Открытие Брокер
По горячим следам: https://www.mql5.com/ru/signals/596871
Если мне не изменяет память, то несколько лет назад мы с Вами обсуждали уже эту особенность, правда речь тогда шла о том, какую перегрузку лучше вызывать ближайшую по наследованию или более точную по параметрам.
Да... помню... С++ использует ближайшую по наследованию перегрузку - чтобы последующие изменения в базовых классах (появление новой перегрузки - более точной по параметрам) не влияли на порядок вычислений в производных (не вызывалась бы эта новая перегрузка)
Обратите еще пожалуйста внимание на следующее:
Казалось бы мелочь - напиши
и радуйся, но смысл как раз в том что не нужно дважды и более раз писать b = 2, а значит при последующем изменении на допустим: b = 3 - нужно будет поменять только в одном месте (а не в двух и более), а значит (с учетом распределенности программы) нельзя забыть это сделать в других местах
Подскажите
ERR_INDICATOR_DATA_NOT_FOUND
4806
Запрошенные данные не найдены
При этом индикатор на графике отображается нормально.
Куда копать?