Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 512

 
Wie kann ich damit arbeiten? Ich sitze jetzt schon seit zwei Tagen hier und habe nichts erreicht. Welche andere Lösung könnte es geben?
 
Frage bitte. in der OnCalculate(...) Handler, die Pufferkonstanten offen, hoch, niedrig, schließen Überlauf für die gesamte Geschichte ein Zeichen zu einer Zeit, was sollte ich tun? Zum Beispiel möchte ich den Wert des Arrays mas[i]= open[i] /close[i] für den gesamten Verlauf eines Paares berechnen und diesen Wert mit einem anderen Zeichen mitteln. Ich habe viele Themen durchsucht, es gibt nicht viel Ähnliches. Können Sie mir sagen, wo ich suchen soll?
 
Juer:
Wie kann ich damit arbeiten? Ich sitze jetzt schon seit zwei Tagen hier und habe nichts erreicht. Welche andere Lösung könnte es geben?

Und wo haben Sie ein reproduzierbares Beispiel gezeigt? Sie geben uns nur Codefetzen. Müssen wir sie nach eigenem Ermessen zu funktionierendem Code kompilieren? Was ist, wenn wir nicht raten und Sie den falschen brauchen?

 
Artyom Trishkin:

Und wo haben Sie ein reproduzierbares Beispiel gezeigt? Sie geben nur Codefragmente an. Müssen wir sie nach eigenem Ermessen in einen funktionierenden Code einbinden? Was ist, wenn wir nicht richtig raten und Sie das Falsche brauchen?

OK, aber wie man es richtig nicht durch ein Array von Strukturen zu tun, aber durch eine CArrayObj-Klasse, wo das Objekt ein Objekt vom Typ Struktur sein würde? Ich verstehe nicht wirklich, wie man deklariert und wie man hinzufügt, und ist das überhaupt möglich?

 
Juer:

OK, aber wie man es richtig nicht durch ein Array von Strukturen zu tun, aber durch eine CArrayObj-Klasse, wo das Objekt ein Objekt vom Typ Struktur sein würde? Ich verstehe nicht wirklich, wie man deklariert und wie man hinzufügt, und ist das überhaupt möglich?

Versuchen Sie, das Problem im Allgemeinen und nicht im Speziellen zu beschreiben - was Sie als Ergebnis haben wollen, wenn Sie diese oder jene Daten haben.

 
mwwm:
Frage bitte. in der OnCalculate(...) Handler, die Pufferkonstanten offen, hoch, niedrig, schließen Überlauf für die gesamte Geschichte ein Zeichen zu einer Zeit, was sollte ich tun? Zum Beispiel möchte ich den Wert des Arrays mas[i]= open[i] /close[i] für den gesamten Verlauf eines Paares berechnen und diesen Wert mit einem anderen Zeichen mitteln. Ich habe viele Themen durchsucht, es gibt nicht viel Ähnliches. Können Sie mir sagen, wo ich suchen soll?
Was meinen Sie mit Überlauf?
 
Дед пенсионер:
Was bedeutet Überlaufen?

XAUUSD,Daily: Bereich außerhalb der Spanne in '!2019.mq4' (243,6) gibt während der Berechnungen über Konstanten inOnCalculate und CopyOpen' auf - keine der Überladungen kann auf den Funktionsaufruf angewendet werden, wenn ich versuche, wie folgt vorzugehen int prices1=CopyOpen(Symbol(),0,0,Bars(_Symbol,_Period),open); Es ist sehr verwirrend, den Zugriff auf die Daten über Strukturen zu organisieren, an welchem Punkt OHLC alle Anführungszeichen nimmt und dann nur noch neue, ich bleibe bei iOpen(,,,)) hängen


 
Juer:

Also Fehler ungültiger Array-Zugriff.

In der Struktur gibt es keine Arrays oder Strings. Nur bool, integer, double und enums.

Es tut mir leid. Ich wurde ein bisschen albern. Natürlich muss es etwas komplizierter sein:

bool CCandleRule::GetRulesArray(input_rule &rules_array[])
{
   int nArraySize = ArraySize(rules);
   if (ArraySize(rules_array) != nArraySize)
      if (ArrayResize(rules_array, nArraySize) != nArraySize)
         return false;

   for (int i = 0; i < nArraySize; ++i)
      rules_array[i] = rules[i];
      
   return true;
}

Es handelt sich nicht um einen Vektor, wie in C++. Deshalb ist das Kopieren von Element zu Element erforderlich. Außerdem müssen wir darauf achten, dass die Größe des ursprünglichen Arrays und des Zielarrays übereinstimmen. Deshalb kann die Funktion nicht in einer Zeile stehen. Und sie wird nicht immer erfolgreich durchgeführt. Deshalb müssen wir die Bestätigung zurückgeben, dass sie erfolgreich ausgeführt wurde.

 
mwwm:

XAUUSD,Daily: Bereich außerhalb der Spanne in '!2019.mq4' (243,6) gibt während der Berechnungen über Konstanten inOnCalculate und CopyOpen' auf - keine der Überladungen kann auf den Funktionsaufruf angewendet werden, wenn ich versuche, wie folgt vorzugehen int prices1=CopyOpen(Symbol(),0,0,Bars(_Symbol,_Period),open); Es ist sehr verwirrend, den Zugriff auf Daten über Strukturen zu organisieren, an welchem Punkt OHLC alle Anführungszeichen nimmt und dann nur noch neue, die an iOpen(,,,)) hängen.


Überschreibt nicht, und Sie greifen auf einen nicht existierenden Index zu.
 
Artyom Trishkin:
Er überschreibt nicht, und Sie adressieren einen nicht existierenden Index.

und wie man es richtig macht?

Grund der Beschwerde: