![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Большое спасибо, Андрей! Про Magic всё понятно, потому что на одном символе, действительно, могут быть открыты сразу несколько позиций, но возник встречный вопрос. Советник будет перебирать открытые позиции сразу по всем символам, если ему явно не указать на текущий символ? И это даже не смотря на то, что он установлен на конкретную валютную пару, например, EURUSD? Честно говоря, не совсем пойму вот этот момент.
С уважением, Владимир.
Исторически сложилось, что искать надо по всему торговому окружению. Как бы защита от дурака. Пользователь не знает на какой символ кидает советник))))
ОрдерТотал и ПозишнТотал возвращают количество всех ордеров / позиций в терминале. Узнать сколько позиций на символе можно только перебором с учетом фильтра равенства символа ордера / позиции символу текущего окна)))
Позиция может быть в неттинге только одна. Тикет позиции не меняется никогда и используется при обращении к позиции. Поэтому для одной позиции можно запомнить ее тикет и не перебирать позиции. Для хеджа можно запомнить 2 тикета.
Для отложенных ордеров можно запомнить их тикеты в разные переменные, или в массив. Но это сложнее.
Исторически сложилось, что искать надо по всему торговому окружению. Как бы защита от дурака. Пользователь не знает на какой символ кидает советник))))
ОрдерТотал и ПозишнТотал возвращают количество всех ордеров / позиций в терминале. Узнать сколько позиций на символе можно только перебором с учетом фильтра равенства символа ордера / позиции символу текущего окна)))
Не забывайте о маджике и типе ордера/позиции, что помогает точно отсортировать и определить количество искомых открытых позиций)
Не забывайте о маджике и типе ордера/позиции, что помогает точно отсортировать и определить количество искомых открытых позиций)
Само собой. Вопрос почему мы делаем поиск по всем ордерам. Потому что есть функция которая возвращает общее количество ордеров на всех инструментах и нет функции, которая возвращала бы количество ордеров на заданном инструменте. А жаль)
Само собой. Вопрос почему мы делаем поиск по всем ордерам. Потому что есть функция которая возвращает общее количество ордеров на всех инструментах и нет функции, которая возвращала бы количество ордеров на заданном инструменте. А жаль)
добавить в параметр поиска искомый символ не пробовали?
добавить в параметр поиска искомый символ не пробовали?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Самообучение языку MQL5 с полного нуля
Valeriy Yastremskiy, 2020.10.12 15:18
Исторически сложилось, что искать надо по всему торговому окружению. Как бы защита от дурака. Пользователь не знает на какой символ кидает советник))))
ОрдерТотал и ПозишнТотал возвращают количество всех ордеров / позиций в терминале. Узнать сколько позиций на символе можно только перебором с учетом фильтра равенства символа ордера / позиции символу текущего окна)))
Позиция может быть в неттинге только одна. Тикет позиции не меняется никогда и используется при обращении к позиции. Поэтому для одной позиции можно запомнить ее тикет и не перебирать позиции. Для хеджа можно запомнить 2 тикета.
Для отложенных ордеров можно запомнить их тикеты в разные переменные, или в массив. Но это сложнее.
Всем большое спасибо за подсказки и советы! Пришлось отъехать на несколько часов, поэтому не смог сразу всем ответить.
С уважением, Владимир.
Сделал кое-какие правки
Василий, спасибо! Это не кое-какие поправки, а настоящий деловой совет, в который вложен конкретный смысл. Пытался расписать всё последовательно и подробно только потому, что это результат технического мышления. Сейчас уже прекрасно понимаю, что нужно мыслить, как программист, а не как электронщик. Надеюсь, что в плане мышление скоро всё наладится.
С уважением, Владимир.
Исторически сложилось, что искать надо по всему торговому окружению. Как бы защита от дурака. Пользователь не знает на какой символ кидает советник))))
ОрдерТотал и ПозишнТотал возвращают количество всех ордеров / позиций в терминале. Узнать сколько позиций на символе можно только перебором с учетом фильтра равенства символа ордера / позиции символу текущего окна)))
Позиция может быть в неттинге только одна. Тикет позиции не меняется никогда и используется при обращении к позиции. Поэтому для одной позиции можно запомнить ее тикет и не перебирать позиции. Для хеджа можно запомнить 2 тикета.
Для отложенных ордеров можно запомнить их тикеты в разные переменные, или в массив. Но это сложнее.
Спасибо, Валерий, за развёрнутый ответ и, особенно, за информацию про тикет.
С уважением, Владимир
Сделал кое-какие правки
Василий, есть ещё один момент, который мне нужно уточнить. В пункте 2 алгоритма советника написал: "В советнике создаем блок входных параметров с двумя параметрами: задать "уровень трейлинга" и задать "шаг трейлинга". Что имелось ввиду под параметром задать "уровень трейлинга". Это такой "положительный" уровень текущей цены относительно цены открытия позиции, при котором бы трейлинг переносил Stop Loss на уровень цены открытия, то есть в безубыток.
С уважением, Владимир.