[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 485
Bei SL sollte der EA eine Order des gleichen Typs und bei TP des entgegengesetzten Typs eröffnen! Aber aus irgendeinem Grund öffnet der EA oft eine Bestellung des falschen Typs!
Kogalym писал(а)>> Bei SL sollte der EA eine Order des gleichen Typs und bei TP des entgegengesetzten Typs eröffnen! Aber aus irgendeinem Grund öffnet der EA oft die Bestellung des falschen Typs!
Wer weiß, ob dieser Indikator für einen EA geeignet ist, fand ich eine Strategie, wo es durch den Autor angewendet wird, kann es in der EA geschrieben werden und wie es zu tun, zum Beispiel, können Sie mir ein Beispiel zeigen. Ich habe festgestellt, dass das Histogramm grün ist, und wenn die Linie unterhalb des Histogramms liegt, ist das ein Kaufsignal. Dasselbe gilt für den Verkauf.
и не понятно, что именно вы хотите получить в массивах MAX и MIN
Lassen Sie es mich noch einmal erklären :)
Es gibt ein Array, das alle Werte der MACD-Spalten enthält.
Wir müssen aus all diesen Werten ein Dutzend Werte (in der richtigen Reihenfolge) nehmen und darin den Maximalwert suchen, den wir dann in den Indikator einzeichnen, und so weiter bis zum Ende.
Hier ist der Code noch einmal:
for(i=0; i<50; i=i+10) //общий цикл для всех значений МАКД, шаг 10
{
int k = i;
for(k=i; k<i+10; k++) // цикл внутри десятки значений, шаг 1
{
x10[k] = MACD[k];// массив десяток
}
int IndexMAX = ArrayMaximum(x10); // найден индекс максимального значения внутри десятки int IndexMIN = ArrayMinimum(x10); // --//--
MAX[k] = MACD[IndexMAX]; // Рисуем найденное максимальное значение внутри десятки на k баре
MIN[k] = MACD[IndexMIN];
}
So wie ich es sehe, wird es nicht gezeichnet, weil der Index des Arrays mit den Zehnerwerten nicht mit dem Index dieses Wertes im Hauptarray mit den MAKD-Werten übereinstimmt.
Mit anderen Worten, wenn der Zähler in der Hauptschleife z.B. 30 erreicht, und dann in den Unterzyklen 30-31-32...39 (nehmen wir an, das Maximum davon ist der Wert 34), findet die Funktion Arraymaximum(x10) diesen Wert, schreibt aber in IndexMAX genau die Ordnungszahl in HIS (x10) Array, d.h. der tatsächliche Wert ist 34, aber es wird ein anderer Wert geschrieben (von 0 bis 9, weil es ein Array von Zehnern ist). Ich kann nicht herausfinden, was ich tun soll...
Es gibt ein Array, das alle Werte der MACD-Spalten enthält.
Wir müssen aus all diesen Werten ein Dutzend Werte (in der richtigen Reihenfolge) nehmen und darin den Maximalwert suchen, den wir dann in den Indikator einzeichnen, und so weiter bis zum Ende.
Hier ist der Code noch einmal:
So wie ich es sehe, wird es nicht gezeichnet, weil der Index des Arrays mit den Zehnerwerten nicht mit dem Index dieses Wertes im Hauptarray mit den MAKD-Werten übereinstimmt.
Mit anderen Worten, wenn der Zähler in der Hauptschleife z.B. 30 erreicht, und dann in den Unterzyklen 30-31-32...39 (nehmen wir an, das Maximum davon ist der Wert 34), findet die Funktion Arraymaximum(x10) diesen Wert, schreibt aber in IndexMAX genau die Ordnungszahl in HIS (x10) Array, d.h. der tatsächliche Wert ist 34, aber es wird ein anderer Wert geschrieben (von 0 bis 9, weil es ein Array von Zehnern ist). Ich kann nicht herausfinden, was ich tun soll...
for(i=0; i<limit; i+=10) //общий цикл для всех значений МАКД, шаг 10
{
int k;
for(k=0; k<10; k++) // цикл внутри десятки значений, шаг 1
{
x10[k] = MACD[i+k];// массив десяток
}
int IndexMAX = ArrayMaximum(x10); // найден индекс максимального значения внутри десятки int IndexMIN = ArrayMinimum(x10); // --//--
MAX[k] = x10[IndexMAX]; // Рисуем найденное максимальное значение внутри десятки на k баре
MIN[k] = x10[IndexMIN];
}
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Aber aus irgendeinem Grund öffnet der EA oft eine Bestellung des falschen Typs!
Bitte sagen Sie mir, wo es einen Fehler gibt!
Bei SL sollte der EA eine Order des gleichen Typs und bei TP des entgegengesetzten Typs eröffnen!
Aber aus irgendeinem Grund öffnet der EA oft die Bestellung des falschen Typs!
Können Sie mir sagen, wo der Fehler liegt?
и не понятно, что именно вы хотите получить в массивах MAX и MINкакова размерность массива x10 ?
10?
Тогда надо так переписать:
Lassen Sie es mich noch einmal erklären :)
Es gibt ein Array, das alle Werte der MACD-Spalten enthält.
Wir müssen aus all diesen Werten ein Dutzend Werte (in der richtigen Reihenfolge) nehmen und darin den Maximalwert suchen, den wir dann in den Indikator einzeichnen, und so weiter bis zum Ende.
Hier ist der Code noch einmal:
So wie ich es sehe, wird es nicht gezeichnet, weil der Index des Arrays mit den Zehnerwerten nicht mit dem Index dieses Wertes im Hauptarray mit den MAKD-Werten übereinstimmt.
Mit anderen Worten, wenn der Zähler in der Hauptschleife z.B. 30 erreicht, und dann in den Unterzyklen 30-31-32...39 (nehmen wir an, das Maximum davon ist der Wert 34), findet die Funktion Arraymaximum(x10) diesen Wert, schreibt aber in IndexMAX genau die Ordnungszahl in HIS (x10) Array, d.h. der tatsächliche Wert ist 34, aber es wird ein anderer Wert geschrieben (von 0 bis 9, weil es ein Array von Zehnern ist). Ich kann nicht herausfinden, was ich tun soll...
Lassen Sie es mich noch einmal erklären :)
Es gibt ein Array, das alle Werte der MACD-Spalten enthält.
Wir müssen aus all diesen Werten ein Dutzend Werte (in der richtigen Reihenfolge) nehmen und darin den Maximalwert suchen, den wir dann in den Indikator einzeichnen, und so weiter bis zum Ende.
Hier ist der Code noch einmal:
So wie ich es sehe, wird es nicht gezeichnet, weil der Index des Arrays mit den Zehnerwerten nicht mit dem Index dieses Wertes im Hauptarray mit den MAKD-Werten übereinstimmt.
Mit anderen Worten, wenn der Zähler in der Hauptschleife z.B. 30 erreicht, und dann in den Unterzyklen 30-31-32...39 (nehmen wir an, das Maximum davon ist der Wert 34), findet die Funktion Arraymaximum(x10) diesen Wert, schreibt aber in IndexMAX genau die Ordnungszahl in HIS (x10) Array, d.h. der tatsächliche Wert ist 34, aber es wird ein anderer Wert geschrieben (von 0 bis 9, weil es ein Array von Zehnern ist). Ich kann nicht herausfinden, was ich tun soll...
Den gesamten Code für den Indikator anzeigen
Весь код индикатора покажиLassen Sie es mich noch einmal erklären :)
Ich glaube, du wolltest so schreiben:
Was ist Ihr Ziel?
Nun, was wollen Sie bekommen. Eine Aufteilung in Zehnergruppen ist sinnlos. Sie bewegen sich ständig in der Zeit.
мне кажется, Вы хотели написать вот так:
Zeichnet nicht :((.
s.w. k=0 Ich habe es beendet :)
А какую цель преследуешь?
Ну, что хочешь получить. Разбивать на десятки бесмысленно. Они все время передвигаются во времени.
Ja, das Ziel ist wörtlich zu nehmen... Ich möchte, dass der Höchstwert unter allen 10 Balken angezeigt wird...