Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43250
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 240
Gesamt: 240
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 14.10.14
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Nun laß Dir mal nichts von dem pako einreden.
Beim Kerzenwechsel müssen alle Zeilen neu geschrieben werden. Nur solange Bar[0] aufgebaut wird, braucht natürlich nur die erste Zeile jeweils aktualisiert werden. Aber benötigst Du unbedingt Bar[0]?

traderdoc
wozu??? TF m5
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
  #12 (permalink)  
Alt 14.10.14
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Dick_Turpin Beitrag anzeigen
Kann ich denn mit dem FileWrite auch mitten im csv-File nur eine Zeile neu schreiben?
ja

Code:
bool  FileSeek(
   int                  file_handle,     // File handle
   long                 offset,          // In bytes
   ENUM_FILE_POSITION   origin           // Position for reference
   );
  #13 (permalink)  
Alt 14.10.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von pako Beitrag anzeigen
wozu??? TF m5
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
Du meinst damit sicher, alle Daten der letzten 10 Bars speichern und immer wenn ein neuer Bar eröffnet wird, die Daten um eine Stelle verschieben.
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
  #14 (permalink)  
Alt 14.10.14
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Dick_Turpin Beitrag anzeigen
Du meinst damit sicher, alle Daten der letzten 10 Bars speichern und immer wenn ein neuer Bar eröffnet wird, die Daten um eine Stelle verschieben.
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
nein,
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
  #15 (permalink)  
Alt 15.10.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard

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
  #16 (permalink)  
Alt 15.10.14
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Dick_Turpin Beitrag anzeigen
Leider vertehe ich nicht so richtig,
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:
Zitat von Dick_Turpin Beitrag anzeigen

Außerdem habe ich in meinem EA ein zusätzliches zweidimensionales Array wo die Bar-Öffnungszeiten der unterschiedlichen Timeframes gespeichert sind.

Gruß
Dick
wozu???ein zusätzliches zweidimensionales Array

MqlRates rates[];
ArraySetAsSeries(rates,true);
int copied=CopyRates(Symbol(),0,0,100,rates);
  #17 (permalink)  
Alt 15.10.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard

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
  #18 (permalink)  
Alt 16.10.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von pako Beitrag anzeigen
ja

Code:
bool  FileSeek(
   int                  file_handle,     // File handle
   long                 offset,          // In bytes
   ENUM_FILE_POSITION   origin           // Position for reference
   );
Muss ich da wirklich jedes Byte / Zeichen abzählen, wenn ich mitten im csv-File eine Zeile neu schreiben möchte?
Eine Positionierung auf eine bestimmte Zeile habe ich leider nicht für den FileSeek gefunden...

Gruß
Dick
  #19 (permalink)  
Alt 17.10.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard

Da sich, abhängig von den Preisen, auch die Anzahl der Zeichen innerhalb des csv-Files ändern kann, versuche ich jetzt erst mal eine Lösung, wo ich ans Ende des bestehenden csv-Files schreibe...
Thema geschlossen

Lesezeichen

Stichworte
aktuelle bars, csv, csv datei, datei, dateien, filepen, mql4, programmierung, programmierung metatrader, werte, werte bars, write

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 11:47 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------