|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Zitat:
12:30----------------12:35 bar[1]=5------------bar[1]=7 bar[2]=15-----------bar[2]=5 bar[3]=3------------bar[3]=15 bar[4]=2------------bar[4]=3 |
|
|||
Zitat:
Code:
bool FileSeek( int file_handle, // File handle long offset, // In bytes ENUM_FILE_POSITION origin // Position for reference ); |
|
|||
Zitat:
Aber wenn ein neuer Bar eröffnet wurde, dann haben sich ja die Werte aller 10 Bars geändert und ich muss trotzdem alle Bars neu in das csv-File schreiben. Dank für den Tip mit dem FileSeek! Gruß Dick |
|
|||
Zitat:
TF m5-------------------------------------------excel 12:30-------------------------------------------12:30 High[1]=12-------------------------------------A1=12 High[2]=1--------------------------------------A2=1 High[3]=4--------------------------------------A3=4 TF m5-------------------------------------------excel 12:35-------------------------------------------12:35 High[1]=7 neu geschrieben-------------------A1=7 High[2]=12 vorher High[1]--------------------A2=12 High[3]=1 vorher High[2]----------------------A3=1 |
|
|||
Leider vertehe ich nicht so richtig, was Du meinst pako. Wenn ich in Excel immer nur ein Feld aktualisiere und die anderen Felder darauf hin neue Werte erhalten sollen (immer um ein Feld verschieben), dann müsste ich das mit VBA machen...
@traderdoc: Also den Bar 0 wäre schon schön zu haben, besonders in den höheren Timeframes H1, H4 und D1. Jetzt noch mal meine Gedanken zu dem Thema: Es soll möglichst eine einfache Lösung gefunden werden, die möglichst wenig Last auf dem Rechner erzeugt. Wenn ich sowieso jede Minute von jedem Timeframe die Werte des Bar 0 auslesen muss, ist es da nicht am einfachsten, wenn ich dann gleiche alle Bars von 0 bis 10 mit einem Rutsch auslese un in ein csv-File schreibe? Wenn ich mit FileSeek anfange, dann muss ich für jeden Timeframe wo ein neuer Bar angefangen hat erst mal die entsprechende Zeile suchen. Außerdem habe ich in meinem EA ein zusätzliches zweidimensionales Array wo die Bar-Öffnungszeiten der unterschiedlichen Timeframes gespeichert sind. Gruß Dick |
|
|||
Versuchen Sie TF M1
if(NewBar) { in file OHLC _1.csv eine zeile schreiben in file OHLC_10.csv 10 zeilen schreiben } nach 10 minuten vergleichen Zitat:
MqlRates rates[]; ArraySetAsSeries(rates,true); int copied=CopyRates(Symbol(),0,0,100,rates); |
|
|||
Ich habe 10 Minuten lang in die beiden OHLC.Files geschrieben, in ein File immer nur 1 Datensatz (OPEN,HIGH,LOW,CLOSE) und in das andere File diesen datensatz 10 mal. Bis auf das in dem einen File ein datensatz und in dem anderen 10 Datensätze drin stehen, konnte ich keinen Unterschied feststellen...
Der Hinweis mit dem MqlRates ist auch interessant, wenn da sowieso schon alle Daten gespeichert sind, die ich zum Ermitteln einer Bar-Eröffnung brauche. Da muss ich mich aber erst mal hinsetzen und das irgendwie verstehen, wie das Ganze funktioniert. Gruß Dick |
|
|||
Zitat:
Eine Positionierung auf eine bestimmte Zeile habe ich leider nicht für den FileSeek gefunden... Gruß Dick |
Lesezeichen |
Stichworte |
aktuelle bars, csv, csv datei, datei, dateien, filepen, mql4, programmierung, programmierung metatrader, werte, werte bars, write |
|
|