проблемы с использованием советника на нескольких открытых программах - страница 2

 
goldtrader:

Вы думаете от того что болдом пишете понятнее становится?

1. Счета в одном или разных ДЦ?

2. В обоих (если два) ДЦ разрешена автоторговля?

3. Советник один и тот же?

3. Условия работы советника/советников идентичны?

4. Оба терминалы в онлайне? Котировки проходят?

5. Что в логах работающего и неработающего советников?

1. Счета в одном ДЦ

2.вот это не знаю,уточню

3.один и тот же.

4.условия идентичны

5.оба терминала в онлайне.котировки проходят.

6.тоже узнаю.

 
Оказывается счета в разных ДЦ.Видимо один из них запретил автотрейдинг.
 

Не мог бы кто-нибудь помочь.Советник работает, но стал выдавать ошибки 130, 1, 2.Всвязи с этим он иногда не срабатывает(( Изменил дистанцию от рынка(увеличил), но все равно выдает ошибку 1. с чем это может быть связано?может быть при большой волатильности как и ошибка 130?

 

Вот такой советник

//+------------------------------------------------------------------+
//| _StopLossMove.mq4 |
//| "СКРИПТЫ ДЛЯ ЛЕНИВОГО" |
//| Скрипт перемещает StopLoss на Distance от рынка |
//| Bookkeeper, 2006, yuzefovich@gmail.com |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
#property show_inputs
//+------------------------------------------------------------------+
extern int Distance=15; // Расстояние от рынка |
extern bool UpDoun=true; //для только "подтаскивания" к рынку =false |
//для и "подтаскивания" к рынку и "отскока" от рынка =true |
//+------------------------------------------------------------------+
void start()
{
double NewPrice;
int i,Total,Dist;
int Dgts=MarketInfo(Symbol(),MODE_DIGITS);
bool GoGo;
//+------------------------------- УЗНАТЬ ОГРАНИЧЕНИЕ СВОЕГО ДЦ -----+
if(Distance<10) Dist=10;
else
Dist=Distance;
//+------------------------------------------------------------------+
Total=OrdersTotal();
if(Total>0)
{
for(i=Total-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true)
{
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)
{
NewPrice=Ask+Dist*Point;
if(UpDoun==true) GoGo=true;
else
{
if(OrderStopLoss()>NewPrice) GoGo=true;
else GoGo=false;
}
if(GoGo==true) if(OrderModify(OrderTicket(),
OrderOpenPrice(),
NormalizeDouble(NewPrice,Dgts),
OrderTakeProfit(),
OrderExpiration(),
CLR_NONE)!=TRUE)
Print("LastError = ", GetLastError());
}
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY)
{
NewPrice=Bid-Dist*Point;
if(UpDoun==true) GoGo=true;
else
{
if(OrderStopLoss()<NewPrice) GoGo=true;
else GoGo=false;
}
if(GoGo==true) if(OrderModify(OrderTicket(),
OrderOpenPrice(),
NormalizeDouble(NewPrice,Dgts),
OrderTakeProfit(),
OrderExpiration(),
CLR_NONE)!=TRUE)
Print("LastError = ", GetLastError());
}
}
}
}
}
//+------------------------------------------------------------------+

Причина обращения: