- Любительские советники на доработку
- [Архив!] Напишу советник БЕСПЛАТНО
- нужна помощь спецов
А что за советник? Если сам писал, напиши здесь хотябы функцию для закрытия ордеров (ну или часть советника, которая отвечает за закритыя ордеров).
А что за советник? Если сам писал, напиши здесь хотябы функцию для закрытия ордеров (ну или часть советника, которая отвечает за закритыя ордеров).
Функция самая простая. Вызывается из советника пока не вернёт true:
bool Close(int ticket)
{
bool isClosed = false;
int try = 0;
isClosed = OrderClose(ticket, OrderLots(), OrderClosePrice(), 3, 0);
while(!isClosed) {
Sleep(3000);
try++;
isClosed = OrderClose(ticket, OrderLots(), OrderClosePrice(), 3, 0);
if(try > 3) break;
}
if(!isClosed) Print("Order ", ticket, " was NOT closed due to error:", GetLastError());
return (isClosed);
}
Знакомая тема. Есть сильное подозрение, что данная функция пытается до победного конца закрыть отложенный ордер.
Совсем не в тему. Мой советник даже понятия не имеет об отложенных ордерах. Все закрываемые ордера были до этого открыты советником.
Ордер, который советник пытается закрыть, существует то бесконечно долгое время, пока советник его закрывает и выдает код ошибки 0.
Ещё раз подчеркну, что после перезагрузки терминала, ордер будет закрыт с первой попытки.
Ещё раз подчеркну, что после перезагрузки терминала, ордер будет закрыт с первой попытки.
Попробуйте вставить анализ на предмет занятости торгового потока. IsTradeContextBusy
Кстати, только что к своему стыду обратил внимание - а где выбор необходимого ордера через OrderSelect(). Насколько корректно в данной функции использовать OrderClosePrice() без вызова OrderSelect(). Где гарантия, что использование OrderClosePrice() корректно?
А я вообще не понимаю, как можно закрывать ордер по цене закрытия OrderClosePrice(), которая будет иметь вменяемое значение только после закрытия позиции. До этого в ней будет просто 0. Здесь уж никакой слиппадж не спасет.
Да уж...
По трейдерской традиции Buy-позиции закрывают по цене Bid,
Sell-позиции по Ask, а тут инновационный метод: по OrderClosePrtice() Круто!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования