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

 
Hallo zusammen, die Frage ist folgende:
Ich mache einen Netmaker mit Martin, aber nicht einen auf einmal, sondern einen allgemeinen (alle Aufträge und Grids öffnen sich als Signale, nicht einer auf einmal)! Ich bin auf ein Problem gestoßen .... wenn ein Auftrag oder sein Raster ausgelöst wird, funktioniert alles gut, aber wenn ein Auftrag oder sein Raster geöffnet wird und dann zur gleichen Zeit (oder später) ein anderer Auftrag und sein Raster geöffnet wird, beginnt das Martin, das erste Raster fortzusetzen! Was könnte das Problem sein?
 
Artyom Trishkin:

Ja. Aber ich kann mich nur in meiner Freizeit damit beschäftigen - Arbeit, Haus, Familie, Katze und Kinder/Enkelkinder... Schwiegermutter, ja...

Ja, Katzen...

Ich bin heute weggefahren, um einen Wurf zu machen.

Ein hübsches kleines schottisches Mädchen, das gerne auf dem Rücken schläft :)

 
Artyom Trishkin:

Nun, schauen Sie sich den Code an - Vitaly hat ihn direkt gepostet

Meine Frage hatte nichts mit dem Code von Vitaly zu tun. Jetzt habe ich es selbst herausgefunden... es stellt sich heraus, dass der Code in der Bibliothek die Neuberechnungstiefe selbst steuert. Das heißt, beim ersten Durchlauf wird der gesamte Puffer neu berechnet und bei den folgenden Durchläufen nur die richtige Menge... Das wollte ich von Ihnen wissen. Ich bin einfach zu faul. Es ist einfacher zu fragen, als es selbst herauszufinden... Aber manchmal muss ich............

 
Alexey Viktorov:

Meine Frage hatte nichts mit dem Code von Vitaly zu tun. Jetzt habe ich es selbst herausgefunden... es stellt sich heraus, dass der Code in der Bibliothek die Neuberechnungstiefe selbst steuert. Das heißt, beim ersten Durchlauf wird der gesamte Puffer neu berechnet und bei den folgenden Durchläufen nur die richtige Menge... Das wollte ich von Ihnen wissen. Ich bin einfach zu faul. Es ist einfacher zu fragen, als es selbst herauszufinden... Aber manchmal muss ich............

Vitalis Code dupliziert also diese Funktion von SB, nach der Sie gefragt haben - und alles ist klar und deutlich zu sehen - ein Blick genügt, um die Antwort auf Ihre Frage zu verstehen.

 
Artyom Trishkin:

Der Code von Vitaly hat also diese Funktion aus dem SB, nach dem Sie gefragt haben, dupliziert - und alles ist klar und deutlich zu sehen - ein Blick genügt, um die Antwort auf Ihre Frage zu verstehen.

Haben Sie die Winzigkeit im Original gesehen?

 
Vitaly Muzichenko:

Haben Sie gesehen, wie hart das Original ist?

Ich habe sie nicht wirklich verglichen. Meiner Meinung nach gibt es in beiden Akten Kleinigkeiten. Und die Logik ist überhaupt nicht klar - wenn die Bedingung leer ist und das Füllen des Puffers mit einem leeren Wert aus der Klammer der Bedingung genommen wird. Nun, meine Aufgabe ist es, eine Eins zu erreichen. Es ist mir egal, wie es funktioniert - lassen Sie es sein, wie es ist.

 
Artyom Trishkin:

Ich habe nicht viel verglichen. Ich glaube, in beiden Dateien herrscht ein Durcheinander. Und die Logik ist überhaupt nicht klar - wenn die Bedingung leer ist und das Füllen des Puffers mit einem leeren Wert aus der Klammer der Bedingung genommen wird. Nun, meine Aufgabe ist es, ein A zu erreichen. Ich werde es so lassen, wie es ist.

Meine Aufgabe ist es, aus diesem Code zu verstehen, wie maniMAOnArray ersetzen

Das heißt, so wenig wie möglich am bestehenden Code zu ändern und die
 
Artyom Trishkin:

In Vitalys Code wurde diese Funktion von SB, nach der Sie gefragt haben, dupliziert - und alles ist klar und deutlich zu sehen - man muss nur einen Blick darauf werfen, um die Antwort auf Ihre Frage zu verstehen.

Nun, du hast es gepackt... Ich weiß nicht, wie man das macht. Ich muss den gesamten Code gründlich und mit Verständnis durchgehen.

 
Vitaly Muzichenko:

Meine Aufgabe ist zu verstehen, wieiMAOnArray in diesem Code zu ersetzen.

Das heißt, so wenig wie möglich am bestehenden Code zu ändern und ihn zu nutzen, um

Bei dem Versuch, diese Frage zu verstehen, stelle ich mir folgende Situation vor.

In Ihrem Code heißt es

buf_3[i] = iMAOnArray(Array_1, 0, per, 0, MODE_SMMA, i);

und in der Dokumentation

double  iMAOnArray( 
   double       array[],          // массив 
   int          total,            // количество элементов 
   int          ma_period,        // период 
   int          ma_shift,         // сдвиг средней 
   int          ma_method,        // метод усреднения 
   int          shift             // сдвиг 
   );
iMAOnArray

insgesamt

[in] Anzahl der zu berechnenden Elemente. 0 bedeutet alle Elemente des Arrays.

Es stellt sich heraus, dass bei jedem Aufruf der Funktion das gesamte Array neu berechnet wird. Das ist genau das, was ich Artem gefragt habe... Aber es stellt sich heraus, dass mql5 alles für die Beschleunigung bereitstellt, während man sich in mql4 selbst darum kümmern muss. Aber ich finde keine Informationen darüber, wie man es richtig macht.


Was die Neuauflage mit minimalen Änderungen betrifft, so liegen Sie falsch. Es ist einfacher, den Algorithmus zu nehmen und ihn neu zu machen.

 

Guten Tag, bitte helfen Sie mir zu verstehen...

   HighForFutureSession=MathMax(high[rates_total-1],high[rates_total-2]);

MathMax gibt das Maximum zweier numerischer Werte zurück, d. h. es gibt den maximalen numerischen Wert aus zwei identischen Arrays high[rates_total] mit einer Differenz von -1 und -2 Balken?

In einfachen Worten: im ersten Array 12345 und im zweiten 1234 wird die Funktion 5 zurückgeben?

Grund der Beschwerde: