Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Помогите, не смог найти нигде инфу.
Как из советника узнать средневзвешенную цену открытия позиции после нескольких торговых операций? PriceOpen() из CPositionInfo показывает ЦО первой сделки, а нужна текущая, полученная после нескольких сделок.
class Parent1 { public: virtual void Fn() {} }; template <typename type> class Parent2 // Какой-то библиотечный класс. { public: void Fn() {} // Эту функцию хочу вызвать в Parent 1. }; class Derived : public Parent2<type>, public Parent1 { }; Parent1 *p = new Derived(); p->Fn();Идея в том, что есть некоторый класс, функциональность которого нам нужна (связный список Parent2). Этот класс хочу подключить в какой-то другой иерархии (при помощи множественного наследования). Далее, в базовом классе этой иерархии, определить одноименные, виртуальные функции (такие же как и в библиотечном классе), для вызова этих библиотечных функций. Так как библиотечный класс - шаблон, следовательно выходной тип (после множественного наследования) мы не знаем (их много и они разные). Но походу это все нереализуемо.интерес вероятно чисто академический
как в С++ сделать Q3: public Q1, public Q2
и при этом чтоб компилятор понял что от него хотят.
А что не так в этой записи? Это называется множественным наследованием.
Да всё так, просто если прототипы имеют одинаковые функции то логичнее сделать каскадное наследование.
Множественное наследование требуется если разный набор виртуальных функций либо явных функций, и все виртуалки либо явные должны быть доступны в потомке.
особенное это важно когда уже есть определённая иерархия, но в ней не хватает некоторых виртуалок, чтоб не переписывать устоявшиеся классы делается множественное наследование и в параллельной ветке виртуалятся недостающие.
Да всё так, просто если прототипы имеют одинаковые функции то логичнее сделать каскадное наследование.
Множественное наследование требуется если разный набор виртуальных функций либо явных функций, и все виртуалки либо явные должны быть доступны в потомке.
особенное это важно когда уже есть определённая иерархия, но в ней не хватает некоторых виртуалок, чтоб не переписывать устоявшиеся классы делается множественное наследование и в параллельной ветке виртуалятся недостающие.
А что не так в этой записи? Это называется множественным наследованием.
называйте как хотите, но с компилятором вам все равно нужно договариваться.
и похоже единственный договор - это определять Fn в Q2
Добрый день.
Как выбрать объем открытых позиции по всем символам сразу?
if(PositionSelect(Symbol_)) open_volume = PositionGetDouble(POSITION_VOLUME) - Эта функция выдает результат только каждому символу отдельно.
Добрый день.
Как выбрать объем открытых позиции по всем символам сразу?
if(PositionSelect(Symbol_)) open_volume = PositionGetDouble(POSITION_VOLUME) - Эта функция выдает результат только каждому символу отдельно.
Я бы перебрал в цикле все символы, и просуммировал. Примерно так:
Не проверял на правильность (вообще не компилил).Я бы перебрал в цикле все символы, и просуммировал. Примерно так:
Не проверял на правильность (вообще не компилил).Полагал, что может есть что-то подобное как AccountInfoDouble(ACCOUNT_BALANCE) только по открытим позициями. Но смотрю придется переберать в цикле все символы. Спасибо.
Не могу разобраться почему функция Print выводит 0 вместо 40?