а ты уверен, что оно ордерселектом что-то выбирает? что такое "counter"?
для начала, проверь алертом:
для начала, проверь алертом:
OrderSelect(counter, SELECT_BY_POS, MODE_TRADES); Alert( OrderTicket());
если алертит ноль, значит ничего не выбрано.
OrderSelect(counter, SELECT_BY_POS, MODE_TRADES);
Всегда проверяйте результат выполнения операции перед тем как продолжать работу.
открыты 2 позы: 16518 - шорт, 16519 - лонг
for(counter = 0; counter < OrdersCount; counter++)
{
OrderSelect(counter, SELECT_BY_POS, MODE_TRADES);
Print(counter, " ", OrderTicket());
if(OrderType() == OP_SELL)
OrderModify(OrderTicket(), OrderOpenPrice(), StopLossLevel, OrderTakeProfit(), 0, Red);
эксперт выводит:
2005.01.26 10:04:34 EURUSD,H4: 0 16518
2005.01.26 10:04:34 EURUSD,H4: 1 16519
однако СтопЛосс не модифицируется...
for(counter = 0; counter < OrdersCount; counter++)
{
OrderSelect(counter, SELECT_BY_POS, MODE_TRADES);
Print(counter, " ", OrderTicket());
if(OrderType() == OP_SELL)
OrderModify(OrderTicket(), OrderOpenPrice(), StopLossLevel, OrderTakeProfit(), 0, Red);
эксперт выводит:
2005.01.26 10:04:34 EURUSD,H4: 0 16518
2005.01.26 10:04:34 EURUSD,H4: 1 16519
однако СтопЛосс не модифицируется...
убедитесь, что Вашему эксперту разрешено торговать (стоит соответствующая галочка в свойствах эксперта)
и анализируйте код возврата. если он равен false, анализируйте значение ошибки GetLastError()
и анализируйте код возврата. если он равен false, анализируйте значение ошибки GetLastError()
анализируйте значение ошибки GetLastError()
а где есть список значений ошибок ?
посмотрите наши примеры скриптов, а также исходный код библиотеки stdlib.mql
Slawa, большое спасибо, нашел описалово
Slawa, хотел спросить, пока в тему:
все ф-ции, которые bool в случае успешного выполнения возвращают 1? Или есть исключения?
все ф-ции, которые bool в случае успешного выполнения возвращают 1? Или есть исключения?
да, всегда. но на самом деле нужно иметь в виду, что false - это всегда 0, а true - не 0. так надёжнее

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
OrderSelect(counter, SELECT_BY_POS, MODE_TRADES);
if(OrderType() == OP_SELL)
OrderModify(OrderTicket(), OrderOpenPrice(), StopLossLevel, OrderTakeProfit(),
0, Red);
в логи эксперт тож не пишет