Fragen von Anfängern in MQL5. Fachleute kommen nicht vorbei. - Seite 3

 

Vielleicht ist es an der Zeit, die Moderatoren um Hilfe zu bitten und sie zu bitten, die ersten beiden Beiträge aus dem Thread zu löschen (ich hoffe, Herr Yedelkin ist nicht beleidigt, danke an ihn für die Beantwortung meiner Fragen) Ich hoffe, Herr Yedelkin ist nicht beleidigt, diesen Beitrag und benennen Sie dieses Thema zu"Wünsche der Enthusiasten auf die Verbesserung der MT5" oder so etwas wie, dass nach eigenem Ermessen... Wenn Sie nicht wissen, was Sie mit diesem Thema anfangen sollen, wird es mir nichts nützen.

Vielleicht kommt ja etwas Gutes dabei heraus? Vielleicht werden sie es hören).

 

beschloss, die hst-Datei zu lesen, aberFileReadString gab Hieroglyphen aus.

Wie kann ich das bekämpfen?

Ich schreibe die Kopfzeile µl4 von 5 "EURUSD " "(C)opyright 2003, MetaQuotes Software Corp. Ich schaue es mir an.

Ich verstehe alles außer den Zeilen, warum ist das so?

Absender 5

#define AMOUNT_OHLCV 5 
static double OLHCV[AMOUNT_OHLCV];

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void  OnStart()  {

  int Tmp[15];
  for(int t=0;t<ArraySize(Tmp);t++)
      Tmp[t]=0;
  string Symbol_Create  = "EURDDD";     
  string FileName = Symbol_Create + "1.hst";
  int handle = FileOpen(FileName, FILE_BIN|FILE_WRITE);
   
  string s="";
  s=s+"FileWriteInteger "+FileWriteInteger(handle, 400,4)+"\n";            
  s=s+"FileWriteString "+FileWriteString(handle, "(C)opyright 2003, MetaQuotes Software Corp.",32)+"\n"; 
  s=s+"FileWriteString "+FileWriteString(handle, Symbol_Create, 6)+"\n"; //Symbol      
  s=s+"FileWriteInteger "+FileWriteInteger(handle, 1,4)+"\n";   //Period        
  s=s+"FileWriteInteger "+FileWriteInteger(handle, 4,4)+"\n";  //Digits           
  s=s+"FileWriteArray "+FileWriteArray(handle, Tmp, 0, 15)+"\n";           
  Comment(s);


   MqlRates EURUSD[];
   int bars=CopyRates("EURUSD",1,0,Bars("EURUSD",1),EURUSD);
   ArraySetAsSeries(EURUSD,true);
   
   for(int i=bars-1;i>=0;i--){
        OLHCV[0] = EURUSD[i].open;
        OLHCV[1] = EURUSD[i].low;
        OLHCV[2] = EURUSD[i].high;
        OLHCV[3] = EURUSD[i].close;
        OLHCV[4] = EURUSD[i].real_volume;
        
        double Tmph = OLHCV[ArrayMaximum(OLHCV,0, AMOUNT_OHLCV - 1)];
        OLHCV[1] = OLHCV[ArrayMinimum(OLHCV, 0, AMOUNT_OHLCV - 1)];
        OLHCV[2] = Tmph;
        FileWriteInteger(handle,EURUSD[i].time,4);  
        FileWriteArray(handle, OLHCV, 0, AMOUNT_OHLCV);
    }
  FileFlush(handle);
  FileClose(handle);
return;
}

Empfänger 4

int start(){
  int Tmp[15];
  for(int t=0;t<ArraySize(Tmp);t++)
      Tmp[t]=0;
  string FileName = "EURDDD1.hst",s="";
  int handle = FileOpenHistory(FileName, FILE_BIN|FILE_WRITE|FILE_READ);

  s= s+FileReadInteger(handle,4)+"\n";            
  s= s+FileReadString(handle,64)+"\n"; 
  s= s+FileReadString(handle,12)+"\n";     
  s= s+FileReadInteger(handle,4)+"\n";           
  s= s+FileReadInteger(handle,4)+"\n";             
  s= s+FileReadArray(handle, Tmp, 0, 15)+"\n";  

  for(int i=20/*(FileSize(handle)-148)/44*/;i>=0;i--){
         s= s+TimeToStr(FileReadInteger(handle,4))+"\n";             
         s= s+FileReadDouble(handle,8)+"\n";             
         s= s+FileReadDouble(handle,8)+"\n";             
         s= s+FileReadDouble(handle,8)+"\n";             
         s= s+FileReadDouble(handle,8)+"\n";             
         s= s+FileReadDouble(handle,8)+"\n";            
         s= s+"-----------------------------------------"+"\n";
  }
  Comment(s);
  return;
}
 
costy_:

und FileReadString haben die Hieroglyphen aufgegeben.

Und es sind wirklich Hieroglyphen... Die Folgen des Outsourcing oder ein Osterei zum Gedenken an Kim Jong-il)
 
Figar0:
Und es ist wirklich in Hieroglyphen geschrieben... Folgen der Auslagerung oder Osterei zum Gedenken an Kim Jong-il)
OUTROHLIFE UND JUNG SIM KIN :(
 

Liebe MT5-Experten, im MT5-Terminal habe ich festgestellt, dass die Anzahl der Balken (hauptsächlich auf den Minuten) in den gleichen Zeitintervallen manchmal unterschiedlich ist.

Ich habe verstanden, dass, wenn es während der Balkenbildung keine Preisänderung gab, der Balken überhaupt nicht gezeichnet wird, d. h. er wird übersprungen.

Ich bin schockiert. Ich möchte es überprüfen.

Stimmt das oder nicht?

 
Edic:

Liebe MT5-Experten, im MT5-Terminal habe ich festgestellt, dass die Anzahl der Balken (hauptsächlich auf den Minuten) in den gleichen Zeitintervallen manchmal unterschiedlich ist.

Ich habe verstanden, dass, wenn es während der Balkenbildung keine Preisänderung gab, der Balken überhaupt nicht gezeichnet wird, d. h. er wird übersprungen.

Ich bin schockiert. Ich möchte es überprüfen.

Stimmt das oder nicht?

Wenn es während des Zeitrahmens der Balkenbildung keine Ticks gab, wird der Balken nicht gezeichnet.
 

Wie kann ich alle grafischen Objekte eines bestimmten Typs (z. B. OBJ_HLINE) verarbeiten?

Mit ObjectsTotal kann ich die Anzahl der Objekte dieses Typs im Diagramm herausfinden, aber wie kann ich sie mit demselben for aufzählen, wenn ich den Objektnamen nicht vorher kenne.

Die spezifische Aufgabe ist, dass ich alle horizontalen Linien des Diagramms aufzählen und ihre Werte in ein Array erhalten müssen.

Danke

 
Olegts:

Wie kann ich alle grafischen Objekte eines bestimmten Typs (z. B. OBJ_HLINE) verarbeiten?

Mit ObjectsTotal kann ich die Anzahl der Objekte dieses Typs im Diagramm herausfinden, aber wie kann ich sie mit demselben for aufzählen, wenn ich den Objektnamen nicht vorher kenne.

Die spezifische Aufgabe ist, dass ich alle horizontalen Linien des Diagramms aufzählen und ihre Werte in ein Array erhalten müssen.

Danke

Verwenden Sie"ObjectName" nach "ObjectsTotal".
 
barabashkakvn:
Verwenden Sie"ObjectName" nach "ObjectsTotal".
Verstanden, danke)
 
barabashkakvn:
Wenn im Zeitrahmen des Balkens keine Ticks vorhanden sind, wird der Balken nicht erstellt.
Dankeschön)