- Тест советника с 02.02.2009 по 27.02.2009- Начальный депозит -1000.00 Чистая прибыль 6158.68
- [Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2.
- Выставление заявки от значения RSI
Информация о счете, Торговые функции
Ордера закрываются по одиночне.
Николай, на документации нет грифа "СЕКРЕТНО" - можно спокойно изучать...
Информация о счете, Торговые функции
Ордера закрываются по одиночне.
Николай, на документации нет грифа "СЕКРЕТНО" - можно спокойно изучать...
Можно. Для примера глянь сюда http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=select&id=4
Лично вставлял в свой код и закрывал этими алгоритмами сразу по неск. десятков позиций одновременно ("с визгом, с писком, с ....")
if (c<c2*0.8) {OrderSelect(i, SELECT_BY_POS); }
В советнике прописал такую строку, хотел с ее помощью добится закрытия всех действующих ордеров, но что-то похоже не срабатывает, как прописать чтобы все ордеры закрыл?
Уважаемый! Дак ф-я OrderSelect вовсе не закрывает и никогда не закрывала ордера!
Ордера кроет функция
bool OrderClose( int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
Закрытие позиции. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Параметры:
ticket - Уникальный порядковый номер ордера.
lots - Количество лотов для закрытия.
price - Цена закрытия.
slippage - Значение максимального проскальзывания в пунктах.
Color - Цвет стрелки закрытия на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелка на графике не отображается.
Например:
for (int v=0; v<OrdersTotal(); v++) { if (OrderSelect(v, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==Symbol()) && OrderMagicNumber()==MAGIC) { //----------------------------------------------------- if (OrderType() == OP_BUY) { if (Stochast_1>75 && Stochast_0<75) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); return(0); // выходим } } //-------------------------------------------------------- if (OrderType() == OP_SELL) { ... .... ....
Вы словно не читаете все предыдущие ответы на ваши же вопросы!
for (int v=0; v<OrdersTotal(); v++) { перебираем ордера if (OrderSelect(v, SELECT_BY_POS, MODE_TRADES)) { //выбираем из них открытые позиции if (OrderSymbol()==Symbol()) && OrderMagicNumber()==MAGIC) { //если инструмент сооветствует графку и магик совпадает if (OrderType() == OP_BUY) { //если это позиция бай if (Stochast_1>75 && Stochast_0<75) {если индикатор стохастик //пересекает уровень равнвый=75 сверху вниз OrderClose(OrderTicket(),OrderLots(),Ask,3,Green);//закрываем эту позицию // return(0); // выходим } } Закрытие позиций
Может быть. Но автору ветки (как я понял) нужно закрыть сразу все открытые позиции по одному сигналу.
Так что ему, - всё равно "с чьего конца" перебирать...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования