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

[Удален]  

Все верно. Спасибо за подсказку. Но что мне делать, например, если другой советник работает на том же символе, открывает позицию в 0,5 лота и стоп-лосс 100 пунктов, мой советник открывает "внутреннюю позицию советника" в 0,5 и стоп-лосс 150 пунктов, т.е. увеличивает существующую позицию до 1 лота, а затем я закрываю "внутреннюю позицию советника", т.е. уменьшаю существующую позицию до 0,5 лота. Какой стоп-лосс тогда будет у оставшихся 0,5 лота? 100 пунктов или 150 пунктов? Или в таком случае в режиме неттинга невозможно установить независимый стоп-лосс для "моих" 0,5 лотов через SendRequest?

То есть, я не хочу просто менять хорошо продуманные стоп-лоссы других советников, но и не хочу просто отказываться от своих собственных. Есть ли эффективное решение моей "проблемы", кроме открытия "внутренней позиции советника" в режиме неттинга только при отсутствии открытой позиции по инструменту?

 
Benjamin Fotteler символе, открывает позицию в 0,5 лота и стоп-лосс 100 пунктов, мой советник открывает "внутреннюю позицию советника" в 0,5 и стоп-лосс 150 пунктов, т.е. увеличивает существующую позицию до 1 лота, а затем я закрываю "внутреннюю позицию советника", т.е. уменьшаю существующую позицию до 0,5 лота. Какой стоп-лосс тогда будет у оставшихся 0,5 лота? 100 пунктов или 150 пунктов? Или в таком случае в режиме неттинга невозможно установить независимый стоп-лосс для "моих" 0,5 лотов через SendRequest?

То есть, я не хочу просто менять хорошо продуманные стоп-лоссы других советников, но и не хочу просто отказываться от своих собственных. Есть ли эффективное решение моей "проблемы", кроме открытия "внутренней позиции советника" в режиме неттинга только при отсутствии открытой позиции по инструменту?

Если на нетто-счете(!) первый советник, например, по EURUSD покупает 0,01 лота (buy), а второй советник продает 0,05 лота (sell), то на счете снова остается только одна позиция, теперь уже 0,04 sell. Номера билетов здесь пока совершенно не важны. И если второй ордер на единственную позицию в EURUSD устанавливает новые (свои= SL и TP, то те, что были у первого ордера, перезаписываются.

Есть только одна позиция с одним SL и одним TP, если они указаны.

[Удален]  
Я могу это понять, спасибо. Но я все еще не понимаю, какой стоп-лосс применяется, если первый советник покупает 0,01 лота, а второй - 0,05 лота. Тогда открывается позиция в 0,06 лота, верно? И какой стоп-лосс применяется к этой позиции? Первый, второй или агрегированный?
 
Benjamin Fotteler #:
Я могу это понять, спасибо. Но я все еще не понимаю, какой стоп-лосс применяется, если первый советник покупает 0,01 лота, а второй - 0,05 лота. Тогда открывается позиция в 0,06 лота, верно? И какой стоп-лосс применяется к этой позиции? Первый, второй или агрегированный?
Я думаю, что последний.
[Удален]  

Хорошо, если это так, тогда я наконец-то понял основной принцип работы неттингового счета: Существует только одна позиция, которая является совокупностью всех предыдущих сделок; и тот, кто последним установил SL и TP - через метод OrderSend, через PositionModify или иным способом - установил SL и TP для всей позиции, независимо от того, устраивает это других советников или нет.

Это означает, что при использовании нескольких советников на одном и том же символе с неттинговым счетом пользователь должен знать, что он должен установить SL и TP для разных советников одинаково, чтобы они не работали не так, как планировалось изначально - если только они не выполняют защитную функцию и открывают "внутреннюю" позицию только в том случае, если на соответствующем символе не открыто ни одной позиции. И упомянутый вами PositionSelect() очень полезен для этого.

Documentation on MQL5: Trade Functions / PositionSelect
Documentation on MQL5: Trade Functions / PositionSelect
  • www.mql5.com
PositionSelect - Trade Functions - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 
Benjamin Fotteler метод OrderSend, через PositionModify или иным способом - установил SL и TP для всей позиции, независимо от того, устраивает это других советников или нет.

Это означает, что при использовании нескольких советников на одном и том же символе с неттинговым счетом пользователь должен знать, что он должен установить SL и TP для разных советников одинаково, чтобы они не работали не так, как планировалось изначально - если только они не выполняют защитную функцию и открывают "внутреннюю" позицию только в том случае, если на соответствующем символе не открыто ни одной позиции. И упомянутый вами PositionSelect() очень полезен для этого.

Однако, чтобы подстраховаться, я бы попробовал это еще раз, чтобы посмотреть, принимаются ли SL и TP для другого ордера или лучше потом изменить SL и TP отдельно - у меня нет опыта в этом!

 
Здравствуйте добрый день, кто нибудь может мне помочь, я не могу скачать ни один индикатор mql5 для mt5, я даю скачать индикатор в mql5 у меня появляется окно с вопросом есть ли у меня mt5 я даю ему да, затем автоматически открывается mt5 в разделе разметка или рынок и ничего не скачивает.
Я попробовал ввести пользователя и пароль mql5 в mt5 в разделе инструменты, сообщество, чтобы загрузить их непосредственно mt5 непосредственно и ничего не загружается, просто делает тот же звук, когда операция не вводится или есть ошибка lotaje....

На моем ПК стоит windows 8.1 32 bit, не знаю, может операционная система как-то влияет.
Я ценю помощь спасибо большое.
[Удален]  

Да, вам обязательно нужно все опробовать. Что касается неттингового счета, то я еще не делал этого, но я сделал это со значением tradeResult.deal, которое я сохранил как positionTicket.

Я понял, что если я запускаю советник и между рыночными ордерами, которые я использую только в нем (кроме SL и TP), посылаю лимитные ордера и т.п., то тикет открытой позиции совпадает не с tradeResult.deal, а с tradeResult.order. И как описано на странице свойств позиции, тикет позиции может просто меняться, а POSITION_IDENTIFIER не меняется, а остается идентичным тикету ордера, открывшего позицию, т.е. tradeResult.order входной сделки.

 

подскажите пожалуйста, кто знает где можно торговать пару USDKZT ?

[Удален]  
Я только что попробовал это с неттинговым счетом. Если вы разместите рыночный ордер на продажу объемом 1 лот со стоп-лоссом на 1,1 EURUSD, а затем разместите рыночный ордер на продажу объемом 1 лот со стоп-лоссом на 1,05 EURUSD, то вся позиция неттинга объемом 2 лота будет иметь стоп-лосс на 1,05 EURUSD. Это означает, что если вы запустите на одном инструменте два конкурирующих советника, которые по-разному управляют или обрабатывают StopLoss и TakeProfit, это может привести к хаосу. Я лучше проверю в своем советнике с помощью функции PositionSelect(), не открыта ли уже позиция, и позволю своему советнику подождать, пока больше не будет позиций, прежде чем они запутаются.