Пробуем сначала открыть ордер, а потом OrderModify() на нужный TP.
Если не помогает - код в студию...
extern int Ords = 100; // баев и сэллов (считаем отдельно) разрешаем по стока штук иметь extern int TP = 60; // тейк ордеров extern int Cena = 30; // расстояние от цены extern double Lots = 0.1; // лот extern double PROSADKA = 0.5; // когда эквити равно или менее вот такой части от баланса int mag, M; double buy_OPEN, sell_OPEN; int start() { int buy = 0,sell = 0; int buystop = 0,sellstop = 0; int buys = 0, sells = 0; int Total = 0, Total.b =0, Total.s =0; for(int i = 0; i < OrdersTotal(); i ++) //проверка ордеров { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() != mag) continue; Total ++; if(OrderType() == OP_BUYSTOP) buystop = OrderTicket(); Total.b++; if(OrderType() == OP_BUYSTOP || OrderType() == OP_BUY) buys ++; } int LET = 0; if (AccountEquity()/AccountBalance() < PROSADKA) LET = 1; // если просадки до фига - запрет на выставление новых отложек // выставление отложек : if(LET == 0 && TimeCurrent() && M != iTime(Symbol(),1,0)) // раз в минуту { if ( buystop < 1 && buys < Ords) buy_OPEN = NormalizeDouble(Ask+Cena*Point,Digits); buystop = OrderSend(Symbol(),OP_BUYSTOP,Lots,buy_OPEN,3,0,buy_OPEN+TP*Point,NULL,mag,0,Blue); if ( buystop == 1 && buys < Ords && Total.b < 2) buy_OPEN = NormalizeDouble(Ask+(Cena*2)*Point,Digits); OrderSend(Symbol(),OP_BUYSTOP,Lots,buy_OPEN,3,0,buy_OPEN+TP*Point,NULL,111,0,Blue); M = iTime(Symbol(),1,0); } return(0); }ну он открывает больше чем два
if (OrdersTotal()<3) {выставляем отложки и модифицируем ордера на нужный TP}
ktest0:
мне надо открыть две отложки с разными магиками, одна отложка будет тралиться а вторая стоять на местеб тогда это надо делать по магику так что ли?
Да и еще код то мой работает все равно не правильно он открывает больше двух отложек как этого избежать???
XmaksasX:
мне надо открыть две отложки с разными магиками, одна отложка будет тралиться а вторая стоять на местеб тогда это надо делать по магику так что ли?
мне надо открыть две отложки с разными магиками, одна отложка будет тралиться а вторая стоять на местеб тогда это надо делать по магику так что ли?
Можно и так.
Ребят ну подскажите
т.е. выставить у меня их получается ну не два их выставляется гораздо больше(((
XmaksasX:
Ребят ну подскажите
Так в чем проблема? Правильно. Можно и по магику выбрать, и по комментарию. Фишка в том, что при срабатывания отложки ордер становится рыночным. ( тип OP_BY или OP_SELL). Делайте перебор по рыночным ордерам с выбором ордеров по определенному Вами заданному магику и тральте на здоровье как душа пожелает.
Ребят ну подскажите
Да нет Вы не поняли мне надо было выставить сразу две отложки в разном месте с разным ТР вот как сделал
extern int Ords = 100; // баев и сэллов (считаем отдельно) разрешаем по стока штук иметь extern int TP = 60; // тейк ордеров extern int Cena = 10; // расстояние от цены extern double Lots = 0.1; // лот extern double PROSADKA = 0.5; // когда эквити равно или менее вот такой части от баланса int mag, M; double buy_OPEN, sell_OPEN; int start() { int buy = 0,sell = 0; int buystop = 0,sellstop = 0; int buys = 0, sells = 0; int Total = 0, Total.b =1, Total.s =1; for(int i = 0; i < OrdersTotal(); i ++) //проверка ордеров { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() != mag) continue; Total ++; if(OrderType() == OP_BUYSTOP) { buystop = OrderTicket(); Total.b++; } if(OrderType() == OP_BUYSTOP || OrderType() == OP_BUY) buys ++; int LET = 0; if (AccountEquity()/AccountBalance() < PROSADKA) LET = 1; // если просадки до фига - запрет на выставление новых отложек // выставление отложек : if(LET == 0 && TimeCurrent() && M != iTime(Symbol(),1,0)) // раз в минуту { if ( buystop < 1 && buys < Ords) { buy_OPEN = NormalizeDouble(Ask+Cena*Point,Digits); buystop = OrderSend(Symbol(),OP_BUYSTOP,Lots,buy_OPEN,3,0,buy_OPEN+TP*Point,NULL,mag,0,Blue); } if ( Total.b < 2) { buy_OPEN = NormalizeDouble(Ask+(Cena*2)*Point,Digits); OrderSend(Symbol(),OP_BUYSTOP,Lots,buy_OPEN,3,0,buy_OPEN+TP*Point,NULL,111,0,Blue); } M = iTime(Symbol(),1,0); } return(0); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день уважаемые форумчане снова к вам и снова с глупыми вопросами). Проблема в том что у меня не получается открыть два отложенных ордера ну с разным TP помогите пожалуйста