Только что, Lexa000 сказал:Уважаемый Rigal, помогите отредактировать этот код для одного символа, а не для всех //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if(OrdersTotal() < 3) { if(Open[1]<Close[0]) { if(DistMarketAndPos(NULL,OP_BUY,Magic)>10) // Дистанция > 10 пунктов { OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-SL*Point,Bid+TP*Point,"Trend Long",Magic,0,Blue); } } } //---- return(0); } //+------------------------------------------------------------------+ //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 19.02.2008 | //| Описание : Возвращает расстояние в пунктах между рынком и ближайшей | //| позицей | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" или NULL - текущий символ) | //| op - торговая операция ( -1 - любая позиция) | //| mn - MagicNumber ( -1 - любой магик) | //+----------------------------------------------------------------------------+ int DistMarketAndPos(string sy="", int op=-1, int mn=-1) { double d, p; int i, k=OrdersTotal(), r=1000000; if (sy=="" || sy=="0") sy=Symbol(); p=MarketInfo(sy, MODE_POINT); if (p==0) if (StringFind(sy, "JPY")<0) p=0.0001; else p=0.01; for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if ((OrderSymbol()==sy) && (op<0 || OrderType()==op)) { if (mn<0 || OrderMagicNumber()==mn) { if (OrderType()==OP_BUY) { d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p; if (r>d) r=NormalizeDouble(d, 0); } if (OrderType()==OP_SELL) { d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p; if (r>d) r=NormalizeDouble(d, 0); } } } } } return(r); }
Простите, я не понимаю, чего вы хотите.
Сформулируйте внимательнее, пожалуйста.
