Hilfe bei der Codierung - Seite 342

 
freakout:
http://www.forexmt4.com/mt_yahoo/Pattern_Hammer_Shooting_Star.mq4 - aber in diesem Fall ist es möglich... Ich weiß, dass es einen Weg gibt, das zu beheben, weil es in einem ähnlichen Indikator funktioniert, aber hier stimmt etwas mit dem Code nicht...

Soweit ich sehe, zeigt auch dieser Indikator die Muster mit einer Verzögerung von mindestens 1 Takt an. Je mehr man zu komplizierteren Mustern übergeht (die dieser Indikator überhaupt nicht erkennen kann), desto größer ist die Wahrscheinlichkeit, dass die Verzögerung auch größer sein muss

 
mladen:
Soweit ich das sehe, zeigt auch dieser Indikator die Muster mit mindestens 1 Takt Verzögerung an. Je mehr man zu komplizierteren Mustern übergeht (die dieser Indikator überhaupt nicht erkennen kann), desto größer ist die Wahrscheinlichkeit, dass die Verzögerung auch größer sein muss

nein, es erscheint sofort nach Kerzenschluss, wenn der Shift-Wert gleich 1 ist , wenn Shift=2, dann haben Sie eine Verzögerung von 1 Bar Ich habe es mehrfach überprüft und das einzige Problem in meinem Indikator ist, dass, wenn ich Shift=2 zu Shift=1 ändere, es alles um 1 Kerze nach rechts verschiebt - nicht nach links, also ist etwas falsch...

 
freakout:
nein, es erscheint sofort nach Kerzenschluss, wenn der Shift-Wert gleich 1 ist wenn Shift=2 dann haben Sie eine Verzögerung von 1 Bar Ich habe es mehrfach überprüft und das einzige Problem in meinem Indikator ist, dass wenn ich Shift=2 in Shift=1 ändere, es alles um 1 Kerze nach rechts verschiebt - nicht nach links, also stimmt etwas nicht...

Ich weiß nicht, von welchem Indikator Sie jetzt sprechen.

Wenn Sie den Indikator aus dem Link meinen, sehen Sie sich diesen Teil des Codes an:

shift1 = shift + 1;

shift2 = shift + 2;

shift3 = shift + 3;

shift4 = shift + 4;

Sie werden sehen, dass er (aufgrund des "+1"-Teils in der ersten Zeile) immer mindestens 1 Takt hinterherhinkt. Versuchen Sie, die 1, 2, 3 und 4 in 0, 1, 2 und 3 zu ändern (wer weiß, vielleicht funktioniert es). Wenn Sie einen ähnlichen Teil des Codes in einem anderen Programm finden, versuchen Sie, das Gleiche damit zu tun

 

Ich habe einen schönen Murrey Math-Indikator gefunden, aber diese Linien auf dem Bildschirm sind etwas störend und ich möchte diese horizontalen Linien mit RAY abschneiden. Ich habe versucht, "ObjectSet(buff_str, OBJPROP_RAY, false);" hinzuzufügen, aber es hat nicht funktioniert.

Vielleicht kann mir also jemand helfen?

Dateien:
 

Hallo Mladen, vielen Dank für all Ihre Hilfe in diesem Forum. Pls können Sie helfen, diesen Indikator zu machen, um mit dem EA zu arbeiten, zu kaufen, zu verkaufen und Positionen zu schließen, wenn der Pfeil auftaucht. Ich beabsichtige, die Indikatoreinstellungen im MTF-Modus in einem bestimmten Zeitrahmen zu verwenden, der sich als nicht wiederholbar erwiesen hat.

Vielen Dank im Voraus.

 

Mladen, ich weiß nicht, wie ich diese Situation lösen kann.

Bitte helfen Sie mir, wenn Sie Zeit haben.

Danke!

For example:

When Buffer = 3, Buffer = 2, Buffer = 1, Buffer = 1, Buffer = 1, Buffer = 1; "max" data is correct.

---------------------------------------------------------------------------------------

int Lines_Break = 3;

int j = i; while (Buffer [j + 1] == Buffer [j + 2]) j ++;

double max = Buffer [ArrayMaximum (Buffer, Lines_Break, j + 1)];

---------------------------------------------------------------------------------------

However, this time when the array becomes: Buffer = 3, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 1; "max" data is wrong.
 
Anyway:
Mladen, ich weiß nicht, wie man diese Situation lösen kann.

Bitte helfen Sie mir, wenn Sie Zeit haben.

Danke!

For example:

When Buffer = 3, Buffer = 2, Buffer = 1, Buffer = 1, Buffer = 1, Buffer = 1; "max" data is correct.

---------------------------------------------------------------------------------------

int Lines_Break = 3;

int j = i; while (Buffer [j + 1] == Buffer [j + 2]) j ++;

double max = Buffer [ArrayMaximum (Buffer, Lines_Break, j + 1)];

---------------------------------------------------------------------------------------

However, this time when the array becomes: Buffer = 3, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 1; "max" data is wrong.

Sie testen nur 3 Elemente (Lines_break Elemente) und Ihre Startposition (j+1 Ausdruck) sollte i sein - keine Notwendigkeit, es zu ändern. Ich gehe davon aus, dass Sie in diesem Fall mit einem Puffer und nicht mit einem Array arbeiten)

 
mladen:
Sie testen nur 3 Elemente (Lines_break Elemente) und Ihre Startposition (j+1 Ausdruck) sollte i sein - kein Grund, dies zu ändern. Ich gehe davon aus, dass Sie in diesem Fall mit einem Puffer und nicht mit einem Array arbeiten)

Wie setze ich gleiche Puffer in eine Einheit ein?

Zum Beispiel: "Puffer = Puffer = Puffer = Puffer"

 
Anyway:
Wie kann ich den gleichen Puffer in eine Einheit setzen? Zum Beispiel: "Puffer = Puffer = Puffer = Puffer"

Wie auch immer

Wie ich aus Ihrem Code ersehen kann, brauchen Sie das nicht. Sie suchen nach einem Maximalwert. Ob es nun n Maximalwerte oder nur einen gibt, spielt keine Rolle. Wichtig ist nur, dass der Maximalwert ermittelt wird.

 
mladen:
Wie ich aus Ihrem Code ersehe, brauchen Sie das nicht. Du suchst nach einem Maximalwert. Ob es nun n Maximalwerte gibt oder nur einen, ist egal. Wichtig ist nur, dass der Maximalwert ermittelt wird.

Nun, ich werde einen anderen Ansatz versuchen.

Danke