Ошибка номер 6 - страница 27

 
Вы имеете ввиду
"IsConnected - собираем статистику подключения терминала к серверу ;)"
или есть более свежая версия?
 
Вы имеете ввиду
"IsConnected - собираем статистику подключения терминала к серверу ;)"
или есть более свежая версия?

речь идёт об эксперте, представленном в этой ветке. чтобы не гонять Вас по ней я представлю свою собственную копию, с которой я работал.
//+------------------------------------------------------------------+
//|                                                    TestQuark.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net"

double dStopLoss;
int nHoursToHold;

datetime timePrev = 0;
int nBars;
int nDelaySeconds = 3;

int nSlip = 50;

double dLotSize = 0.1;

int nMagic = 0;
int nDigits;

string strTradeSemaphore = "TradeSemaphore";

//////////////////
int init()
{
	nBars = Bars;

	if(!IsTesting() && !GlobalVariableCheck(strTradeSemaphore)) 
		GlobalVariableSet(strTradeSemaphore, 0.0);
	
	dStopLoss = 110 * Point;
	nHoursToHold = 1;

	nDigits = MarketInfo( Symbol(), MODE_DIGITS );
	
	if(Symbol() == "EURUSD")
		nMagic = 1;
	else if(Symbol() == "EURJPY")
		nMagic = 2;
	else if(Symbol() == "USDCHF")
		nMagic = 3;
	else if(Symbol() == "GBPUSD")
		nMagic = 4;
	else if(Symbol() == "GBPJPY")
		nMagic = 5;
	else if(Symbol() == "GBPCHF")
		nMagic = 6;
	else if(Symbol() == "USDJPY")
		nMagic = 7;
	else if(Symbol() == "AUDUSD")
		nMagic = 8;
	else if(Symbol() == "EURGBP")
		nMagic = 9;
	else if(Symbol() == "USDCAD")
		nMagic = 10;
	else if(Symbol() == "EURCHF")
		nMagic = 11;
	else if(Symbol() == "EURAUD")
		nMagic = 12;
		
	return(0);	
}

// ------

int deinit()
{
	return(0);
}

// ------

int start()
{
	if(Bars < 5)
		return(0);
	
/*	// The previous bar just closed
	bool bIsBarEnd = false;
	if(timePrev != Time[0] + nMagic) 
		bIsBarEnd = true;
	timePrev = Time[0] + nMagic;
*/

	bool bIsBarEnd = false;
	if(nBars != Bars)
	{
		if(IsTesting() || (!IsTesting() && CurTime() > Time[0] + nMagic * nDelaySeconds))
		{
			bIsBarEnd = true;
			nBars = Bars;
		}
	}
	
	if(!bIsBarEnd)
		return(0);

	// ------
	
	if(!IsTesting())
	{
		while(!IsStopped())
		{
			if(GlobalVariableSetOnCondition(strTradeSemaphore,1.0,0.0))
				break;
		
			Sleep(1000);
		}
	}
	
	RefreshRates();
	
	for(int nCnt = OrdersTotal() - 1; nCnt >= 0; nCnt--)
	{
		OrderSelect(nCnt, SELECT_BY_POS, MODE_TRADES);

		if(OrderMagicNumber() == nMagic)
		{
			if(CurTime() - OrderOpenTime() > (nHoursToHold - 1) * 60 * 60)
			{
			   int type=OrderType();
			   int ticket=OrderTicket();
			   double lots=OrderLots();
			   for(int i=0; i<3; i++)
			     {
				     if(type == OP_BUY)
					     OrderClose(ticket, lots, Bid, nSlip, Aqua);
				     else if(type == OP_SELL)
					     OrderClose(ticket, lots, Ask, nSlip, OrangeRed);
					  int nError=GetLastError();
					  if(nError==0) break;
					  Sleep(1000);
                 RefreshRates();
				  }
			}
		}
	}

	int nSignal = GetSignal();
	
	if(nSignal == OP_BUY) 
		Buy();
	else if(nSignal == OP_SELL) 
		Sell();

	if(!IsTesting())
		GlobalVariableSet(strTradeSemaphore, 0.0);	
	
	return(0);
}
// ------

void Sell()
{
	if(AccountFreeMargin() < 500)
		return;

	dLotSize = GetLotSize();
   for(int i=0; i<3; i++)
     {
//	   double dNormalizer = MathPow(10, nDigits);
	     double dBid = Bid;//MathFloor(Bid * dNormalizer) / dNormalizer; //NormalizeDouble(Bid, nDigits);
	     double dStop = Bid + dStopLoss;//MathFloor((Bid + dStopLoss) * dNormalizer) / dNormalizer; //NormalizeDouble(Bid + dStopLoss, nDigits);

	     int nResult = OrderSend(Symbol(), OP_SELL, dLotSize, dBid, 
		                          nSlip, dStop, 0, "Friday", nMagic, 0, OrangeRed);

	     if(nResult == -1)
	     {
		    int nError = GetLastError();
		    Alert(Symbol() + ", sell: " + dBid + ", Stop: " + dStop + ", error: " + nError);
			 Sleep(1000);
      	 RefreshRates();
	     }
	     else break;
	  }
}

// ------

void Buy()
{
	if(AccountFreeMargin() < 500)
		return;

	dLotSize = GetLotSize();

   for(int i=0; i<3; i++)
     {
//	     double dNormalizer = MathPow(10, nDigits);
	     double dAsk = Ask;//MathFloor(Ask * dNormalizer) / dNormalizer; //NormalizeDouble(Bid, nDigits);
	     double dStop = Ask - dStopLoss;//MathFloor((Ask - dStopLoss) * dNormalizer) / dNormalizer; //NormalizeDouble(Bid + dStopLoss, nDigits);

	     int nResult = OrderSend(Symbol(), OP_BUY, dLotSize, dAsk, 
		                          nSlip, dStop, 0, "Friday", nMagic, 0, Aqua);

	     if(nResult == -1)
	     {
		    int nError = GetLastError();
		    Alert(Symbol() + ", buy: " + dAsk + 
			      ", Stop: " + dStop + ", error: " + nError);
			 Sleep(1000);
      	 RefreshRates();
	     }
	     else break;
	 }
}
// ------

double GetLotSize()
{
	double dLot = 0.1;
	
	return(dLot);
}

// ------

int GetSignal()
{
	int nSignal;
	if(MathMod(Hour(), 2) == 0)
		nSignal = OP_BUY;
	else
		nSignal = OP_SELL;
		
	return(nSignal);
}


//+------------------------------------------------------------------+
 
Еще один лог. Точнее, два. Один из журнала, второй (ниже первого) - из моей системы записи информации об ошибках, я эту систему приводил в постах в этой ветке.

Лог 1.
2005.10.11 20:19:48 Old tick GBPUSD60 1.7478/1.7482
2005.10.11 20:09:47 Old tick GBPJPY60 199.7100/199.7900
2005.10.11 20:05:51 '142605': order #2155774 buy 0.10 USDJPY at 114.3900 was modified -> sl: 113.6600 tp: 115.3900
2005.10.11 20:05:51 '142605': request in process
2005.10.11 20:05:51 '142605': request was accepted by server
2005.10.11 20:05:51 '142605': modify order #2155774 buy 0.10 USDJPY at 114.3900 sl: 113.4900 tp: 115.3900 -> sl: 113.6600 tp: 115.3900
2005.10.11 20:05:50 '142605': pending order #2155773 was deleted
2005.10.11 20:05:50 '142605': request in process
2005.10.11 20:05:50 '142605': request was accepted by server
2005.10.11 20:04:59 '142605': delete pending order #2155773 sell stop 0.10 USDJPY at 113.6900 sl: 114.5900 tp: 112.6900
2005.10.11 20:04:56 '142605': order is open : #2165270 buy stop 0.10 EURJPY at 137.6500 sl: 135.6500 tp: 138.6500
2005.10.11 20:04:55 '142605': request in process
2005.10.11 20:04:55 '142605': request was accepted by server
2005.10.11 20:04:55 '142605': pending order buy stop 0.10 EURJPY at 137.6500 sl: 135.6500 tp: 138.6500
2005.10.11 20:04:55 '142605': login (4.00, #281BB516)
2005.10.11 20:04:54 TradeContext: ping error
2005.10.11 20:04:14 '142605': pending order sell stop 0.10 EURJPY at 136.8800 sl: 138.8800 tp: 135.8800
2005.10.11 20:04:14 '142605': login (4.00, #281BB516)
2005.10.11 19:17:55 TradeContext: ping failed
2005.10.11 19:16:49 TradeContext: '142605' cannot login to: MetaQuotes-demo
2005.10.11 19:16:16 TradeContext: transaction sending error
2005.10.11 19:16:16 '142605': delete pending order #2155773 sell stop 0.10 USDJPY at 113.6900 sl: 114.5900 tp: 112.6900
2005.10.11 19:15:55 '142605': order #2130092 buy 0.10 EURUSD at 1.2140 sl: 1.1973 tp: 0.0000 closed at price 1.2011
2005.10.11 19:15:55 '142605': request in process
2005.10.11 19:15:55 '142605': request was accepted by server
2005.10.11 19:15:15 '142605': close order #2130092 buy 0.10 EURUSD at 1.2140 sl: 0.0000 tp: 0.0000 at price 1.2011
2005.10.11 19:15:15 '142605': login (4.00, #281BB516)
2005.10.11 19:15:05 TradeContext: ping failed
2005.10.11 19:15:05 TradeContext: ping error
2005.10.11 19:14:25 '142605': close order #2130092 buy 0.10 EURUSD at 1.2140 sl: 0.0000 tp: 0.0000 at price 1.2008
2005.10.11 19:14:25 '142605': login (4.00, #281BB516)
2005.10.11 19:14:14 TradeContext: ping failed
2005.10.11 19:14:14 TradeContext: ping error
2005.10.11 19:13:34 '142605': close order #2130092 buy 0.10 EURUSD at 1.2140 sl: 0.0000 tp: 0.0000 at price 1.2005
2005.10.11 19:13:34 '142605': login (4.00, #281BB516)
2005.10.11 19:13:23 TradeContext: ping failed
2005.10.11 19:13:23 TradeContext: ping error
2005.10.11 19:12:23 '142605': close order #2130092 buy 0.10 EURUSD at 1.2140 sl: 0.0000 tp: 0.0000 at price 1.2005
2005.10.11 19:12:23 '142605': login (4.00, #281BB516)
2005.10.11 19:12:13 TradeContext: ping failed
2005.10.11 19:12:12 TradeContext: ping error
2005.10.11 19:11:32 '142605': close order #2130092 buy 0.10 EURUSD at 1.2140 sl: 0.0000 tp: 0.0000 at price 1.2004
2005.10.11 19:11:32 '142605': login (4.00, #281BB516)
2005.10.11 19:11:22 TradeContext: ping failed
2005.10.11 19:11:22 TradeContext: ping error
2005.10.11 19:10:21 '142605': close order #2130092 buy 0.10 EURUSD at 1.2140 sl: 0.0000 tp: 0.0000 at price 1.2004
2005.10.11 19:10:21 '142605': login (4.00, #281BB516)
2005.10.11 19:10:10 TradeContext: ping failed
2005.10.11 19:10:10 TradeContext: ping error
2005.10.11 19:09:30 '142605': close order #2130092 buy 0.10 EURUSD at 1.2140 sl: 0.0000 tp: 0.0000 at price 1.2006
2005.10.11 19:09:30 '142605': login (4.00, #281BB516)
2005.10.11 19:09:19 TradeContext: ping failed
2005.10.11 19:09:19 TradeContext: ping error
2005.10.11 19:08:19 '142605': close order #2130092 buy 0.10 EURUSD at 1.2140 sl: 0.0000 tp: 0.0000 at price 1.2003
2005.10.11 19:08:19 '142605': login (4.00, #281BB516)
2005.10.11 19:08:06 TradeContext: ping failed
2005.10.11 19:08:05 TradeContext: '142605' cannot login to: MetaQuotes-demo
2005.10.11 19:07:23 TradeContext: ping failed
2005.10.11 19:07:23 TradeContext: ping error
2005.10.11 19:06:22 '142605': close order #2130092 buy 0.10 EURUSD at 1.2140 sl: 0.0000 tp: 0.0000 at price 1.1999
2005.10.11 19:06:22 '142605': login (4.00, #281BB516)
2005.10.11 19:06:19 TradeContext: ping failed
2005.10.11 19:06:19 TradeContext: ping error
2005.10.11 19:05:19 '142605': pending order buy stop 0.10 EURJPY at 137.7600 sl: 135.7600 tp: 138.7600
2005.10.11 19:05:19 '142605': login (4.00, #281BB516)
2005.10.11 19:05:18 TradeContext: ping error
2005.10.11 19:04:18 '142605': pending order sell stop 0.10 EURJPY at 136.8800 sl: 138.8800 tp: 135.8800
2005.10.11 19:04:17 '142605': login (4.00, #281BB516)
2005.10.11 18:13:59 '142605': order #2144293 buy 0.10 USDJPY at 113.7400 was modified -> sl: 113.3800 tp: 0.0000
2005.10.11 18:13:59 '142605': request in process
2005.10.11 18:13:59 '142605': request was accepted by server
2005.10.11 18:13:23 '142605': modify order #2144293 buy 0.10 USDJPY at 113.7400 sl: 113.2900 tp: 0.0000 -> sl: 113.3800 tp: 0.0000
2005.10.11 18:10:00 '142605': order #2135657 buy 0.10 USDJPY at 113.3500 was modified -> sl: 113.5000 tp: 0.0000
2005.10.11 18:10:00 '142605': request in process
2005.10.11 18:10:00 '142605': request was accepted by server
2005.10.11 18:09:12 '142605': modify order #2135657 buy 0.10 USDJPY at 113.3500 sl: 113.4000 tp: 0.0000 -> sl: 113.5000 tp: 0.0000
2005.10.11 18:04:18 '142605': order #2139090 sell 0.10 EURUSD at 1.2099 was modified -> sl: 1.2100 tp: 1.1799
2005.10.11 18:04:18 '142605': request in process
2005.10.11 18:04:18 '142605': request was accepted by server
2005.10.11 18:04:18 '142605': modify order #2139090 sell 0.10 EURUSD at 1.2099 sl: 1.2116 tp: 1.1799 -> sl: 1.2100 tp: 1.1799
2005.10.11 18:01:57 '142605': order #2137049 sell 0.10 EURUSD at 1.2167 was modified -> sl: 1.2229 tp: 0.0000
2005.10.11 18:01:57 '142605': request in process
2005.10.11 18:01:57 '142605': request was accepted by server
2005.10.11 18:01:57 '142605': modify order #2137049 sell 0.10 EURUSD at 1.2167 sl: 1.2249 tp: 0.0000 -> sl: 1.2229 tp: 0.0000
2005.10.11 18:01:57 '142605': login (4.00, #281BB516)
2005.10.11 17:04:18 '142605': order #2139090 sell 0.10 EURUSD at 1.2099 was modified -> sl: 1.2116 tp: 1.1799
2005.10.11 17:04:18 '142605': request in process
2005.10.11 17:04:18 '142605': request was accepted by server
2005.10.11 17:04:17 '142605': modify order #2139090 sell 0.10 EURUSD at 1.2099 sl: 1.2125 tp: 1.1799 -> sl: 1.2116 tp: 1.1799
2005.10.11 17:01:50 '142605': order #2137049 sell 0.10 EURUSD at 1.2167 was modified -> sl: 1.2249 tp: 0.0000
2005.10.11 17:01:50 '142605': request in process
2005.10.11 17:01:50 '142605': request was accepted by server
2005.10.11 17:01:50 '142605': modify order #2137049 sell 0.10 EURUSD at 1.2167 sl: 1.2255 tp: 0.0000 -> sl: 1.2249 tp: 0.0000
2005.10.11 17:01:08 '142605': order #1986223 sell 0.10 AUDUSD at 0.7629 was modified -> sl: 0.7628 tp: 0.7512
2005.10.11 17:01:08 '142605': request in process
2005.10.11 17:01:08 '142605': request was accepted by server
2005.10.11 17:01:08 '142605': modify order #1986223 sell 0.10 AUDUSD at 0.7629 sl: 0.7729 tp: 0.7512 -> sl: 0.7628 tp: 0.7512
2005.10.11 17:01:08 '142605': login (4.00, #281BB516)
2005.10.11 16:06:22 '142605': order #2140245 buy 0.10 AUDUSD at 0.7589 sl: 0.7509 tp: 0.0000 closed at price 0.7552
2005.10.11 16:06:22 '142605': request in process
2005.10.11 16:06:22 '142605': request was accepted by server
2005.10.11 16:06:22 '142605': close order #2140245 buy 0.10 AUDUSD at 0.7589 sl: 0.0000 tp: 0.0000 at price 0.7552
2005.10.11 16:06:21 '142605': login (4.00, #281BB516)
2005.10.11 14:33:41 '142605': login (4.00, #281BB516)
2005.10.11 14:29:12 '142605': connect failed [6]
2005.10.11 14:00:20 '142605': order #2158310 buy 0.10 EURUSD at 1.2037 sl: 1.1957 tp: 0.0000 closed at price 1.2033
2005.10.11 14:00:20 '142605': request in process
2005.10.11 14:00:20 '142605': request was accepted by server
2005.10.11 14:00:20 '142605': close order #2158310 buy 0.10 EURUSD at 1.2037 sl: 0.0000 tp: 0.0000 at price 1.2033
2005.10.11 14:00:20 '142605': login (4.00, #281BB516)
2005.10.11 13:10:39 '142605': order is open : #2161539 sell 0.10 EURAUD at 1.5888 sl: 1.5963 tp: 1.5813
2005.10.11 13:10:39 '142605': request in process
2005.10.11 13:10:39 '142605': request was accepted by server
2005.10.11 13:10:39 '142605': instant order sell 0.10 EURAUD at 1.5888 sl: 1.5963 tp: 1.5813
2005.10.11 13:10:39 '142605': login (4.00, #281BB516)
2005.10.11 13:04:29 '142605': pending order #2160764 was deleted
2005.10.11 13:04:29 '142605': request in process
2005.10.11 13:04:29 '142605': request was accepted by server
2005.10.11 13:04:29 '142605': delete pending order #2160764 buy stop 0.10 GBPJPY at 200.6800 sl: 199.1800 tp: 201.6800
2005.10.11 13:04:29 '142605': login (4.00, #281BB516)
2005.10.11 12:11:21 '142605': order #2156460 sell 0.10 USDJPY at 114.0700 was modified -> sl: 115.9700 tp: 0.0000
2005.10.11 12:11:21 '142605': request in process
2005.10.11 12:11:21 '142605': request was accepted by server
2005.10.11 12:11:20 '142605': modify order #2156460 sell 0.10 USDJPY at 114.0700 sl: 116.0700 tp: 0.0000 -> sl: 115.9700 tp: 0.0000
2005.10.11 12:08:06 '142605': order #2145173 sell 0.10 GBPJPY at 200.4800 was modified -> sl: 200.4300 tp: 0.0000
2005.10.11 12:08:06 '142605': request in process
2005.10.11 12:08:06 '142605': request was accepted by server
2005.10.11 12:08:06 '142605': modify order #2145173 sell 0.10 GBPJPY at 200.4800 sl: 200.5400 tp: 0.0000 -> sl: 200.4300 tp: 0.0000
2005.10.11 12:07:35 '142605': order #2149217 sell 0.10 EURJPY at 137.8900 was modified -> sl: 137.7400 tp: 0.0000
2005.10.11 12:07:35 '142605': request in process
2005.10.11 12:07:35 '142605': request was accepted by server
2005.10.11 12:07:35 '142605': modify order #2149217 sell 0.10 EURJPY at 137.8900 sl: 137.8400 tp: 0.0000 -> sl: 137.7400 tp: 0.0000
2005.10.11 12:04:28 '142605': order is open : #2160764 buy stop 0.10 GBPJPY at 200.6800 sl: 199.1800 tp: 201.6800
2005.10.11 12:04:28 '142605': request in process
2005.10.11 12:04:28 '142605': request was accepted by server
2005.10.11 12:04:27 '142605': pending order buy stop 0.10 GBPJPY at 200.6800 sl: 199.1800 tp: 201.6800
2005.10.11 12:04:27 '142605': order is open : #2160763 sell stop 0.10 GBPJPY at 199.1500 sl: 200.6500 tp: 198.1500
2005.10.11 12:04:27 '142605': request in process
2005.10.11 12:04:27 '142605': request was accepted by server
2005.10.11 12:04:27 '142605': pending order sell stop 0.10 GBPJPY at 199.1500 sl: 200.6500 tp: 198.1500
2005.10.11 12:04:27 '142605': login (4.00, #281BB516)
2005.10.11 11:10:09 '142605': order is open : #2160333 sell 0.10 USDJPY at 114.1400 sl: 114.7300 tp: 112.8700
2005.10.11 11:10:09 '142605': request in process
2005.10.11 11:10:09 '142605': request was accepted by server
2005.10.11 11:10:09 '142605': instant order sell 0.10 USDJPY at 114.1400 sl: 114.7290 tp: 112.8690
2005.10.11 11:08:08 '142605': order #2145173 sell 0.10 GBPJPY at 200.4800 was modified -> sl: 200.5400 tp: 0.0000
2005.10.11 11:08:08 '142605': request in process
2005.10.11 11:08:08 '142605': request was accepted by server
2005.10.11 11:08:08 '142605': modify order #2145173 sell 0.10 GBPJPY at 200.4800 sl: 200.6500 tp: 0.0000 -> sl: 200.5400 tp: 0.0000
2005.10.11 11:04:27 '142605': order #2139100 sell 0.10 GBPJPY at 200.3700 was modified -> sl: 201.5200 tp: 199.3700
2005.10.11 11:04:27 '142605': request in process
2005.10.11 11:04:27 '142605': request was accepted by server
2005.10.11 11:04:27 '142605': modify order #2139100 sell 0.10 GBPJPY at 200.3700 sl: 201.6600 tp: 199.3700 -> sl: 201.5200 tp: 199.3700
2005.10.11 11:04:27 '142605': login (4.00, #281BB516)
2005.10.11 10:08:13 '142605': order #2145173 sell 0.10 GBPJPY at 200.4800 was modified -> sl: 200.6500 tp: 0.0000
2005.10.11 10:08:12 '142605': request in process
2005.10.11 10:08:12 '142605': request was accepted by server
2005.10.11 10:08:12 '142605': modify order #2145173 sell 0.10 GBPJPY at 200.4800 sl: 200.8500 tp: 0.0000 -> sl: 200.6500 tp: 0.0000
2005.10.11 10:07:35 '142605': order #2149217 sell 0.10 EURJPY at 137.8900 was modified -> sl: 137.8400 tp: 0.0000
2005.10.11 10:07:35 '142605': request in process
2005.10.11 10:07:35 '142605': request was accepted by server
2005.10.11 10:07:35 '142605': modify order #2149217 sell 0.10 EURJPY at 137.8900 sl: 137.9000 tp: 0.0000 -> sl: 137.8400 tp: 0.0000
2005.10.11 10:05:23 '142605': order #2144692 sell 0.10 EURAUD at 1.5968 was modified -> sl: 1.6070 tp: 1.5568
2005.10.11 10:05:23 '142605': request in process
2005.10.11 10:05:23 '142605': request was accepted by server
2005.10.11 10:05:23 '142605': modify order #2144692 sell 0.10 EURAUD at 1.5968 sl: 1.6084 tp: 1.5568 -> sl: 1.6070 tp: 1.5568
2005.10.11 10:04:27 '142605': order #2139100 sell 0.10 GBPJPY at 200.3700 was modified -> sl: 201.6600 tp: 199.3700
2005.10.11 10:04:27 '142605': request in process
2005.10.11 10:04:27 '142605': request was accepted by server
2005.10.11 10:04:27 '142605': modify order #2139100 sell 0.10 GBPJPY at 200.3700 sl: 201.8700 tp: 199.3700 -> sl: 201.6600 tp: 199.3700
2005.10.11 10:04:27 '142605': login (4.00, #281BB516)
2005.10.11 09:08:05 '142605': order #2145173 sell 0.10 GBPJPY at 200.4800 was modified -> sl: 200.8500 tp: 0.0000
2005.10.11 09:08:05 '142605': request in process
2005.10.11 09:08:05 '142605': request was accepted by server
2005.10.11 09:08:05 '142605': modify order #2145173 sell 0.10 GBPJPY at 200.4800 sl: 200.9300 tp: 0.0000 -> sl: 200.8500 tp: 0.0000
2005.10.11 09:08:05 '142605': login (4.00, #281BB516)
2005.10.11 06:06:03 '142605': order #1893465 sell 0.10 GBPJPY at 199.9900 was modified -> sl: 202.1100 tp: 197.7300
2005.10.11 06:06:03 '142605': request in process
2005.10.11 06:06:03 '142605': request was accepted by server
2005.10.11 06:06:02 '142605': modify order #1893465 sell 0.10 GBPJPY at 199.9900 sl: 202.2500 tp: 197.7300 -> sl: 202.1100 tp: 197.7300
2005.10.11 06:05:48 '142605': order #2130122 sell 0.10 USDCAD at 1.1758 was modified -> sl: 1.1941 tp: 1.1658
2005.10.11 06:05:48 '142605': request in process
2005.10.11 06:05:48 '142605': request was accepted by server
2005.10.11 06:05:48 '142605': modify order #2130122 sell 0.10 USDCAD at 1.1758 sl: 1.1948 tp: 1.1658 -> sl: 1.1941 tp: 1.1658
2005.10.11 06:03:56 '142605': order #2137062 sell 0.10 EURAUD at 1.5985 was modified -> sl: 1.6116 tp: 0.0000
2005.10.11 06:03:56 '142605': request in process
2005.10.11 06:03:56 '142605': request was accepted by server
2005.10.11 06:03:56 '142605': modify order #2137062 sell 0.10 EURAUD at 1.5985 sl: 1.6125 tp: 0.0000 -> sl: 1.6116 tp: 0.0000
2005.10.11 06:00:03 '142605': order is open : #2158310 buy 0.10 EURUSD at 1.2037 sl: 1.1957 tp: 0.0000
2005.10.11 06:00:03 '142605': request in process
2005.10.11 06:00:03 '142605': request was accepted by server
2005.10.11 06:00:02 '142605': instant order buy 0.10 EURUSD at 1.2037 sl: 1.1957 tp: 0.0000
2005.10.11 06:00:02 '142605': login (4.00, #281BB516)
2005.10.11 05:07:48 '142605': order #2149217 sell 0.10 EURJPY at 137.8900 was modified -> sl: 137.9000 tp: 0.0000
2005.10.11 05:07:48 '142605': request in process
2005.10.11 05:07:48 '142605': request was accepted by server
2005.10.11 05:07:48 '142605': modify order #2149217 sell 0.10 EURJPY at 137.8900 sl: 138.1700 tp: 0.0000 -> sl: 137.9000 tp: 0.0000
2005.10.11 05:05:22 '142605': order #2144692 sell 0.10 EURAUD at 1.5968 was modified -> sl: 1.6084 tp: 1.5568
2005.10.11 05:05:22 '142605': request in process
2005.10.11 05:05:22 '142605': request was accepted by server
2005.10.11 05:05:22 '142605': modify order #2144692 sell 0.10 EURAUD at 1.5968 sl: 1.6097 tp: 1.5568 -> sl: 1.6084 tp: 1.5568
2005.10.11 05:03:52 '142605': order #2139090 sell 0.10 EURUSD at 1.2099 was modified -> sl: 1.2125 tp: 1.1799
2005.10.11 05:03:52 '142605': request in process
2005.10.11 05:03:52 '142605': request was accepted by server
2005.10.11 05:03:52 '142605': modify order #2139090 sell 0.10 EURUSD at 1.2099 sl: 1.2151 tp: 1.1799 -> sl: 1.2125 tp: 1.1799
2005.10.11 05:01:55 '142605': order #2137049 sell 0.10 EURUSD at 1.2167 was modified -> sl: 1.2255 tp: 0.0000
2005.10.11 05:01:55 '142605': request in process
2005.10.11 05:01:55 '142605': request was accepted by server
2005.10.11 05:01:54 '142605': modify order #2137049 sell 0.10 EURUSD at 1.2167 sl: 1.2286 tp: 0.0000 -> sl: 1.2255 tp: 0.0000
2005.10.11 05:01:54 '142605': login (4.00, #281BB516)
2005.10.11 05:00:21 TradeContext: ping failed
2005.10.11 05:00:21 '142605': order #2156417 sell 0.10 EURUSD at 1.2064 sl: 1.2114 tp: 0.0000 closed at price 1.2032
2005.10.11 05:00:21 '142605': request in process
2005.10.11 05:00:21 '142605': request was accepted by server
2005.10.11 05:00:07 '142605': close order #2156417 sell 0.10 EURUSD at 1.2064 sl: 0.0000 tp: 0.0000 at price 1.2032
2005.10.11 05:00:07 '142605': login (4.00, #281BB516)
2005.10.11 04:07:47 '142605': order #2149217 sell 0.10 EURJPY at 137.8900 was modified -> sl: 138.1700 tp: 0.0000
2005.10.11 04:07:47 '142605': request in process
2005.10.11 04:07:47 '142605': request was accepted by server
2005.10.11 04:07:47 '142605': modify order #2149217 sell 0.10 EURJPY at 137.8900 sl: 138.2800 tp: 0.0000 -> sl: 138.1700 tp: 0.0000
2005.10.11 04:07:47 '142605': login (4.00, #281BB516)
2005.10.11 01:11:25 '142605': order is open : #2156460 sell 0.10 USDJPY at 114.0700 sl: 116.0700 tp: 0.0000
2005.10.11 01:11:25 '142605': request in process
2005.10.11 01:11:25 '142605': request was accepted by server
2005.10.11 01:11:25 '142605': instant order sell 0.10 USDJPY at 114.0700 sl: 116.0700 tp: 0.0000
2005.10.11 01:11:25 '142605': login (4.00, #281BB516)
2005.10.11 01:00:45 '142605': order is open : #2156417 sell 0.10 EURUSD at 1.2064 sl: 1.2114 tp: 0.0000
2005.10.11 01:00:45 '142605': request in process
2005.10.11 01:00:45 '142605': request was accepted by server
2005.10.11 01:00:45 '142605': instant order sell 0.10 EURUSD at 1.2064 sl: 1.2114 tp: 0.0000
2005.10.11 01:00:44 '142605': login (4.00, #281BB516)
2005.10.10 23:14:38 Custom indicator _Zigzag_2_Ind USDCAD,H1: loaded successfully
2005.10.10 23:14:38 Custom indicator _Zigzag_2_Ind USDCAD,H1: loaded successfully
2005.10.10 23:13:21 '142605': order #2144293 buy 0.10 USDJPY at 113.7400 was modified -> sl: 113.2900 tp: 0.0000
2005.10.10 23:13:21 '142605': request in process
2005.10.10 23:13:21 '142605': request was accepted by server
2005.10.10 23:13:19 '142605': modify order #2144293 buy 0.10 USDJPY at 113.7400 sl: 113.0200 tp: 0.0000 -> sl: 113.2900 tp: 0.0000
2005.10.10 23:13:16 Custom indicator _Forex_Nn_Ind EURUSD,H1: loaded successfully
2005.10.10 23:12:53 Custom indicator _Zigzag_2_Ind EURAUD,H1: loaded successfully
2005.10.10 23:12:42 Custom indicator _Zigzag_2_Ind USDJPY,H1: loaded successfully
2005.10.10 23:12:06 Custom indicator _Zigzag_2_Ind GBPUSD,H1: loaded successfully
2005.10.10 23:11:56 Custom indicator _Zigzag_2_Ind EURUSD,H1: loaded successfully
2005.10.10 23:11:23 Custom indicator _Noc_Ind USDJPY,H1: loaded successfully
2005.10.10 23:11:13 Custom indicator _Noc_Ind GBPUSD,H1: loaded successfully
2005.10.10 23:11:01 Custom indicator _Noc_Ind GBPCHF,H1: loaded successfully
2005.10.10 23:10:43 Custom indicator _Noc_Ind USDCHF,H1: loaded successfully
2005.10.10 23:10:32 Custom indicator _Noc_Ind EURGBP,H1: loaded successfully
2005.10.10 23:10:27 Custom indicator _Noc_Ind EURUSD,H1: loaded successfully
2005.10.10 23:09:02 '142605': order #2135657 buy 0.10 USDJPY at 113.3500 was modified -> sl: 113.4000 tp: 0.0000
2005.10.10 23:09:02 '142605': request in process
2005.10.10 23:09:02 '142605': request was accepted by server
2005.10.10 23:09:02 '142605': modify order #2135657 buy 0.10 USDJPY at 113.3500 sl: 113.0900 tp: 0.0000 -> sl: 113.4000 tp: 0.0000
2005.10.10 23:08:27 Custom indicator _Zigzag_2_Ind USDCHF,H1: loaded successfully
2005.10.10 23:08:26 Custom indicator _Zigzag_2_Ind EURUSD,H1: loaded successfully
2005.10.10 23:07:38 Custom indicator _Zigzag_2_Ind USDCAD,H1: loaded successfully

Лог 2.
Attempting to close long position, ticket: 2130092
11.10.2005 17:6:22
Order with this ticket still present, trying again
11.10.2005 17:7:37
Order with this ticket still present, trying again
11.10.2005 17:8:13
Order with this ticket still present, trying again
11.10.2005 17:9:12
Order with this ticket still present, trying again
11.10.2005 17:10:23
Order with this ticket still present, trying again
11.10.2005 17:11:31
Order with this ticket still present, trying again
11.10.2005 17:12:12
Order with this ticket still present, trying again
11.10.2005 17:13:11
Order with this ticket still present, trying again
11.10.2005 17:14:10
Order with this ticket still present, trying again
11.10.2005 17:15:5
No more orders with this ticket No

Также возникала ошибка номер 2 при попытке удалить отложенный ордер.
 
я повторяю ещё раз. ошибка номер 6 показывает, что Вы не смогли подсоединиться к серверу. я ещё раз повторяю, что котировки поступают по совершенно отдельному подключению в режиме пампинга. и присутствие (живучесть) этого соединения никак не влияет на установку нового, торгового, соединения. сервер запросто может отказать в новом соединении при больших нагрузках.
кстати, каким числом помечен "новый" 183 билд? должен быть от 7 октября.


У нас, таким образом, есть два варианта. Первый - мы делаем эксперт, который упрямо закрывает позицию, пока она не закроется. Второе - этим занимается система. Я считаю, что второй подход - правильный.

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

Поясню последний пункт. Допустим, я запрашиваю открытие позиции. Какие таймауты?! Пока цена в пределах указанного мной слипа, терминал должен пытаться открыть позицию.
Про закрытие позиции я вообще молчу. Если есть указание "закрыть", то надо закрывать, хоть час это займет.
 
Ну и что же теперь делать?
На "тройке" таких проблем не было.
Сейчас же через раз!!!!
Где решение?
Советниками торговать нельзя!!!

для начала не делать поспешных выводов.
на тройке были гораздо более другие проблемы - не более одной торговой операции за один запуск советника, асинхронность торговых операций, недоступность истории торговли (дальше продолжать?). сейчас мы вынуждены гораздо более тонко управлять торговыми потоками.
если Вы прочитаете данную ветку с самого начала, то Вы можете увидеть несколько решений - пользуйтесь семафорами, проверяйте возможность торговли, делайте несколько попыток торговой операции при неудаче.
советниками торговать можно!!!


Еще раз повторяю предложение: жить дружно, и сообща сделать так, чтобы советники работали без ошибок.
 
Предложение разработчикам. Есть простая и жутко удобная штука, облегчающая поиск проблем в логах - символы >>> <<<. Сравните:

2005.10.11 20:19:48 Old tick GBPUSD60 1.7478/1.7482
2005.10.11 20:09:47 Old tick GBPJPY60 199.7100/199.7900
2005.10.11 20:05:51 '142605': order #2155774 buy 0.10 USDJPY at 114.3900 was modified -> sl: 113.6600 tp: 115.3900
2005.10.11 20:05:51 '142605': request in process
2005.10.11 20:05:51 '142605': request was accepted by server
2005.10.11 20:05:51 '142605': modify order #2155774 buy 0.10 USDJPY at 114.3900 sl: 113.4900 tp: 115.3900 -> sl: 113.6600 tp: 115.3900

и

2005.10.11 20:19:48 >>>Old tick<<< GBPUSD60 1.7478/1.7482
2005.10.11 20:09:47 >>>Old tick<<< GBPJPY60 199.7100/199.7900
2005.10.11 20:05:51 '142605': order #2155774 buy 0.10 USDJPY at 114.3900 was modified -> sl: 113.6600 tp: 115.3900
2005.10.11 20:05:51 '142605': request in process
2005.10.11 20:05:51 '142605': request was accepted by server
2005.10.11 20:05:51 '142605': modify order #2155774 buy 0.10 USDJPY at 114.3900 sl: 113.4900 tp: 115.3900 -> sl: 113.6600 tp: 115.3900

Проблемные строчки становятся виднее на глаз. Может, сделать в МТ?
 
Начиная с 12 ночи вс\пн, работали эксперты на MQ-demo и Alpari-demo. За все время ошибки 128 не было ни там, ни там, на Alpari была одна ошибка 6 (ping error), и на обоих - несколько олд тиков. Ордера отрабатывались безошибочно. Билд 1.8.3 от 05.10. Может, дело в чем-то еще? Например, в особенностях соединения через 443-й порт у разных интернет-провайдеров? У МТ3 ведь были ошибки, но этих в таком количестве - не было.
 

Советниками торговать нельзя!!!

для начала не делать поспешных выводов.
на тройке были гораздо более другие проблемы - не более одной торговой операции за один запуск советника, асинхронность торговых операций, недоступность истории торговли (дальше продолжать?). сейчас мы вынуждены гораздо более тонко управлять торговыми потоками.
если Вы прочитаете данную ветку с самого начала, то Вы можете увидеть несколько решений - пользуйтесь семафорами, проверяйте возможность торговли, делайте несколько попыток торговой операции при неудаче.
советниками торговать можно!!!


Советниками торговать нельзя.
И этот вывод не поспешный. Вы его формируете уже больше месяца.
Предлагать пользователям несколько решений, чтобы "более тонко управлять торговыми потоками", которыми торговый движок не может управлять сам, просто нелепо. Тем более, решения эти сомнительные.

1.
пользуйтесь семафорами

Семафоры на глобальных переменных в текущей реализации невозможно проинициализировать.

2.
проверяйте возможность торговли

Нет такой функциональности. Есть некая комбинированная функциональность, которая работоспособна не всегда.

3.
делайте несколько попыток торговой операции при неудаче

Несколько - это сколько?

4.
мы подозреваем интересные настройки сервера.

Августовский билд торговал, торгует и, судя по-всему, будет продолжать торговать с этими же настройками.

5.
по сравнению с августовским билдом в экспертно-торговом модуле ничего существенного не менялось.

Тогда, наверное, просто волшебство. А скорее всего, та же проблема, что и с глобальными переменными - race conditions в коммуникационном модуле.

6.
у нас эта проблема проявляется крайне редко. но случается. как только начинаешь отлаживаться по шагам она тут же исчезает. поэтому мы изучаем все присланные нам логи

Значит, Ваши условия тестирования отличаются от условий работы терминала у большей части пользователей. Кому нужно такое тестирование? Про "отлаживаться по шагам", вообще, что называется, "не смешите мои тапочки".

Поражает факт, что причина до сих пор не найдена, и вместо этого ведется борьба со следствиями на основе логов юзеров, появляются какие-то таймауты, воркараунды типа семафоров и пр.
Время появления проблемы очень хорошо детерминировано - всего-то несколько дней. Неужели в CVS (или что Вы там используете (если, конечно, используете вообще)) логах нельзя найти то, что могло так негативно повлиять на торговые потоки?

К сожалению, происходящее выглядит не очень профессионально. :(
 
Quark, имей совесть, не выкладывай такие логи на форум =)))))

На счёт реальности закрытия/открытия - у меня во всех ф-циях стоят проверки и ошибки появляются, но это ЛОЖНЫЕ ошибки. Я проверял по логам и по истории ордеров, все позиции были закрыты. Просто ордер не успевает переместится в историю. Я сделал задержку 1сек перед проверкой - но этого мало... Когда я спрашивал - ничего не ответили.
 
Хотелось бы отметить несколько моментов:

1. В своих советника я всю жизнь и всегда использую механизм поворного выставления ордеров в случае неудачи - это как пить дать. Пока есть МОЙ торговый сигнал к любой торговой операции советник будет повторять до успешного исполнения!!! Но тут другая ситуация, зачастую советник по часу-два-три не может закрыть/открыть ордер без перезапуска МТ. Иногда и торговый сигнал к закрытию уже исчезает, а позиция всё болтается... Конечно для реала это ни в какие ворота не полезет. Можно конечно набрасать скриптик, который делает рестарт МТ, при опред кол-ве неудач. У меня есть несколько подобных для МТ3, но по личному опыту это НАДЕЖНОСТИ не приносит. Так как бывает, то при запуске МТ подвис, то еще что-то и т.д.

2. Прозвучала мысль, что возможно что-то зависит от провайдера... Я не особо в это верю, но отмечу, что я испытывал через 2-х разных провайдеров один и тот же терминал с одним и тем же советником. У одного прова ошибки идут реже, у другого чаще. Причем пинги на торговый сервер и там и там пролетают мгновенно и всё такое. Оба Инет-канала очень хорошие и надежные.
Причина обращения: