Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   CSV Export direkt aus einer "for" Schleife? (http://www.expert-advisor.com/forum/showthread.php?t=7352)

pascalper 25.08.23 14:17

CSV Export direkt aus einer "for" Schleife?
 
Hallo

Kann man aus einer "for" Schleife, das Ergebnis in ein Komma separiertes CSV speichern?
Bis jetzt habe ich:

Code:

for(int i=0; i<NumberBars; i++){
    Rng= MathAbs(High[i] - Low[i])/pt;

Ein Print gibt die richtigen Werte aus, das Loop funktioniert korrekt, wie man das in ein Komma separiertes CSV speichert, liegt leider über mein Programmierer Können

Besten Dank für jede Hilfe!

Gruß pascalper

Indikator-Trading 30.08.23 10:55

FileOpen() FileWrite() FileFlush() und FileClose() sind die Funktionen, welche du zum Erstellen einer CSV-Datei benötigen wirst. Am besten suchst du dir über MQL5.com einmal ein Beispielscript, welches CSV Dateien erstellt

pascalper 08.09.23 12:28

Funktioniert mit einem Aber
 
Hallo, so weit so gut,
es werden sowohl die Werte im Chart als auch im CSV korrekt ausgegeben

ABER :)

Der CSV Export stoppt nicht nach der Anzahl der NumberBars, sondern schreibt und schreibt
Der CSV Export schreibt die Werte untereinander ohne Delimiter, brauche sie aber nebeneinander mit Delimiter im CSV, damit ich sie später im Excel oder SQL weiterverarbeiten kann

Besten Dank für jegliche Hilfe

pascalper

Code:


 if(Period()==5)  {NumberBars=288;}
 if(Period()==15) {NumberBars=96;}
 if(Period()==30) {NumberBars=48;}
 if(Period()==60) {NumberBars=24;}


 for(int i=0; i<NumberBars; i++){
    Rng = MathAbs(High[i] - Low[i])/pt;

 text=DoubleToStr(Rng,0);

 if(High[i] < Low[i]){
 sObjName=PrefixLabel+"label1"+i;
 ObjectCreate(sObjName, OBJ_TEXT, 0, Time[i], High[i]+TextPosition*pt);
 ObjectSet(sObjName, OBJPROP_ANGLE, TextAngle);
 ObjectSetText(sObjName,text,TopFontSize, TopFontName, TopTextColor); }
 else{
 sObjName=PrefixLabel+"label1"+i;
 ObjectCreate(sObjName, OBJ_TEXT, 0, Time[i], Low[i]-TextPosition*pt);
 ObjectSet(sObjName, OBJPROP_ANGLE, TextAngle);
 ObjectSetText(sObjName,text,BottomFontSize, BottomFontName, BottomTextColor);
 }

  handle=FileOpen(Symbol()+"-HL.csv", FILE_CSV|FILE_WRITE|FILE_READ,';');
  if(handle>0)
    {
    FileSeek(handle, 0, SEEK_END);
    FileWrite(handle, text);
    FileClose(handle);
    }


 }



Alle Zeitangaben in WEZ +2. Es ist jetzt 21:57 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum