Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У Вас цикл совсем не цикл. Вот эти две строчки не в цикле for:
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true) // теперь, когда в переменную i записался номер последнего ордера
{
if(OrderProfit<0 && OrderType==OP_BUY) // Проверяю, если Прибыль выбранного ордера меньше нуля и данный ордер я вляется ордером на покупку, то..
{
ticket=OrderSend.. OP_SELL.. и так далее..
}
}
А я эти две строчки специально вынес за пределы цикла, ведь когда порядковый номер последнего закрывшегося ордера записался в переменную i , то цикл ведь больше не нужен..
Зачем Вы перебираете все ордера в истории?
Сделайте перебор наоборот, от OrdersHistoryTotal к Нулю. i--
И при первом же найденном ордере прервать цикл.
Вот, как пример, нахождение направления последнего закрывшегося ордера:Вместо/перед return Вам нужно вставить проверку Профит больше или меньше нуля. Ну и дальше в зависимости от задачи которая поставлена.
Насчет того что перебор ордеров нужно делать наоборот от OrdersHistoryTotal к Нулю - я согласен. И теперь буду делать именно так. Спасибо!