Ошибки, баги, вопросы - страница 88

 
gumgum:

Жадь конечно что нет функции депо и прибыли просто у меня

дает 1.#INF. 

Сервисдеск уже написал... 

 

а нолик после точки не судьба написать вот так
double pro=AccountInfoDouble(ACCOUNT_BALANCE)/10000.0;
 
sergey1294:
а нолик после точки не судьба написать вот так

Да хоть как пиши все равно 1.#INF.

Вроде как разницы нет 10. или 10.0  

 
gumgum:

Да хоть как пиши все равно 1.#INF.

Вроде как разницы нет 10. или 10.0  

только что проверил выражение 

double pro=AccountInfoDouble(ACCOUNT_BALANCE)/10000.; 
или 
double pro=AccountInfoDouble(ACCOUNT_BALANCE)/10000.0;

ошибку не выдает, все работает отлично

2010.08.07 22:27:13     проверка (EURUSD,M5)    pro = 0.5929100000000001
 
sergey1294:

только что проверил выражение 

ошибку не выдает, все работает отлично

Конечно все нормально и будет все нормально!

У меня используются две библиотеки.... Я не буду описывать всю ситуацию.

 
gumgum:

Конечно все нормально и будет все нормально!

У меня используются две библиотеки.... Я не буду описывать всю ситуацию.

 а зачем тогда спрашивать, почему ошибка, в том выражении что вы привели для примера ни какой ошибки нет, ошибка значит у вас в чем то другом.
 
sergey1294:
 а зачем тогда спрашивать, почему ошибка, в том выражении что вы привели для примера ни какой ошибки нет, ошибка значит у вас в чем то другом.
Я и не спрашивал.)
 
gumgum:
Я и не спрашивал.)

а как тогда понимать ваш пост

Жадь конечно что нет функции депо и прибыли просто у меня

double pro=AccountInfoDouble(ACCOUNT_BALANCE)/10000.;

дает 1.#INF. 

Сервисдеск уже написал... 
 
sergey1294:

а как тогда понимать ваш пост

А где Вы увидели вопрос?(вот сейчас вопрос) )))
 
gumgum:
А где Вы увидели вопрос?(вот сейчас вопрос) )))
ну если это был не вопрос, тогда извиняйте, что попытался помочь в решении вашей проблемы.
 

Решил ка я проверить одну стратегию. Но как-то странно начал вести себя эксперт в тестере.

Задумывался на длительные периоды. Хотя алгоритм почти скальперский. ;)


Вот и решил проверить, а какие ему данные приходят на вход?

Запустил незатейливого эксперта -

input bool diskret=false;  // работать по открытию бара?

input bool File=true;
MqlTradeRequest mReq;
MqlTradeResult mRez;
int handle1,handle2;
double iBuffer1[],iBu1[];
double iBuffer2[],iBu2[];
double vol[22],OTS;
MqlDateTime newT,oldT;
datetime newTT,oldTT;

string FName;

int hF;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--------------Set default vaules for all new order requests
   mReq.action=TRADE_ACTION_DEAL;
   mReq.magic=777;
   mReq.symbol=Symbol();                 // Trade symbol
   mReq.deviation=3;                     // Maximal possible deviation from the requested price
   mReq.type_filling=ORDER_FILLING_AON;  // Order execution type
   mReq.type_time=ORDER_TIME_GTC;        // Order execution time
   mReq.comment="MAMASKHA_"+IntegerToString(PeriodSeconds()/60,2);
//----------------------- Set Volume pi
    Print ("----- Start init ---");
   
   oldTT=TimeCurrent()+51;TimeToStruct(oldTT,oldT);
   oldTT-=oldT.hour; oldTT-=oldT.min;
   printf("%02d.%02d.%4d %2d:%2d   %3d",oldT.day,oldT.mon,
          oldT.year,oldT.hour,oldT.min,
          SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL));
   StringConcatenate(FName,mReq.comment,"_",oldT.year,"x",oldT.mon,"x",
         oldT.day,"_",oldT.hour,"_",oldT.min,".csv");
   if (File) {hF=FileOpen(FName, FILE_WRITE|FILE_CSV|FILE_COMMON);
              if (hF<-1) Print ("Ошибка открытия файла ",FName," ",
                            GetLastError());
              if (File) FileWrite(hF,oldT.day,oldT.mon,
                   oldT.year,oldT.hour,oldT.min,"I"
                );
               Print ("Start on ",FName);   
              }
   Print ("Start ",mReq.comment);                              
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   if (File) FileClose(hF);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {   

   bool poz=true;

   int i,per=PeriodSeconds();

   MqlTick tick;
   //------------------
   if(!SymbolInfoTick(Symbol(),tick))
     {
      Print("Failed to get Symbol info!",per);
      return;
     }
   
   newTT=tick.time;
   if(newTT<=oldTT+per+1)
       {if (diskret)return;}
   else
   {
     
      MqlRates rates[];
      
     int copied=CopyRates(Symbol(),0,0,1,rates);
     if(copied<=0)
        Print("Ошибка копирования ценовых данных ",GetLastError());
        else oldTT=rates[0].time;
          
      
      TimeToStruct(oldTT,oldT);
      printf("%02d.%02d.%4d %2d:%2d",oldT.day,oldT.mon,
                  oldT.year,oldT.hour,oldT.min);
      TimeToStruct(newTT,newT);
      printf(" New %02d.%02d.%4d %2d:%2d",newT.day,newT.mon,
                  newT.year,newT.hour,newT.min);            
      if (File) FileWrite(hF,oldT.day,oldT.mon,
                   oldT.year,oldT.hour,oldT.min,"I",
                tick.ask,tick.bid,tick.last,tick.volume);
    }
   

   return;
  }

и получил странный лог. Кто подскажет причину пропусков периодов данных?

И еще одно - файл который должен создаватся (хp2sp) в директориях не обнаруживается.

Просветите, а то я в МT5 давно не заглядывал и потерялся теперь совсем...

:(

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