Fehler, Irrtümer, Fragen - Seite 88

 
gumgum:

Es ist schade, dass ich die Depot- und Gewinnfunktion nicht für mich habe.

gibt 1.#INF.

Servicedesk hat bereits geschrieben...

und die Null nach dem Punkt kann nicht wie folgt geschrieben werden
double pro=AccountInfoDouble(ACCOUNT_BALANCE)/10000.0;
 
sergey1294:
und man kann keine Null nach dem Punkt einfügen wie hier.

Egal wie man es schreibt, es heißt immer noch 1.#INF.

Es scheint keinen Unterschied zu machen, ob es 10. oder 10.0 ist.

 
gumgum:

Egal wie man es schreibt, es heißt immer noch 1.#INF.

Es scheint keinen Unterschied zu machen, ob 10. oder 10.0.

Ich habe den Ausdruck gerade überprüft.

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

Es gibt keine Fehlermeldung, es funktioniert einwandfrei.

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

Ich habe gerade den Ausdruck überprüft.

kein Fehler, alles funktioniert einwandfrei.

Natürlich ist es gut und es wird gut werden!

Ich verwende zwei Bibliotheken.... Ich werde nicht die ganze Situation beschreiben.

 
gumgum:

Natürlich ist es gut und es wird gut werden!

Ich habe zwei Bibliotheken in use.... Ich werde nicht die ganze Situation beschreiben.

Warum sollten Sie fragen, warum es einen Fehler gibt, es gibt keinen Fehler in dem Ausdruck, den Sie als Beispiel angegeben haben, der Fehler muss in etwas anderem liegen.
 
sergey1294:
Warum fragen Sie dann, warum es einen Fehler gibt, es gibt keinen Fehler in dem Ausdruck, den Sie als Beispiel angegeben haben, der Fehler muss in etwas anderem liegen.
Ich habe nicht danach gefragt.)
 
gumgum:
Ich habe nicht danach gefragt).

Was ist dann der Sinn Ihres Beitrags?

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

double pro=AccountInfoDouble(ACCOUNT_BALANCE)/10000.;

дает 1.#INF. 

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

Was ist dann der Sinn Ihres Beitrags?

Wo haben Sie die Frage gesehen? )))
 
gumgum:
Wo haben Sie die Frage gesehen? )))
Nun, wenn es keine Frage war, dann entschuldige ich mich dafür, dass ich versucht habe, Ihnen bei Ihrem Problem zu helfen.
 

Ich habe beschlossen, eine Strategie zu testen. Aber irgendwie verhielt sich der Expert Advisor in der Testversion seltsam.

Ich wollte es über einen längeren Zeitraum nutzen. Obwohl der Algorithmus fast scalper ist. ;)


Also beschloss ich, die Daten zu überprüfen, die für die Eingabe des Expert Advisors benötigt werden.

Ich habe einen unprätentiösen Expert Advisor gestartet

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;
  }

und erhielt ein seltsames Protokoll. Wer kann mir den Grund für das Überspringen von Datenzeiträumen nennen?

Und noch etwas - die Datei, die im Verzeichnis erstellt werden muss (xp2sp), wird nicht erkannt.

Bitte klären Sie mich auf, ich habe mich schon lange nicht mehr mit MT5 beschäftigt und bin völlig ratlos...

:(