Mql5
- 16 апреля 2016, 12:45
- |
- Gens
Подскажите как найти тикет исполненого ордера? Суть в том что мне нужно стоп изменить открытой сделки.подскажите кто знает
92
Читайте на SMART-LAB:
Выплата дивидендов, продажа «Европлана» и погашение «казначеек»: итоги собрания акционеров ПАО «ЭсЭфАй»
17 декабря 2025 года подведены итоги внеочередного заочного голосования общего собрания акционеров ПАО «ЭсЭфАй». В соответствии с рекомендациями...
Нововведение на долговом рынке 📈
С 1 января запускается маркетинговая программа, по которой комиссия листинга будет рассчитываться от фактического объема размещенных структурных...
Почему банки всё ещё продолжают повышать ставки по вкладам?
В преддверии Нового года процентные ставки по вкладам в крупнейших банках продолжают расти. Так, средняя максимальная процентная ставка по...
хотя, судя по задаче, вроде как PositionGetString — узнаете тикет открытой позиции.
CTrade trade;
if(PositionSelect(_Symbol))
{
long ticket = PositionGetInteger(POSITION_TICKET);
trade.PositionModify(ticket,stop_loss,take_pofit);
}
как вариант
Gens, Я там скобочку забыл (поправил).
Так как в CTrade функция PositionModify перегружена, можно и так:
#include <Trade\Trade.mqh>
CTrade trade;
trade.PositionModify(_Symbol,stop_loss,take_pofit);
Gens, код бы глянуть (именно часть с модификацией).
Ну вообще, если это при использовании второго варианта, то, конечно, логично добавить проверку
if(PositionSelect(_Symbol))
{
//модификация
}
А если вообще по хорошему, лучше вообще не использовать стандартные стоплоссы нигде кроме тестера.
Кароч, скиньте код эксперта с вырезанной торговой логикой, оставив только модули исполнения и модификации, ночью гляну — раз уж мы заморочились, надо доделать нормально :).