Замени
if(TekOrd==0){ //Если нет BUY TekOrd=SelectOrder(Symbol(),OP_BUYLIMIT,Magic_u); if(TekOrd==0){на
if(TekOrd==0){ //Если нет BUY TekOrd=SelectOrder(Symbol(),OP_BUYLIMIT,Magic_u); if(TekOrd!=0){Поправь Принт, сбивает с толку.
да я уже и так и сяк и эдок
и функцию принтами пробивал то
то удалят сразу то вопще на отказ
может както по по другому написать
//Возвращает тикет найденного ордера или -1
Почему же Вы тогда сравниваете TekOrd с нулём?
int TekOrd;
if(OrdersTotal()>0){
TekOrd=SelectOrder(Symbol(),OP_BUY,Magic_u);
if(TekOrd==-1){ //Если нет BUY
TekOrd=SelectOrder(Symbol(),OP_BUYLIMIT,Magic_u);
if(TekOrd!=-1){ //Удалим если есть отложенный BUYLIMIT
if(!OrderDelete(TekOrd,Black)){Print("Неудалось удалить SELLSTOP ",TekOrd);}
}}
TekOrd=SelectOrder(Symbol(),OP_SELL,Magic_u);
if(TekOrd==-1){ //Если нет SELL
TekOrd=SelectOrder(Symbol(),OP_SELLLIMIT,Magic_u);
if(TekOrd!=-1){ //Удалим если есть отложенный BUYSTOP
if(!OrderDelete(TekOrd,Black)){Print("Неудалось удалить BUYSTOP ",TekOrd);}
}}}
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
парни помогите, пожалуйста
Корочи проблема такая во первый ставится ордер с немедленным исполнениям бай или селл и ставится две отложки при срабатывании профита или стопа надо отложки удалить написал вот такую конструкцию ничего не работает вот не пойму в чем тут ошибка
по идеи условия TekOrd==0 правильные, а не работает, не знаю почему
или может как то по-другому сделать мне надо просто удалить отложи при отсувтвии рыночного ордера
зарания благодарен за помощь