Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1202

 
Igor Makanu:

das ist es, was ich schreibe, es ist einfacher zu überprüfen, innerhalb von 10 Minuten.... überprüft, schreibt FileWriteArray() die Array-Größe nicht in den Header oder das erste Byte, so dass Sie diese Werte selbst schreiben müssen

Igor, ich habe nicht gesagt, dass es unmöglich ist. Lesen Sie meine Worte aufmerksam.

Alexey Viktorov:

...

Wie ist es möglich, eine Struktur und drei Arrays aus einer Datei zu lesen, ohne zu wissen, wie sie geschrieben wurde?

...

Außerdem wird in diesem Beispiel eine Datei geöffnet, eine Struktur gelesen, drei Arrays gelesen und keine Datei geschlossen. An diesem Punkt muss man sich fragen, ob die Datei nach dem Schreiben geschlossen wird.

In Ihrem Beispiel geht es um das Lesen von Arrays und Strukturelementen, nicht um FileReadStruct().

Danke für das Beispiel. Ich werde mich daran erinnern und es bei Bedarf einsetzen.

 
Alexey Viktorov:

Igor, ich habe nicht gesagt, dass es unmöglich ist. Nun, lesen Sie meine Worte etwas genauer.

Außerdem werden in diesem Beispiel eine Datei geöffnet, eine Struktur gelesen, drei Arrays gelesen und keine Datei geschlossen. An diesem Punkt fragt man sich, ob die Datei nach dem Schreiben geschlossen wird.

Ihr Beispiel zeigt das Lesen von Arrays und Strukturelementen, nicht FileReadStruct().

Danke für das Beispiel. Ich werde mich daran erinnern und es bei Bedarf einsetzen.

Ich weiß nicht, wie ich es sonst erklären soll ))))

Sie glauben an eine Art Magie - dass Programme von Drittanbietern das Format der in eine Binärdatei geschriebenen Daten herausfinden können - niemand kann Daten aus einer Binärdatei lesen, ohne die Datenstruktur zu kennen!

Eine Binärdatei ist eine große Anordnung von Bytes, auf die sequentiell zugegriffen wird - was haben Sie also gelesen? - Sie wissen nur, dass Sie sonst eine Menge binärer Daten lesen werden.

)))

SZZ: es ist verständlich, dass ich ein Array mit einem Befehl ArrayWrite und eine Struktur auf die gleiche Weise schreiben (lesen) möchte - ja, es ist möglich, aber wenn wir eine feste Datengröße verwenden und jede Struktur/jedes Array in eine separate Datei schreiben

 

Igor Makanu:

Nun, Sie glauben an eine Art Magie - dass Programme von Drittanbietern das Format der in eine Binärdatei geschriebenen Daten herausfinden können - niemand kann die Daten aus einer Binärdatei lesen, ohne die Datenstruktur zu kennen!

Sie missverstehen mich. Ich habe genau das Gleiche gesagt, nur mit anderen Worten. Es war keine Frage nach dem "Wie", es war... nicht einmal ein Fragezeichen...

 

Können Sie mir bitte sagen, wie man ein benutzerdefiniertes Symbol in mt5 erstellen, wenn ich eine Aktie Chart dort mit Fonds setzen wollen? Broker Otkritie, wenn überhaupt)

Ich habe Folgendes versucht:

1. Ich lade einen Kursverlauf im csv-Format von finam herunter

2. csv in json umwandeln

{
    "root": {
        "row": [
            {
                "TICKER": "FXRU",
                "PER": "1",
                "DATE": "20190502",
                "TIME": "100100",
                "OPEN": "748.7000000",
                "HIGH": "749.7000000",
                "LOW": "747.7000000",
                "CLOSE": "749.7000000",
                "VOL": "115"
            },
               ]
           }
}

3. Es funktioniert nicht.

 
Igor Makanu:

das ist es, was ich schreibe, es ist einfacher zu überprüfen, innerhalb von 10 Minuten.... überprüft, schreibt FileWriteArray() die Größe des Arrays nicht in den Header oder das erste Byte, so dass wir diese Werte selbst schreiben müssen

2020.03.25 10:18:36.058 tst (EURUSD,H1) 1. d_arr

2020.03.25 10:18:36.058 tst (EURUSD,H1) 3.14159 3.14159 3.14159 3.14159

2020.03.25 10:18:36.058 tst (EURUSD,H1) 2. i_arr

2020.03.25 10:18:36.058 tst (EURUSD,H1) 1234567890 1234567890

2020.03.25 10:18:36.058 tst (EURUSD,H1) 2. c_arr

2020.03.25 10:18:36.058 tst (EURUSD,H1) 127 127 127 127 127 127

2020.03.25 10:18:36.058 tst (EURUSD,H1) mstruct.a = 666 , mstruct.b = 123.123000

Wenn die Array-Dimensionen dynamisch sind, bedeutet dies, dass wir die Array-Dimensionen beim Schreiben schreiben, die Array-Dimensionen aus der Datei lesen und die Dimensionen der Struktur-Arrays beim Lesen setzen.

in meinem Beispiel 2 Strukturen - eine wurde initialisiert und geschrieben, die zweite wurde gelesen, Initialisierung aus Dateidaten

Vielen Dank, sehr beeindruckend.

Und wenn Sie 2 Strukturen in die Datei schreiben, können Sie sie natürlich auf die gleiche Weise lesen.


PS Eine einfache Struktur (in beliebiger Menge) wird von der regulären Funktion problemlos geschrieben und gelesen.
 
Bitte, wie kann man die Größe der zweiten Dimension eines zweidimensionalen dynamischen Arrays im laufenden Betrieb festlegen?
 
Сергей Таболин:
Bitte seien Sie freundlich, wie Sie die Größe der zweiten Dimension eines zweidimensionalen dynamischen Arrays im laufenden Betrieb festlegen können?

oder ein eindimensionales Array in ein Array von Strukturen verpacken

struct Sarr
{
   double            y[];
};
struct Sarr2x2
{
   Sarr              x[];
};

void OnStart()
{
   Sarr2x2 arr;
   ArrayResize(arr.x,10);
   for(int i=0; i<ArraySize(arr.x); i++)
   {
      ArrayResize(arr.x[i].y,10);
   }
   arr.x[0].y[0] = 5.0;
}
//+------------------------------------------------------------------+

oder eine Klasse verwenden, die diese Aufgabe erfüllt - ich will nicht danach suchen, ich habe Ihnen die Links schon hundertmal gegeben

https://www.mql5.com/ru/forum/6729/page3#comment_674794


Ja, es gibt eine Matrixklasse in der Alglib

#include <Math\Alglib\matrix.mqh>

void OnStart()
  {
      CMatrixDouble d_arr;
      d_arr.Resize(10,10);
 

Welche Bedeutung hat die Zeitskala in der Handelsgeschichte?

X-Skala. Was bedeuten die Werte auf der Skala?

 

wie man mit MQL ein .bmp-Bild erstellt und in einer Datei speichert, ohne es an ein Diagramm zu binden - d.h. ohne vorher ein Canvas- oder CGraphic-Objekt in einem Diagramm zu erstellen

Ich suchte flüchtig auf die Artikel nicht sehen, solche Informationen, ich brauche eine Anleitung, wie zu beginnen, werde ich den Code selbst schreiben

 
Igor Makanu:

wie man mit MQL ein .bmp-Bild erstellt und in einer Datei speichert, ohne es an ein Diagramm zu binden - d.h. ohne vorher ein Canvas- oder CGraphic-Objekt in einem Diagramm zu erstellen

Ich suchte flüchtig auf die Artikel nicht sehen, solche Informationen, ich brauche eine Anleitung, wie zu beginnen, werde ich den Code selbst schreiben

In Ressourcen