
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Кто пользовался пишут, что неудобная
Я не слишком знаком с интерфейсом CTrade, подозреваю, что надо взять просто несколько объектов CTrade - каждый со своим магиком.
Лично у меня класс-агреггатор всей ТС называется CEAPartsFactory - "фабрика частей эксперта". Задача этого класса - создание генератора входов, контроллера сопровождения, выходов, контроллера стоп-торгов. Так вот, каждой фабрике приписывается при создании свой магик. Для того, чтобы в одном эксперте работало сразу несколько магиков (или даже несколько ТС) - я просто создаю две фабрики, и каждая отвечает за свой магик, создаёт свои части экспертов.
Те, кто помнит мою Лигу, помнят, что у меня работало там почти тысяча ТС - вот, каждая из этих ТС была отдельной фабрикой с отдельным магиком.
Части экспертов, созданные фабриками, по очереди обращались к торговому процессору за действиями, указывая свои магики, но я об этом не думал - всё происходило "внутри" классов.
Тебе уже предложили стандартный класс CTrade - который предоставляет именно то, что тебе нужно, "простые функции Бай-Селл".
Обратите внимание:


Где тут написано, что нужна дополнительная строчка в шапке, чтобы эта функция работала
Новичок не поймёт, что от него требуется. И, если не поленится (или не побоится, много онлайн-интровертов) - спросить на форуме, что не так, почему компилятор ругается, а функция не работает.
Даже документация для порога вхождения
Обратите внимание:
Где тут написано, что нужна дополнительная строчка в шапке, чтобы эта функция работала
Новичок не поймёт, что от него требуется. И, если не поленится (или не побоится, много онлайн-интровертов) - спросить на форуме, что не так, почему компилятор ругается.
Не, ну CTrade - это класс объекта, который умеет торговать. Ясное дело, что его надо сперва объявить (создать)!
И компилятор совершенно правильно укажет, что вызывается функция у несозданного объекта!
Или при создании - напишет, что создаётся непонятный объект, который непонятно, где брать. Конечно, нужен заголовочный файл, где объект CTrade будет описан.
И в Хелпе этот файл также указан, просто на другой странице. (Там где "Декларация - Заголовок - Иерархия наследования")
Не, ну CTrade - это класс объекта, который умеет торговать. Ясное дело, что его надо сперва объявить (создать)!
И компилятор совершенно правильно укажет, что вызывается функция у несозданного объекта!
Или при создании - напишет, что создаётся непонятный объект, который непонятно, где брать. Конечно, нужен заголовочный файл, где объект CTrade будет описан.
И в Хелпе этот файл также указан, просто на другой странице. (Там где "Декларация - Заголовок - Иерархия наследования")
Вот!
Вы сейчас объясняете, как профессионал.
А особо одарённым не хватает дополнительного примечания:
Примечание
Успешное окончание работы метода Buy(...) не всегда означает успешное совершение торговой операции. Необходимо проверять результат выполнения торгового запроса (код возврата торгового сервера) вызовом метода ResultRetcode(), а также значение, возвращаемое методом ResultDeal().
...
...
(и дальше добавить)
#include <Trade\Trade.mqh>
CTrade trade;
А пользоваться функцией, прописывая trade.Buy(...);
Всё! Часть проблем с порогом вхождения решена.
Напрасно ты так, дружище.
Я же не против. Это как раз по части переусложнения.
Ну, вот, для этого класс CTrade и нужен... Как раз с этими самыми бай-селл.
Не в курсе, но, наверно, и для подсчёта ордеров есть соответствующие стандартные классы.
У меня есть класс CTradePosition - также предоставляющий интерфейс к компонентам позиции, опять же, независимо от того, на каком терминале работаем. Ордера по определённому символу получаются одной функцией. И опять же, главное преимущество ООП - что не надо знать, что там внутри этого класса происходит. Я просто говорю - давай число компонент позиции (ордеров в терминах MT4) - и получаю конкретное число.
Единственное "усложнение" - выше верно замечено, объекты этих классов сперва надо создать (одна дополнительная строка с созданием), а чтобы создать - их сперва надо описать во включаемом файле (ещё одна строка с именем этого файла).
Я же не против. Это как раз по части переусложнения.
Это не ускоряет всё, а замедляет. Каждое такое ускорение должно выполняться до того как программист обратится к этой функции. Следовательно если в программе не используется такая функция, а она полюбому считается, то это лишние тормоза.
Это не ускоряет всё, а замедляет. Каждое такое ускорение должно выполняться до того как программист обратится к этой функции. Следовательно если в программе не используется такая функция, а она полюбому считается, то это лишние тормоза.
Ну, вот, для этого класс CTrade и нужен... Как раз с этими самыми бай-селл.
Не в курсе, но, наверно, и для подсчёта ордеров есть соответствующие стандартные классы.
У меня есть класс CTradePosition - также предоставляющий интерфейс к компонентам позиции, опять же, независимо от того, на каком терминале работаем. Ордера по определённому символу получаются одной функцией. И опять же, главное преимущество ООП - что не надо знать, что там внутри этого класса происходит. Я просто говорю - давай число компонент позиции (ордеров в терминах MT4) - и получаю конкретное число.
Единственное "усложнение" - выше верно замечено, объекты этих классов сперва надо создать (одна дополнительная строка с созданием), а чтобы создать - их сперва надо описать во включаемом файле (ещё одна строка с именем этого файла).
А особо одарённым не хватает дополнительного примечания:
Всё! Часть проблем с порогом вхождения решена.
Да, такие вещи должны быть в документации для тех, кто не в теме, это сильно понизит порог с нуля.