Hilfe bei der Codierung - Seite 193

 

Всем привет!

дорого дня!!

помогите добавить красную полоску в индикатор

полоска зелёная работает хорошо (bear;// Lime)

красная не работает(Stier;// Rot;)

заранее Спасибо.

индикатор:

bearbull.mq4

Dateien:
 

Hallo Mrtools & Mladen

ich bestätige, dass TSV Bullish & Bearish nur eine Histo-Version von Gann Hilo Activator ist, wie Sie auf meinem Bild sehen...

Ich werde nie verstehen, warum manche Leute einem anderen Indikator, den es bereits gibt, einen esoterischen und seltsamen Namen geben wollen (Gann Hilo Activator ist bereits ein seltsamer und esoterischer Name...) ...

TSV Bullish & Bearish schien mir sehr interessant zu sein, aber so ist es eher TSH Bullshit & Bearish

Schönen Tag Jungs und danke für eure Antwort

Zilliq

mrtools:
Zilliq es gibt eine Version hier https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-please-post-here/page299#comment_679505 mit dem Quellcode.
Dateien:
 

Mladen,

Ich habe es auf diese Weise versucht:

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) return;

static datetime Time0;

if (Time0 == Time[0]) return; // Eine Meldung pro Takt.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

Zeile = ObjectGet(name, OBJPROP_PRICE1);

}

else if (ObjectType(name) == OBJ_TREND)

{

Zeile = ObjectGetValueByShift(Name,0);

}

else continue; // Keine Linie gefunden

if ((High[0]>=(line-_distance) && (line+_distance)>=Low[0]))

{

Text = Symbol()+" M "+Period()+" touched S/R @ "+Close[0];

Alert(Text);

Time0 = Time[0]; // Keine weiteren Alerts.

if (Benachrichtigung) SendNotification(Text);

}

}

//----

Im Moment kann ich das nicht testen, weil es keine Echtzeitkurse gibt. Aber es erscheint mir logisch, ObjectGetValueByShift() auf diese Weise zu verwenden. Ich suche nur nach Zeilenberührungen innerhalb des aktuellen Balkens. Deshalb habe ich (name,0) verwendet.

Aber jetzt wollte ich Sie fragen, ob ich wirklich einen Unterschied zwischen OBJ_HLINE und OBJ_TREND machen muss. Wenn ich ObjectGetValueByShift(name,0) verwende, dann erhalte ich doch auch den Wert einer horizontalen Linie oder liege ich da falsch? Ich sehe keinen logischen Unterschied zwischen ObjectGet(name, OBJPROP_PRICE1) und ObjectGetValueByShift(name,0), wenn nur der Zeilenwert der aktuellen Periode benötigt wird.

Vielleicht können Sie das ein wenig klären? Danke!!!

 
Marbo:
Mladen,

Ich habe es auf diese Weise versucht:

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) return;

static datetime Time0;

if (Time0 == Time[0]) return; // Eine Meldung pro Takt.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

Zeile = ObjectGet(name, OBJPROP_PRICE1);

}

else if (ObjectType(name) == OBJ_TREND)

{

Zeile = ObjectGetValueByShift(Name,0);

}

else continue; // Keine Linie gefunden

if ((High[0]>=(line-_distance) && (line+_distance)>=Low[0]))

{

Text = Symbol()+" M "+Period()+" touched S/R @ "+Close[0];

Alert(Text);

Time0 = Time[0]; // Keine weiteren Alerts.

if (Benachrichtigung) SendNotification(Text);

}

}

//----

Im Moment kann ich das nicht testen, weil es keine Echtzeitkurse gibt. Aber es erscheint mir logisch, ObjectGetValueByShift() auf diese Weise zu verwenden. Ich suche nur nach Zeilenberührungen innerhalb des aktuellen Balkens. Deshalb habe ich (name,0) verwendet.

Aber jetzt wollte ich Sie fragen, ob ich wirklich einen Unterschied zwischen OBJ_HLINE und OBJ_TREND machen muss. Wenn ich ObjectGetValueByShift(name,0) verwende, dann erhalte ich auch den Wert einer horizontalen Linie oder liege ich da falsch? Ich sehe keinen logischen Unterschied zwischen ObjectGet(name, OBJPROP_PRICE1) und ObjectGetValueByShift(name,0), wenn nur der Zeilenwert der aktuellen Periode benötigt wird.

Vielleicht können Sie das ein wenig klären? Danke!!

Marbo

Man muss zwischen der horizontalen Linie und der Trendlinie unterscheiden, weil die Trendlinie ein anderer Objekttyp ist als die horizontale Linie (für die horizontale Linie reicht es, den Wert des Preises 1 zu lesen, und das war's, während für die Trendlinie der Preis 1 überhaupt nicht mit dem Preis 2 übereinstimmen muss, und diese Preise können sich völlig von den Preisen dazwischen unterscheiden).

 

Hallo!

Kann jemand helfen, ein Problem mit diesem Indikator zu beheben?

In mt4 Visual Tester mit aktiviertem Backtesting-Modus funktioniert es Ok in mtf-Modus (H1-H4 auf M5 Chart)

aber in der realen Chart - Linien verzögert.

Vielen Dank an Sie!

mtf_bewegender_durchschnitt.mq4

Dateien:
 

Mladen,

diese Tatsache verstehe ich. Ich meine es nur für meinen einfachen Indikator. Für mich ist es nicht wichtig, woher die Trendlinie kommt oder wohin sie geht. Ich brauche nur den Wert der Trendlinie im aktuellen Bar. Deshalb habe ich gefragt, ob ich es zusammenfassen und nur mit ObjectGetValueByShift() für beide Linien arbeiten kann.

Aber denken Sie, dass es so funktioniert, wie ich es im obigen Code gemacht habe?

Danke!!!

 
Marbo:
Mladen,

diese Tatsache verstehe ich. Ich meine es nur für meinen einfachen Indikator. Für mich ist es nicht wichtig, woher die Trendlinie kommt oder wohin sie geht. Ich brauche nur den Wert der Trendlinie im aktuellen Takt. Deshalb habe ich gefragt, ob ich es zusammenfassen und nur mit ObjectGetValueByShift() für beide Linien arbeiten kann.

Aber denken Sie, dass es so funktioniert, wie ich es im obigen Code gemacht habe?

Danke!!!

Marbo

So wie ich das sehe, sollte es funktionieren.

 
cain82:
Hallo!

Kann jemand helfen, ein Problem mit diesem Indikator zu beheben?

In mt4 visual tester mit aktiviertem Backtesting-Modus funktioniert er im mtf-Modus (H1-H4 auf M5-Chart)

aber im echten Chart verzögern sich die Linien.

Vielen Dank!

mtf_moving_average.mq4

Versuchen Sie stattdessen, den Indikator aus diesem Beitrag zu verwenden: https: //www.mql5.com/en/forum/173574/page239

 
mladen:
Versuchen Sie es stattdessen mit dem aus diesem Beitrag: https: //www.mql5.com/en/forum/173574/page239

Danke für die Antwort!

Aber Ihr indi funktioniert anders.

 
cain82:
Danke für die Antwort! Aber Sie indi funktioniert anders.

Ja, weil es richtig funktioniert. Wenn alles, was korrigiert werden muss, in der von Ihnen geposteten Version gemacht werden würde, wären sie genau gleich.

Grüße