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.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3822
Beiträge: 36945
Benutzer: 6.067
Aktive Benutzer: 491
Links: 80
Wir begrüßen unseren neuesten Benutzer: POCJonah7
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 17 Stunden
- POCJonah7
vor einem Tag
- flowi88
vor einem Tag
- dealtycoon
vor einem Tag
- VicenteWuc
vor einem Tag
- sazaron

Onlineuser
'Wer ist online' anzeigen Benutzer: 3
Gäste: 51
Gesamt: 54
Team: 0
Team:  
Benutzer:  beabro60, traderdoc
Freunde anzeigen

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 14.10.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard Frage zum FileOpen/Write

Also, ich möchte z.B. von 20 Währungspaaren und 6 Timeframes jeweils die Werte der letzten 10 aktuellen Bars, incl. Bar 0, in ein csv-File pro WP und TF, schreiben. Das Ganze dann z.B. einmal pro Minute.

Nun meine Frage an die Experten, welche der beiden folgenden Varianten bzw. EA's ist besser:

EA 1:
Holt bei jedem Lauf von allen 20 WP und von allen 6 TF die Daten der letzten 10 Bars (Bar 0 bis 9) und schreibt diese in 120 csv-Files.

EA 2:
Holt bei jedem Lauf zuerst nur die Daten des aktuellen Bar 0 für alle 20 WP und alle 6 TF und schreibt diese Daten dann in 120 Current-csv-Files.
Danach prüft der EA, auf welchem TF ein neuer Bar begonnen hat und schreibt dann nur für diesen TF die Daten der letzten 9 Bars (Bar 1 bis Bar 9) in eines der entsprechenden 120 History-csv-Files.

Nochmal Kurz zusammengefasst:
Ist es besser nur 120 Files anzupacken und dafür bei jedem Lauf immer alle Daten komplett zu schreiben, also alle 10 Bars (Bar 0 bis 9), auch wenn sich z.B. die Bars 1 bis 9 in den höheren TF wie z.B. H4 und D1 nur alle 4 Stunden bzw. einmal am Tag ändern.

oder

ist es besser immer nur die Daten zu schreiben, die sich auch geändert haben, sprich nur die Daten der Bar 0. Und die Daten der Bar 1 bis 9 immer nur dann neu in die History-csv-Files zu schreiben, wenn ein neuer Bar eröffnet wurde. Hier habe ich aber die doppelte Anzahl von csv-Files, einmal 120 mal das Current-csv-File, wo immer nur die Daten des Bar 0 drin stehen, und dann 120 mal das History-csv-File, wo die Daten der Bars 1 bis 9 drin stehen.

Ich hoffe ihr habt verstanden was ich meine...

Gruß
Dick

Geändert von Dick_Turpin (14.10.14 um 13:19 Uhr)
  #2 (permalink)  
Alt 14.10.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Also ich würde nur 20 csv-Files nehmen, die jeweils 6 Zeilen der TimeFrames enthalten.
Und dann würde ich, wenn dann überhaupt die Bar[0] notwendig ist!, jede Minute nur die Bar[0] abspeichern und bei Kerzenwechsel entsprechend dann alle.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 14.10.14
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

wenn TimeFramesNewBar abspeichern

M1 Bar[0] = 1,31234
M5 Bar[0] = 1,31234
M15 Bar[0] = 1,31234
M30 Bar[0] = 1,31234
usw
  #4 (permalink)  
Alt 14.10.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard

Danke für die schnellen Antworten und sorry, dass ich mich nicht klar genug ausgedrückt habe, was ich genau in den csv-Files speichern will.

Am besten ich zeige Euch mal den Inhalt eines csv-Files:
PHP-Code:
AUDCAD M5
DATE
;HOUR;OPEN;HIGH;LOW;CLOSE;VOLUME
10 October 2014
;22:45;0.9746;0.9747;0.974;0.9741;70
10 October 2014
;22:40;0.9748;0.9749;0.9746;0.9747;46
10 October 2014
;22:35;0.9749;0.9749;0.9748;0.9749;55
10 October 2014
;22:30;0.975;0.9751;0.9748;0.9748;72
10 October 2014
;22:25;0.9755;0.9755;0.975;0.9751;78
10 October 2014
;22:20;0.9753;0.9754;0.9752;0.9754;80
10 October 2014
;22:15;0.9756;0.9758;0.9754;0.9754;106
10 October 2014
;22:10;0.9756;0.9758;0.9755;0.9756;56
10 October 2014
;22:05;0.9758;0.9759;0.9755;0.9756;88
10 October 2014
;22:00;0.976;0.9761;0.9756;0.9757;75
10 October 2014
;21:55;0.9762;0.9762;0.9758;0.9761;82 
Also komme ich mit 20 Files a 6 Zeilen schon mal nicht hin, da ich pro Timeframe DATE;HOUR;OPEN;HIGH;LOW;CLOSE;VOLUME für die letzten 10 Bars speichern will.

Das ganze funktioniert ja auch schon mit den beiden, am Anfang genannten Varianten. Aber vielleicht kann man noch etwas optimieren.

Das ganze soll meine Strength-Tabelle mit einer Art Strength-History für die 6 Timeframes erweitern. D.h. ich lese die o.g. csv-Files dann auch mit Excel aus...

Gruß
Dick
  #5 (permalink)  
Alt 14.10.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ja, so ist das eben, wenn man sich nicht eineindeutig ausdrückt.
Aber man könnte trotzdem nur 20 Files nehmen. Dann sind es halt in jeder csv
6 Blöcke á 13 Zeilen.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #6 (permalink)  
Alt 14.10.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard

Ja, das geht natürlich auch, und beim Excel-Import kann ich ja auch angeben, ab welcher Zeile ich die Daten einlesen möchte...

Da müsste ich dann, nachdem das csv-File zum Schreiben geöffnet wurde in einer Schleife alle Timeframes eines WP auf einmal in das csv-File schreiben. Ist auch eine Idee...

Gruß
Dick
  #7 (permalink)  
Alt 14.10.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ne, Du mußt nicht alle TimeFrames gleichzeitig immer auf einmal in die csv schreiben. Nur halt so wie die Daten anfallen.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #8 (permalink)  
Alt 14.10.14
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Nur die erste Zeile schreiben. Die restlichen werden sowieso nicht geändert.

oder noch besser, gar nicht schreiben, mit "EA"die Daten aufrufen und bearbeiten

Geändert von pako (14.10.14 um 20:45 Uhr)
  #9 (permalink)  
Alt 14.10.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

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
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #10 (permalink)  
Alt 14.10.14
Mitglied
 
Registriert seit: Aug 2014
Ort: Hessen
Beiträge: 101
Dick_Turpin befindet sich auf einem aufstrebenden Ast
Standard

Kann ich denn mit dem FileWrite auch mitten im csv-File nur eine Zeile neu schreiben?
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 20:20 Uhr.



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