Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
надо
и это тоже лишнее
Запомнили бар на котором произошло закрытие, то есть запомнили текущий бар) всё на нём не открываем, пока новый бар не откроется. То что вы скинули, так там сперва нужно историю перерыть. У меня точно такое же условие по сути, но быстрее работает)
1. Это не я скинул. Это Сергей.
2. Ок. Запомнили при инициализации. А после закрытия ордера в любом случае опять нужно "запомнить бар". Я же говорил что надёжнее перед открытием нового ордера проверить.
1. Это не я скинул. Это Сергей.
2. Ок. Запомнили при инициализации. А после закрытия ордера в любом случае опять нужно "запомнить бар". Я же говорил что надёжнее перед открытием нового ордера проверить.
Ну так мой вариант рабочий ведь?) Вы просто написали неверно. Оба варианта рабочие.
надо
и это тоже лишнее
https://www.mql5.com/ru/forum/231460#comment_6769488
Ну так мой вариант вполне рабочий ведь?) Вы просто написали неверно. Оба варианта рабочие.
Вы про проверку в инициализации ничего не говорили в первом сообщении. Без неё "запоминание" чревато. Я об этом.
Vladimir Mametov:
Ваша правда - цикл неправильный , поторопился... то что выложил поправил.
А можете сказать почему это лишнее? Что тут не так?
Проверка ведь идет на текущем баре
Time[0] - это время открытия текущего бара, если сделка закрылась раньше то false
если после, то true
это уже будет время следующего бара
Всем привет! Столкнулся с такой проблемой:
Открываю сделку без стоплосса и тэйкпрофита:
Если цена поднялась на 100 пунктов, хочу закрыть этот ордер
Вылезает ошибка: OrderClose error 131
Если вместо OrderOpenPrice() укажу 0.1 или OrderLots() (как в примерах), то ошибка: OrderClose error 138
В чем проблема?
Всем привет! Столкнулся с такой проблемой:
Открываю сделку без стоплосса и тэйкпрофита:
Если цена поднялась на 100 пунктов, хочу закрыть этот ордер
Вылезает ошибка: OrderClose error 131
Если вместо OrderOpenPrice() укажу 0.1 или OrderLots() (как в примерах), то ошибка: OrderClose error 138
В чем проблема?
OrderClose
Осуществляет закрытие ордера.
bool OrderClose(
int ticket, // номер ордера
double lots, // количество лотов
double price, // цена закрытия
int slippage, // максимальное проскальзывание
color arrow_color // цвет
);
Параметры
ticket [in] Уникальный порядковый номер ордера.
lots [in] Количество лотов для закрытия.
price [in] Цена закрытия.
slippage [in] Значение максимального проскальзывания в пунктах.
arrow_color [in] Цвет стрелки закрытия на графике. Если параметр отсутствует, или его значение равно CLR_NONE, то стрелка на графике не отображается.
Возвращаемое значение
Возвращает true при успешном завершении функции или false в случае ошибки. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().