Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1414
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хорошо, если это так, тогда я наконец-то понял основной принцип работы неттингового счета: Существует только одна позиция, которая является совокупностью всех предыдущих сделок; и тот, кто последним установил SL и TP - через метод OrderSend, через PositionModify или иным способом - установил SL и TP для всей позиции, независимо от того, устраивает это других советников или нет.
Это означает, что при использовании нескольких советников на одном и том же символе с неттинговым счетом пользователь должен знать, что он должен установить SL и TP для разных советников одинаково, чтобы они не работали не так, как планировалось изначально - если только они не выполняют защитную функцию и открывают "внутреннюю" позицию только в том случае, если на соответствующем символе не открыто ни одной позиции. И упомянутый вами PositionSelect() очень полезен для этого.
Это означает, что при использовании нескольких советников на одном и том же символе с неттинговым счетом пользователь должен знать, что он должен установить SL и TP для разных советников одинаково, чтобы они не работали не так, как планировалось изначально - если только они не выполняют защитную функцию и открывают "внутреннюю" позицию только в том случае, если на соответствующем символе не открыто ни одной позиции. И упомянутый вами PositionSelect() очень полезен для этого.
Однако, чтобы подстраховаться, я бы попробовал это еще раз, чтобы посмотреть, принимаются ли SL и TP для другого ордера или лучше потом изменить SL и TP отдельно - у меня нет опыта в этом!
Да, вам обязательно нужно все опробовать. Что касается неттингового счета, то я еще не делал этого, но я сделал это со значением 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(), не открыта ли уже позиция, и позволю своему советнику подождать, пока больше не будет позиций, прежде чем они запутаются.
Я только что изучил " Проверки, которые должен пройти торговый робот ". Информация была очень полезной. Однако возник вопрос о маржин-коллах. Я не знаю, правильно ли я его понял.
В настоящее время мой советник делает две вещи, чтобы избежать маржин-колла: Перед сделкой, которая открывает или может открыть позицию, он использует OderCalcMargin(...) и ACCOUNT_MARGIN_FREE, чтобы узнать, можно ли увеличить маржу. Затем, если позиция должна быть открыта, он проверяет, превышает ли сумма денег в стоп-лоссе маржу, которую необходимо внести. И я не уверен, что не понял что-то по второму пункту.
Предположим, маржа составляет $500, рынок идет против моего направления, и мой стоп-лосс вступит в силу или сработает только при убытке в $1000. Если открытый P&L моей позиции составляет -750$, т.е. маржа в 500$ израсходована, получу ли я маржин-колл? Так имеет ли смысл проверять SL? - Это то, что я не хочу пробовать.
Поиск "calculate lotize": https://www.mql5.com/en/search#!keyword=calculate%20lotsize&module=mql5_module_forum
При этом вы, конечно, можете изменить 0.9 на (1 - maxRisk) и реализовать свойство "Максимальный риск в %", которое может быть установлено пользователем.
P.S. Вы используете имя или фамилию здесь на форуме?