Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Создаем два массива. Один по номеру тикета, второй по цене. Потом сортируем массив по цене, одновременно перемещая номера тикетов (не нарушая связи). Тогда с одного конца массива будет самая маленькая цена, с другого самая большая цена. Осталось изменить один их крайних ордеров.
Благодарю.
Практически не работал ещё с массивами.
Пусть, например у меня 10 ордеров БАЙСТОП. Задаю цены их установки :
Далее, я задаю массив цен установки, при этом ордер 1 - самый близкий к тек . цене
int МассивЦен = { price1,price2,price3,price4,price5,price6,price7,price8,price9,price10 }
А как создать массив по тикетам, мне не ясно. Где взять тикеты ордеров?
Что примерно подобное
Код не проверялВидимо функция работает так:
MiniMaxOrderPrice(string lSymbol="", int lMagic=-1, int lOP=-1, int reversi=0)
Параметры:
lSymbol= - наименование инструмента ("" - любой символ, NULL - текущий символ)
lOP=-1- операция (-1 - любой ордер, в нашем конкретном случае -OP_BUYSTOP )
lMagic=-1 - MagicNumber (-1 - любой магик)
//---------------------------------------------------------------------------------------------
А вот что означает "int reversi=0", - мне не совсем понятно !
Скоппелировалась функция нормально.Может быть:
0 - самая малая цена
1 - самая большая ?
//-------------------------------------------------------------------
И ещё, -а почему именно стоплосс мы взяли за цену?
И почему мы не можем изменить цену открытия?
OP_BUYSTOP - Ведь это отложенные ордера (а вовсе не позиции), и как раз конечный итог мероприятия и заключается, чтобы изменить именно цену открытия (срабатывания) конкретно выбранного ордера.
Видимо функция работает так:
MiniMaxOrderPrice(string lSymbol="", int lMagic=-1, int lOP=-1, int reversi=0)
Параметры:
lSymbol= - наименование инструмента ("" - любой символ, NULL - текущий символ)
lOP=-1- операция (-1 - любой ордер, в нашем конкретном случае -OP_BUYSTOP )
lMagic=-1 - MagicNumber (-1 - любой магик)
//---------------------------------------------------------------------------------------------
А вот что означает "int reversi=0", - мне не совсем понятно !
Скоппелировалась функция нормально.Может быть:
0 - самая малая цена
1 - самая большая ?
//-------------------------------------------------------------------
И ещё, -а почему именно стоплосс мы взяли за цену?
И почему мы не можем изменить цену открытия?
OP_BUYSTOP - Ведь это отложенные ордера (а вовсе не позиции), и как раз конечный итог мероприятия и заключается, чтобы изменить именно цену открытия (срабатывания) конкретно выбранного ордера.
Так возьми любую нужную цену. Для отложенников цену открытия. Я же только как пример сделал.
А по моему, проще задать двумерный массив и отсортировать по первому измерению. Туда, соответственно, загнать то что нужно. В вашем случае - цену.
А по моему, проще задать двумерный массив и отсортировать по первому измерению. Туда, соответственно, загнать то что нужно. В вашем случае - цену.
Так возьми любую нужную цену. Для отложенников цену открытия. Я же только как пример сделал.
ВОТ у меня, предположим, выставлено 10 ордеров байстоп. Выставлены они не по порядку, а вразнобой по времени.
Мне нужно удалить ордер, который в текущий момент находится дальше всех остальных от текущей цены.
Вот так правильно будет найти этот ордер ? -
//******************************
p.s.
Вставил функцию в коммент.
Comment( MiniMaxOrderPrice(NULL, -1, OP_BUYSTOP, 1 ));
Но фукция постоянно возвращает "-1". Хотя ордеров на графике от 5 до 10 бывает.
где-то ошибка...
ВОТ у меня, предположим, выставлено 10 ордеров байстоп. Выставлены они не по порядку, а вразнобой по времени.
Мне нужно удалить ордер, который в текущий момент находится дальше всех остальных от текущей цены.
Вот так правильно будет найти этот ордер ? -
//******************************
p.s.
Вставил функцию в коммент.
Comment( MiniMaxOrderPrice(NULL, -1, OP_BUYSTOP, 1 ));
Но фукция постоянно возвращает "-1". Хотя ордеров на графике от 5 до 10 бывает.
где-то ошибка...
Comment( MiniMaxOrderPrice("", -1, OP_BUYSTOP, 1 )); // любой символ
Comment( MiniMaxOrderPrice(Symbol(), -1, OP_BUYSTOP, 1 )); // текущий символ
Ок! Благодарю, Vinin !
Вроде бы заработала функция! Сейчас буду разбираться дальше!