[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 46
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
а где, собственно, вопрос?
https://www.mql5.com/ru/forum/115354/page78
в приведенном вами коде если есть только 1 ордер, то цикл
выполнится 2 раза. при этом первый раз будет попытка выбора ордера, которого нет
в приведенном вами коде если есть только 1 ордер, то цикл
выполнится 2 раза. при этом первый раз будет попытка выбора ордера, которого нет
Терминал ушёл в глубокую задумчивость, минут через 15 я его убил
я бы убил не дожидаясь минуты.
Непосредственно перед использованием Ask и Bid выполните RefreshRates()
Пробовал, ничего не меняется
Функция отправки ордера, вроде все стандартно
Пробовал, ничего не меняется
Функция отправки ордера, вроде все стандартно
Сначала Вы обновляете цены функцией RefreshRates() и запоминаете требуемую в Price.
Потом выполняете Sleep(Interval), а в это время котировки то меняются.
А после этого вызываете OrderSend() с позапрошлогодней котировкой.
Спрашивается, чего Вы ожидаете получить в ответ?
Сначала Вы обновляете цены функцией RefreshRates() и запоминаете требуемую в Price.
Потом выполняете Sleep(Interval), а в это время котировки то меняются.
А после этого вызываете OrderSend() с позапрошлогодней котировкой.
Спрашивается, чего Вы ожидаете получить в ответ?
Сама функция теперь Теперь вроде правильно?Во косяк, намодернизировал малость не туда, ща сделал вынос цены за пределы фунции
Здравствуйте.
Не подскажите, что значит type==4
и type==5
в следующем фрагменте:
double ma=iMA(Symbol(),PERIOD_D1,21,0,MODE_SMA,PRICE_CLOSE,0);
for(int k=1; k<=OrdersTotal(); k++)
bool select=OrderSelect(k-1,SELECT_BY_POS);
if(select)
{
int type=OrderType();
int ticket=OrderTicket();
if (Bid<ma && type==4)
OrderDelete(ticket);
if (Bid>ma && type==5)
OrderDelete(ticket);
}
Понимаю, что условия удаления ордеров, по ma понятно, а вот вместе как ?
Спасибо.
Теперь вроде правильно?
Нет не правильно. Стало еще хуже :)
Поймите, RefreshRates() обновляет значения предопределённых переменных Ask и Bid, Вы же используете значение когда-то запомненное в переменную Price.