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

 
Alexey Viktorov:

То-есть позиция существует или нет...

Написать такое "пара пустяков". Просто выбираешь сделки принадлежащие позиции и перебирая их в цикле суммируешь прибыль, своп и комиссию.

А как же переоткрытие на фьючерсном рынке, например? Pos_id меняется, насколько помню. Ещё при развороте Pos_id оставался тем же, по крайней мере раньше так было, не знаю как сейчас.

 

Неужели никто не знает, как добавить график к основному? Просто

#property indicator_separate_window    // Индик. рисуется в новом окне
//#property indicator_chart_window     // Индик. рисуется в основном окне

Оказывается недостаточно, хотя в дополнительном окне график есть. В основном вывести его не получается...

 
sergey087:

Неужели никто не знает, как добавить график к основному? Просто


Оказывается недостаточно, хотя в дополнительном окне график есть. В основном вывести его не получается...

Один индикатор (одна копия файла): одно окно - или основное или дополнительное. ОДновременно И в основное И в дополнительное никак нельзя.

 
Juer:

А как же переоткрытие на фьючерсном рынке, например? Pos_id меняется, насколько помню. Ещё при развороте Pos_id оставался тем же, по крайней мере раньше так было, не знаю как сейчас.

Не надо забивать свою микросхему памяти не нужной информацией, которую можно прочесть в документации.

POSITION_IDENTIFIER

Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Соответствует тикету ордера, которым была открыта позиция.

 

Идентификатор позиции указывается в каждом ордере (ORDER_POSITION_ID) и сделке (DEAL_POSITION_ID), которая ее открыла, изменила или закрыла. Используйте это свойство для поиска ордеров и сделок, связанных с позицией.

 

При развороте позиции в режиме неттинга (единой сделкой in/out) идентификатор позиции POSITION_IDENTIFIER не изменяется. Однако при этом POSITION_TICKET изменяется на тикет ордера, в результате которого произошел разворот. В режиме хеджинга разворот позиции не предусмотрен.

В таком случае, видимо, придётся выбирать сделки за промежуток времени и в цикле отсеивать нужные по DEAL_POSITION_ID

 
Vladimir Karputov:

Один индикатор (одна копия файла): одно окно - или основное или дополнительное. ОДновременно И в основное И в дополнительное никак нельзя.

Так я комментирую лишнюю, но в основном он не появляется. Вот ссылка на полный текст скрипта, но он не работает и не знаю как его поправить....
 
sergey087:
Так я комментирую лишнюю, но в основном он не появляется. Вот ссылка на полный текст скрипта, но он не работает и не знаю как его поправить....

Не вижу файла mql5. Хорошим тоном считается прикреплять к сообщению mq5 файл - тогда его можно одним кликом скачать и открыть в редакторе. Ну это так, лирика и брюзжание :)


Если Вы прописали в файле запуск в основном окне, скомпилировали и ПРИКРЕПИЛИ его на график, то для запуска его в дополнительном окне нужно: ВЫГРУЗИТЬ индикатор с графика, потом прописать запуск в дополнительном окне, скомпилировать и только потом СНОВА ПРИКРЕПИТЬ.

 
Vladimir Karputov:

А интернет у Вас быстрый? Если справка не открывается - это означает что она закачивается. Раньше о процессе закачки были сообщения в Журнале, теперь сообщения убрали.

"Справочник MQl5" появился (полагаю вы правы на счет интернета, здесь в отеле довольно плохой). Но все ровно при нажатии F1 на функцию справочник не открывается.

 
Vladimir Karputov:

Не вижу файла mql5. Хорошим тоном считается прикреплять к сообщению mq5 файл - тогда его можно одним кликом скачать и открыть в редакторе. Ну это так, лирика и брюзжание :)


Если Вы прописали в файле запуск в основном окне, скомпилировали и ПРИКРЕПИЛИ его на график, то для запуска его в дополнительном окне нужно: ВЫГРУЗИТЬ индикатор с графика, потом прописать запуск в дополнительном окне, скомпилировать и только потом СНОВА ПРИКРЕПИТЬ.

А вот он, собственно...  Только 4 а не 5... 
Файлы:
TechIndI.mq4  6 kb
 
Какой можно использовать оператор из которого можно вернуть 2 результата? Я использую оператор if для нахождения этого условия, но вернуть несколько результатов он не может в этом случае приходится 2 раза писать одно и то же условие поэтому я и пишу с таким вопросом. 
 
Seric29:
Какой можно использовать оператор из которого можно вернуть 2 результата? Я использую оператор if для нахождения этого условия, но вернуть несколько результатов он не может в этом случае приходится 2 раза писать одно и то же условие поэтому я и пишу с таким вопросом. 
Оператор if не возвращает никакого значения.

Для присвоения неким переменным значений в отдельной функции есть два варианта:

1. Переменные должны быть видны во всех частях программы. То-есть объявлены на уровне глобальных переменных (в начале кода).

2. Передавать переменные объявленные локально в пользовательскую функцию по ссылке. То-есть перед именем переменной поставить &