Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 747

Добрый день. Позавчера начал изучать MQL, вот написал такую штуку.


Тестер выдает такой результат: 


Где подвох не могу понять. Уважаемые профессионалы будьте добры просветите, буду очень благодарен.


Вопрос В метатрейдере 4 можно ли написать программу, чтобы открыть от 2 до 250 позиций по моему выбору с заданным стоплоссом и заданным профитом в один клик? Чтоб не открывать вручную по одной

fxtz:

Вопрос В метатрейдере 4 можно ли написать программу, чтобы открыть от 2 до 250 позиций по моему выбору с заданным стоплоссом и заданным профитом в один клик? Чтоб не открывать вручную по одной

Можно. Только вопрос задаёте не в том месте - здесь по МТ5.

Есть несколько веток для новичков по вопросам МТ4.

Например - здесь.

antonsinichkin:
Добрый день. Позавчера начал изучать MQL, вот написал такую штуку.


Тестер выдает такой результат: 


Где подвох не могу понять. Уважаемые профессионалы будьте добры просветите, буду очень благодарен.



double переведите в string перед принтом. Или объясните, что не так...
Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL4 MT4 MetaTrader 4".
Добрый день. После последнего обновления МТ5 на билд 1604 мои индикаторы перестали корректно работать. Я использую
т.н "жидкие" индикаторы. К примеру, в одном окне установлено несколько разнопериодных стохастиков. Так вот теперь короткие отрисовываются
нормально, как и раньше, чуть более длинные рисуют всего несколько баров, а самые длинные не рисуются вообще.

 Такое впечатление, что резко стало не хватать истории. Не подскажете, что могло случиться?
недавно перешел с mql4 на mql5. тестирую советник по индексу РТС и возникла такая проблема, открывает по несколько сделок, хотя одним из условий к заключению сделки прописано: if (...OrdersTotal()==0). Почему не срабатывает данное условие? Что можно сделать чтобы открывал только одну сделку?
RogozaIV:
недавно перешел с mql4 на mql5. тестирую советник по индексу РТС и возникла такая проблема, открывает по несколько сделок, хотя одним из условий к заключению сделки прописано: if (...OrdersTotal()==0). Почему не срабатывает данное условие? Что можно сделать чтобы открывал только одну сделку?
PositionsTotal()
RogozaIV:
недавно перешел с mql4 на mql5. тестирую советник по индексу РТС и возникла такая проблема, открывает по несколько сделок, хотя одним из условий к заключению сделки прописано: if (...OrdersTotal()==0). Почему не срабатывает данное условие? Что можно сделать чтобы открывал только одну сделку?

OrdersTotal

OrdersTotal Возвращает количество действующих ордеров.

PositionsTotal

PositionsTotal Возвращает количество открытых позиций.


Примечание

Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.

При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".

При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.


То есть используя OrdersTotal Вы проверяете сколько всего на данный момент ОТЛОЖЕННЫХ ОРДЕРОВ:

ORDER_TYPE_BUY_LIMIT

Отложенный ордер Buy Limit

ORDER_TYPE_SELL_LIMIT

Отложенный ордер Sell Limit

ORDER_TYPE_BUY_STOP

Отложенный ордер Buy Stop

ORDER_TYPE_SELL_STOP

Отложенный ордер Sell Stop

ORDER_TYPE_BUY_STOP_LIMIT

По достижении цены ордера выставляется отложенный ордер Buy Limit по цене StopLimit

ORDER_TYPE_SELL_STOP_LIMIT

По достижении цены ордера выставляется отложенный ордер Sell Limit по цене StopLimit


а Вам нужно проверять сколько на данный момент открытых ПОЗИЦИЙ:

POSITION_TYPE_BUY

Покупка

POSITION_TYPE_SELL

Продажа


 - для этого нужно пользовать PositionsTotal.

Vladimir Karputov Спасибо!