Здравствуйте. Помогите пожалуйста в написании советника. По цене X нужно проверить есть ли открытые ордера на покупку или отложенные ордера на покупку. Если нет то открыть отложенный ордер на покупку с параметрами стоп лосс и тейк профит. И вторая проверка только ордеров на продажу и отложенных ордеров на продажу. Если нет то открытие отложенного ордера на продажу. И второй вопрос ... Куда прописать открытия ордеров при первом запуске советника -однократно.
- Проверка наличия открытого или отложенного ордера по цене
- Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6.
- Как написать советника, чтобы он открывал отложенные ордера по ценам закрытых ордеров?
По этапно.
OrdersTotal. Возвращает количество действующих ордеров.
Значит нужно организовать цикл по всем ордерам и попутно запоминать цены.
Вот цикл по ордерам:
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic)
if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic)
Здесь:
- m_symbol - объект класса CSymbolInfo
- m_order - объект класса COrderInfo
И поправьте свою терминологию. Отложенные == ордера. Открытые == позиции. В MQL5 только так.
PositionsTotal - возвращает количество открытых позиций
Цикл по ПОЗИЦИЯМ такой:
for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of open positions
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
Имея эти два цикла и обращаясь к методам объектов можно получать любые свойства.
Vladimir Karputov:
И поправьте свою терминологию. Отложенные == ордера. Открытые == позиции. В MQL5 только так.
Спасибо. Я новичок в программировании в mt4 . Постараюсь выражаться правильнее.
И поправьте свою терминологию. Отложенные == ордера. Открытые == позиции. В MQL5 только так.
FullH:
Спасибо. Я новичок в программировании в mt4 . Постараюсь выражаться правильнее.
Так Вы о МТ4? Вопросы по старому терминалу нужно задавать в специальном разделе: MQL4 и MetaTrader 4
Спасибо. Я новичок в программировании в mt4 . Постараюсь выражаться правильнее.
Vladimir Karputov:
Так Вы о МТ4? Вопросы по старому терминалу нужно задавать в специальном разделе: MQL4 и MetaTrader 4
Извиняюсь. Перейду в другой раздел.
Так Вы о МТ4? Вопросы по старому терминалу нужно задавать в специальном разделе: MQL4 и MetaTrader 4
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь