Почему советник не работает(может кто поможет)

 

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


2008.04.14 08:38:29 Old tick USDJPY1440 100.87000/100.90000

2008.04.14 08:38:29 Old tick USDJPY60 100.87000/100.90000.

И такие сообщения появляются при любом советнике на любой валютной паре и на любом ТФ.

В чем тут дело?

 
serj:

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


2008.04.14 08:38:29 Old tick USDJPY1440 100.87000/100.90000

2008.04.14 08:38:29 Old tick USDJPY60 100.87000/100.90000.

И такие сообщения появляются при любом советнике на любой валютной паре и на любом ТФ.

В чем тут дело?

А на демо работает? И ещё вот: https://www.mql4.com/ru/search/old%20tick

 
Figar0:
serj:

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


2008.04.14 08:38:29 Old tick USDJPY1440 100.87000/100.90000

2008.04.14 08:38:29 Old tick USDJPY60 100.87000/100.90000.

И такие сообщения появляются при любом советнике на любой валютной паре и на любом ТФ.

В чем тут дело?

А на демо работает? И ещё вот: https://www.mql4.com/ru/search/old%20tick

На демо тоже не работает, но на тесте работает?????????

 

А Вы эксперт смотрели? Может он открывает одну сделку в месяц, или 2 в неделю, а Вы вешаете его на чарт и хотите чтобы пошел увеличивать депо?


Других ошибок нет?

 
Figar0:

А Вы эксперт смотрели? Может он открывает одну сделку в месяц, или 2 в неделю, а Вы вешаете его на чарт и хотите чтобы пошел увеличивать депо?


Других ошибок нет?

На тесте советник делает 5 сделок в неделю и 18 сделок в месяц. О других ошибках в журнале событий не сообщается

 
Ну если рожица в правом углу улыбается, вы ждали рзультатов работы хотя бы пару-тройку дней, то остается смотреть код эксперта, может там ограничения и он только для тестера? Кто автор? Выложив код, ускорите решение Вашей проблемы.
 
Случаем Ask и Bid местами не поменяли.... Проблема явно в коде советника...
 
serj:

На тесте советник делает 5 сделок в неделю и 18 сделок в месяц. О других ошибках в журнале событий не сообщается

Провокационный вопрос: сколько недель в месяце?

А если серьёзно, то добавьте RefreshRates( )  непосредственно перед OrderSend() и посмотрите еще нет ли там флажка от IsTesting(), это все что можно посоветовать, не видя кода

 
kharko:
Случаем Ask и Bid местами не поменяли.... Проблема явно в коде советника...

Bid и Ask и в тестере бы не торговало, хотя кто знает... Пока не понятен уровень предметных знаний топикстартера, и нет кода можно только гадать. Авось угадаем)

 
Figar0:
Ну если рожица в правом углу улыбается, вы ждали рзультатов работы хотя бы пару-тройку дней, то остается смотреть код эксперта, может там ограничения и он только для тестера? Кто автор? Выложив код, ускорите решение Вашей проблемы.
//+------------------------------------------------------------------+
//|                                                         OzFx.mq4 |
//|                                                     FORTRADER.RU |
//|                                          http://www.FORTRADER.RU |
//+------------------------------------------------------------------+
#property copyright "FORTRADER.RU"
#property link      "http://www.FORTRADER.RU"
 
 
double AC,Stoh,ACPrev;
extern int stoploss=100;
extern int point=50;
extern int sto=5;
 
int stopb,bar,stops,modok;
int comment;
 string com;
int start()
  {
  
  AC=iAC(NULL, 0, 1);
  ACPrev=iAC(NULL, 0, 2);
  Stoh=iStochastic(NULL,0,sto,3,3,MODE_SMA,0,MODE_MAIN,1);
    if(OrdersTotal()<1){stopb=0;  stops=0;}
  
  
  if(Stoh>50 && AC>ACPrev && AC>0 && ACPrev<0 && stopb==0 && bar!=Bars)
  {
 
  comment=comment+1;
   com="aa"+comment;
 
  OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-stoploss*Point,Ask+point*Point,com,0,0,White);
  OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-stoploss*Point,Ask+(point*2)*Point,"",0,0,White);
  OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-stoploss*Point,Ask+(point*3)*Point,"",0,0,White);
  OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-stoploss*Point,Ask+(point*4)*Point,"",0,0,White);
  OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-stoploss*Point,0,"s",0,0,Green);
  stopb=1;
  bar=Bars;
  }
  
  
  if( Stoh<50 && AC<ACPrev && AC<0 && ACPrev>0 && stops==0 && bar!=Bars )
  {  comment=comment+1;
   com="aa"+comment;
  OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+stoploss*Point,Bid-point*Point,com,0,0,Green);
  OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+stoploss*Point,Bid-(point*2)*Point,"",0,45645,Green);
  OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+stoploss*Point,Bid-(point*3)*Point,"",0,45645,Green);
  OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+stoploss*Point,Bid-(point*4)*Point,"",0,456456,Green);
  OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+stoploss*Point,0,"s",0,56456,Green);
  stops=1;
  bar=Bars;
  }
  
 modok=0;
       int i,accTotal=OrdersHistoryTotal();
       for(i=0;i<accTotal;i++)
       { 
         OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
         string ca=com+"[tp]";
         if(OrderProfit()>10 && OrderComment()==ca){modok=1;}
         
       }
          
  
   for(int cnt=0;cnt<OrdersTotal();cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
        {
         if(OrderType()==OP_BUY && modok==1)  
          {
          OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
         // OrderClose(OrderTicket(),OrderLots(),Bid,10,Violet); 
          // return(0); 
          }
          if(OrderType()==OP_SELL && modok==1)  
          {
          OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
         // OrderClose(OrderTicket(),OrderLots(),Bid,10,Violet); 
          // return(0); 
          }
          if(OrderType()==OP_BUY && Stoh<50 && AC<ACPrev && AC<0 && ACPrev>0 )  
          {
          OrderClose(OrderTicket(),OrderLots(),Bid,10,Violet); 
          }
           if(OrderType()==OP_SELL  && Stoh>50 && AC>ACPrev && AC>0 && ACPrev<0 )   
          {
           OrderClose(OrderTicket(),OrderLots(),Ask,10,Violet); 
           stopb=0;
          }
         }
       }
      
   return(0);
  }

Я поменял следующее:


extern int stoploss=300;
extern int point=25;
extern int sto=46;


а также:


OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-stoploss*Point,Ask+point*Point,com,0,0,White);
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-stoploss*Point,Ask+(point*2)*Point,"",0,0,White);
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-stoploss*Point,0,"s",0,0,Green);


и


OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+stoploss*Point,Bid-point*Point,com,0,0,Green);
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+stoploss*Point,Bid-(point*2)*Point,"",0,45645,Green);
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+stoploss*Point,0,"s",0,56456,Green);


т.е. вместо пяти ордеров открываются три.

Больше ничего не менял.

 
Kharin:
serj:

На тесте советник делает 5 сделок в неделю и 18 сделок в месяц. О других ошибках в журнале событий не сообщается

Провокационный вопрос: сколько недель в месяце?

А если серьёзно, то добавьте RefreshRates( ) непосредственно перед OrderSend() и посмотрите еще нет ли там флажка от IsTesting(), это все что можно посоветовать, не видя кода

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

и когда доходит очередь, то на торговом сервере уже другие отличные от заявленных котировки...

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