Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools  
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 5 > Programmierung MQL5 > Codeschnipsel

Codeschnipsel Codeschnipsel für MQL5.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4323
Beiträge: 39754
Benutzer: 6.654
Aktive Benutzer: 209
Links: 80
Wir begrüßen unseren neuesten Benutzer: patex
Mit 1.311 Benutzern waren die meisten Benutzer gleichzeitig online (16.09.19 um 01:18).
Neue Benutzer:
vor 4 Tagen
- patex
vor 5 Tagen
- sami10
vor 6 Tagen
- wpicker
vor 6 Tagen
- LQK
vor einer Woche
- sc0n

Onlineuser
'Wer ist online' anzeigen Benutzer: 3
Gäste: 163
Gesamt: 166
Team: 0
Team:  
Benutzer:  Domke01, MA-EA, traderdoc
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 05.04.17
Gesperrter Benutzer
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 313
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard Binärdateien lesen

Der einzige Nachtei der Binärdateien, man kann sie mit einem Texteditor nicht lesen.
Dazu ist ein Hexeditor notwendig oder ein dafür vorgesehenes Programm.
Hier ist das Gegenstück zu Binärdateien schreiben.
Dieses läuft ebenfalls sowohl im MT5 als auch im MT4.
Es ist diesmal als Script programmiert.
Code:
//+------------------------------------------------------------------+
//|                                             FileReadTicksBin.mq5 |
//|                                Copyright © 2017 Ing. Otto Pauser |
//+------------------------------------------------------------------+
#property copyright   "Copyright © 2017 Ing. Otto Pauser"
#property version     "1.00"
#property description "Dieses Script liest die Tickdaten von FileWriteTicksBin"
#property description "und läuft sowohl im MT5 als auch im MT4!"
#property description "Der Symbolname wir automatisch dem Dateinamen vorgestellt.\n"
#property description "Press <ESC> to stop reading tickdata or wait till finished"
#property script_show_inputs

//+------------------------------------------------------------------+
input string fPath = "Tickdata";    // File Path
input string fName = "Ticks.bin";   // File Name
input bool   fComm = true;          // Read from CommonFiles
//+------------------------------------------------------------------+

string   fn = fPath+"\\"+_Symbol+"_"+fName;     // full filename
int      fh,                                    // file handle
         ff = FILE_READ|FILE_BIN;               // file flags
bool     ok = true;                             // _StopFlag is not customizeable so we create our own flag
         
struct tickStruct                   // define the structure of data
{
   datetime Time;
   double   Ask;
   double   Bid;
   int      Spread;                 // eigentlich unnötig, da Ask-Bid=Spread
};

tickStruct  tick;                   // declare a variable         

//+------------------------------------------------------------------+
void OnStart()
{
   if(fComm)                        // CommonFiles selected ?
      ff=ff|FILE_COMMON;            // merge the common flag to fileflags

   fh=FileOpen(fn,ff);              // try to open
   
   if(fh==INVALID_HANDLE)           // check the handle
      Alert("*ERROR* file "+fn+" not found.");
   else
      ReadFile();                   // read the file

   FileClose(fh);                   // close the file
   
   PlaySound("ok");                 // make some noise
}

//+------------------------------------------------------------------+
void ReadFile()
{
   Comment("Reading tickdata from file: "+fn);  // information
   while(!FileIsEnding(fh) && ok)
      {
         FileReadStruct(fh,tick);               // read the line
         Print(tick.Time," ",DoubleToString(tick.Ask,_Digits)," ",DoubleToString(tick.Bid,_Digits)," ",tick.Spread);
      }
   Comment("");                                 // clear information
}

//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
   if(id==CHARTEVENT_KEYDOWN)                   // key pressed ?
      if(lparam==27)                            // <ESC> ?
         ok=false;                              // set our stopflag
}
Ich habe mich früher beruflich mit AutoCAD beschäftigt, und Dateikonvertierungen gehörten zum Alltag.
Plottfiles analysieren und umwandeln, damit diverse Drucker oder Plotter das verdauen konnten, Koordinaten transformieren, etc.

Ich denke man kann das auch recht gut für Kursdaten verwenden.

Grüße Otto
Thema geschlossen

Lesezeichen

Stichworte
binärdateien, binärdateien lesen, codeschnipsel, codeschnipsel mql5, programmierung, programmierung metatrader


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 22:40 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2019 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.
-----------------------------------------------------------------------------------------------------------------------------