Hilfe bei der Codierung - Seite 333

 

Nur eine Anmerkung:

Code wie dieser :

DayLow = iff(dayofmonth != dayofmonth[1], low, min(low, nz(DayLow[1])))

Bedeutet: DayLow ist das Minimum eines aktuellen oder vorhergehenden Tagestiefs (dasselbe gilt für Hochs). Das sieht zunächst harmlos aus, aber wenn Sie darüber nachdenken, was "vorheriger Tiefstwert" bedeutet, werden Sie bald verstehen, dass alle Balken des Diagramms berücksichtigt werden. Das ist derselbe Fehler, den einige Step-Indikatoren hatten, den Mark Jurik bei der Berechnung einer Stochastik (ich nannte sie damals "Stochastik mit unendlicher Länge") und einige andere Indikatoren haben ... und der zu zwei Dingen führt: zu einer Verformung der berechneten Daten (Tiefs und Hochs sind immer nur niedriger oder nur höher, nie umgekehrt) und schließlich zu einer Neuberechnung (wenn Sie den Zeitrahmen oder das Symbol wechseln, gehen einige Balken verloren, die vorher die ältesten waren, und das kann das Endergebnis beeinflussen)

 

Ich habe es versucht. Ich habe gerade nicht viel Zeit, also können Sie es gerne korrigieren.

//+------------------------------------------------------------------+

//| Magarto |

//+------------------------------------------------------------------+

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DimGray

double all4[];

double ma[];

double maslopeB[];

double candleOver[];

double bothElder[];

int init()

{

IndicatorBuffers(5);

SetIndexBuffer(0,all4);

SetIndexBuffer(1,ma);

SetIndexBuffer(2,maslopeB);

SetIndexBuffer(3,candleOver);

SetIndexBuffer(4,bothElder);

IndicatorShortName("Magarto");

return(0);

}

int deinit()

{

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int start()

{

int counted_bars = IndicatorCounted();

int i,limit;

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit = MathMin(Bars-counted_bars,Bars-1);

for(i=limit; i>=0; i--)

{

ma = iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,i);

double maslope = ma - ma;

if(maslope < 0) maslopeB = -1;

else if(maslope > 0) maslopeB = 1;

else maslopeB = 0;

if(((Open + Close + High + Low) / 4) > ma) candleOver = 1; else candleOver = -1;

double xMA = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i);

double DayLow = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayLow = iLow(NULL,PERIOD_D1,i);

else DayLow = MathMin(iLow(NULL,PERIOD_D1,i),iLow(NULL,PERIOD_D1,i+1));

double bearpower = DayLow - xMA;

double DayHigh = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayHigh = iHigh(NULL,PERIOD_D1,i);

else DayHigh = MathMax(iHigh(NULL,PERIOD_D1,i),iHigh(NULL,PERIOD_D1,i+1));

double bullpower = DayHigh - xMA;

if (bearpower > 0 && bullpower > 0) bothElder = 1;

else if(bearpower < 0 && bullpower < 0) bothElder = -1;

else bothElder = 0;

all4 = maslopeB + candleOver + bothElder;

}

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

 

Hallo, ich wollte nur fragen, eine Sache, die in meinem Kopf Form eine sehr lange Zeit über Multi-Time-Frame-Indikatoren ist.

Schauen Sie sich das Bild: Dies ist ein Range Bars 6 Pip Chart des Dow Jones mit Blau Ergodic Indikator, ich habe den Moment des Verkaufssignals hervorgehoben. Es tritt am Ende dieser Kerze auf. Diese Kerze öffnet bei 14,43 und schließt bei 14,57.

Ich habe den Indikator im Range Bars 2 Pip Chart gezeichnet, mit den gleichen Einstellungen, und ihn auf einen 6 Pip Range Bars Chart ausgerichtet.

Er zeigt den Beginn des Verkaufssignals an, wenn die Kerze im 6-Pip-Chart noch nicht geschlossen ist. Ich weiß, dass dies das NORMALE Verhalten des mtf-Indikators ist, es könnte nicht anders sein.

Mein Ziel ist es nur, 2 weitere Farben zu erstellen, hellrosa für Verkaufssignale und hellgrün für Kaufsignale, wenn die höhere tf Kerze noch nicht geschlossen ist.

Es sollte also so sein:

Meine Frage ist: ist es möglich, das zu tun? Wie sollte ich die Sache angehen?

Danke

Dateien:
my.jpg  114 kb
2_pip.jpg  102 kb
6_pip.jpg  87 kb
 
thefxpros:
Hallo, ich wollte nur eine Frage stellen, die mir schon lange im Kopf herumschwirrt, wenn es um Multi-Time-Frame-Indikatoren geht.

Sehen Sie sich das Bild an: Dies ist ein Range Bars 6 Pip Chart des Dow Jones mit Blau Ergodic Indikator, ich habe den Moment des Verkaufssignals hervorgehoben. Es tritt am Ende dieser Kerze auf. Diese Kerze öffnet bei 14,43 und schließt bei 14,57.

Ich habe den Indikator im Range Bars 2 Pip Chart gezeichnet, mit den gleichen Einstellungen, und ihn auf einen 6 Pip Range Bars Chart ausgerichtet.

Er zeigt den Beginn des Verkaufssignals an, wenn die Kerze im 6-Pip-Chart noch nicht geschlossen ist. Ich weiß, dass dies das NORMALE Verhalten des mtf-Indikators ist, es könnte nicht anders sein.

Mein Ziel ist es nur, 2 weitere Farben zu erstellen, hellrosa für Verkaufssignale und hellgrün für Kaufsignale, wenn die höhere tf Kerze noch nicht geschlossen ist.

Es sollte also so sein:

Meine Frage ist: ist es möglich, das zu tun? Wie sollte ich die Sache angehen?

danke

Es ist machbar - fügen Sie einfach 2 weitere Puffer für den aktuellen Bar

 
assassin:
Ich habe den ersten Link dafür erhalten

Wenn Sie mit dem Cursor auf die Funktion gehen, werden Sie sehen, was es ist

etwa so

mladen:
Nur eine Bemerkung :

Code wie dieser :

DayLow = iff(dayofmonth != dayofmonth[1], low, min(low, nz(DayLow[1])))

Bedeutet : DayLow ist ein Minimum des aktuellen Tages oder des vorhergehenden niedrigsten Tagestiefs )dasselbe für Highs). Nun, es sieht harmlos aus, wenn es beschrieben wird, aber wenn man darüber nachdenkt, was "vorheriges niedrigstes Tagestief" bedeutet, wird man bald verstehen, dass es alle Balken des Charts berücksichtigt. Das ist derselbe Fehler, den einige Step-Indikatoren hatten, den Mark Jurik bei der Berechnung einer Stochastik (ich nannte sie damals "Stochastik mit unendlicher Länge") gemacht hat und den einige andere Indikatoren haben ... und der zu zwei Dingen führt: zu einer Verformung der berechneten Daten (Tiefst- und Höchststände sind immer nur niedriger oder nur höher, nie umgekehrt) und schließlich zu einer Neuberechnung (wenn Sie den Zeitrahmen oder das Symbol wechseln, gehen einige Balken, die vorher die ältesten waren, verloren, und das kann das Endergebnis beeinflussen)
airquest:
Ich habe es ausprobiert. Habe im Moment nicht viel Zeit, also können Sie es gerne korrigieren.

//+------------------------------------------------------------------+

//| Magarto |

//+------------------------------------------------------------------+

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DimGray

double all4[];

double ma[];

double maslopeB[];

double candleOver[];

double bothElder[];

int init()

{

IndicatorBuffers(5);

SetIndexBuffer(0,all4);

SetIndexBuffer(1,ma);

SetIndexBuffer(2,maslopeB);

SetIndexBuffer(3,candleOver);

SetIndexBuffer(4,bothElder);

IndicatorShortName("Magarto");

return(0);

}

int deinit()

{

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int start()

{

int counted_bars = IndicatorCounted();

int i,limit;

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit = MathMin(Bars-counted_bars,Bars-1);

for(i=limit; i>=0; i--)

{

ma = iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,i);

double maslope = ma - ma;

if(maslope < 0) maslopeB = -1;

else if(maslope > 0) maslopeB = 1;

else maslopeB = 0;

if(((Open + Close + High + Low) / 4) > ma) candleOver = 1; else candleOver = -1;

double xMA = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i);

double DayLow = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayLow = iLow(NULL,PERIOD_D1,i);

else DayLow = MathMin(iLow(NULL,PERIOD_D1,i),iLow(NULL,PERIOD_D1,i+1));

double bearpower = DayLow - xMA;

double DayHigh = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayHigh = iHigh(NULL,PERIOD_D1,i);

else DayHigh = MathMax(iHigh(NULL,PERIOD_D1,i),iHigh(NULL,PERIOD_D1,i+1));

double bullpower = DayHigh - xMA;

if (bearpower > 0 && bullpower > 0) bothElder = 1;

else if(bearpower < 0 && bullpower < 0) bothElder = -1;

else bothElder = 0;

all4 = maslopeB + candleOver + bothElder;

}

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

Guten Morgen an alle

Zuerst möchte ich mich dafür entschuldigen, dass ich nicht auf ihre Arbeit geachtet habe, mia ist eine Anfrage und ich habe nicht auf Ihre Fragen geachtet

Magarto ist ein spanischer Benutzer, wie Sie sagten mladen

Die Arbeitsplattform mit und haben Sie gesehen

Ich versuche, seine Strategie zu MQL4 übersetzen

Aber mein Niveau der Programmierung ist zu grundlegend

Ich möchte diese Entwicklung viel zu danken

Ich kann fragen, bitte, wenn Sie die Punkte einschließen können, wenn der Indikator die Enden erreicht

Visualisieren Sie etwas wie das

Nochmals, vielen Dank.

Eine Umarmung an alle fuerte

Hermo

Dateien:
 
Hermo:
Guten Morgen an alle

Zunächst möchte ich mich entschuldigen, für die nicht aufmerksam auf ihre Arbeit, mia ist ein Antrag und ich habe nicht beobachtet Ihre Fragen

Magarto ist ein spanischer Benutzer, wie Sie sagten mladen

Die Arbeitsplattform mit und haben Sie gesehen

Ich versuche, seine Strategie zu MQL4 übersetzen

Aber mein Niveau der Programmierung ist zu grundlegend

Ich möchte diese Entwicklung viel zu danken

Ich kann fragen, bitte, wenn Sie die Punkte einschließen können, wenn der Indikator die Enden erreicht

Visualisieren Sie etwas wie das

Nochmals, vielen Dank.

Eine Umarmung an alle fuerte

Hermo

Bitte sehr, ich habe einige Dinge korrigiert. Der Code sieht genauso aus wie das Original, aber auf anderen Zeitrahmen als dem täglichen, scheinen die Ergebniswerte anders zu sein als auf Tradingview. Ich bin mir nicht sicher, ob das an den Unterschieden zwischen tradingview und MT4 oder an einem Fehler liegt. Da es Hochs und Tiefs von Kerzen verwendet, würde ich sagen, es ist aufgrund von Unterschieden, weil Kerzen sind kaum die gleichen von einer Plattform zur anderen. Wie auch immer, ich glaube nicht, dass ich es besser kann.

Dateien:
magarto.mq4  4 kb
 
airquest:
Bitte sehr, ich habe einige Dinge korrigiert. Der Code sieht genauso aus wie das Original, aber auf anderen Zeitrahmen als täglich, die Ergebniswerte scheinen anders als auf tradingview. Ich bin mir nicht sicher, ob das an den Unterschieden zwischen tradingview und MT4 oder an einem Fehler liegt. Da es Hochs und Tiefs von Kerzen verwendet, würde ich sagen, es ist aufgrund von Unterschieden, weil Kerzen sind kaum die gleichen von einer Plattform zur anderen. Wie auch immer, ich glaube nicht, dass ich es besser kann.

Guten Morgen

vielen Dank für Ihre Arbeit und Ihr Engagement

Der Indikator funktioniert jetzt perfekt

Nochmals herzlichen Dank

tolle Arbeit

Wenn Sie gestatten, werde ich Sie bitten, eine Warnung in den entsprechenden Abschnitt aufzunehmen.

Mit freundlichen Grüßen.

Hermo.

 

Bitte helfen Sie mir......

spikebars_v3.ex4spikebars_v3.mq4Hallo Alle, ich hoffe, dass jemand könnte mir helfen, meine mt4 expert advisor.I bin nicht gut in computing skills.But ich möchte zu machen und expert advisor

mit einem Spike-Bar-Indikator, der die Größe der Candlestick-Körper misst.

Ich möchte, dass das Ea eine Kauf- oder Verkaufsposition basierend auf der Größe des Kerzenkörpers eröffnet.

ex; kaufen, wenn = bull candlestick erscheint mit der Größe von 30 Pips (einstellbar sein).

mit einstellbarem Stoploss und Take Profit und einstellbarer Positionsgröße.

Verkaufen, wenn= Bären-Kerze erscheint mit der Größe von z.B. 30 Pips (einstellbar)

mit einstellbarem Stoploss und Take Profit und einstellbarer Positionsgröße.

So bin ich in der Lage, den Handel nach der aktuellen Analyse anzupassen und lassen Sie die ea Handel für mich.

Ich hoffe, dass jemand, der freundlich ist, mir bitte helfen könnte, weil ich ein Anfänger bin.

Vielen Dank schon mal!

Dateien:
 

Hallo alle, ich hoffe, dass jemand mir helfen könnte, meine mt4 expert advisor.I bin nicht gut in computing skills.But möchte ich machen und expert advisor

mit einem Spike-Bar-Indikator, der die Größe der Candlestick Körper misst.

Ich möchte, dass das Ea eine Kauf- oder Verkaufsposition basierend auf der Größe des Kerzenkörpers eröffnet.

ex; kaufen, wenn = bull candlestick erscheint mit der Größe von 30 Pips (einstellbar sein).

mit einstellbarem Stoploss und Take Profit und einstellbarer Positionsgröße.

Verkaufen, wenn= Bären-Kerze erscheint mit der Größe von z.B. 30 Pips (einstellbar)

mit einstellbarem Stoploss und Take Profit und einstellbarer Positionsgröße.

So bin ich in der Lage, den Handel nach der aktuellen Analyse anzupassen und lassen Sie die ea Handel für mich.

Ich hoffe, dass jemand, der freundlich ist, mir bitte helfen könnte, weil ich ein Anfänger bin.

Vielen Dank schon mal!

 
faremie:
Hallo an alle, ich hoffe, dass jemand mir helfen könnte, meine mt4 expert advisor.I bin nicht gut in computing skills.But würde ich gerne machen und expert advisor

mit einem Spike-Bar-Indikator, der die Größe des Candlestick-Körpers misst.

Ich möchte, dass die Ea eine Kauf- oder Verkaufsposition basierend auf der Größe des Kerzenkörpers eröffnet.

ex; kaufen, wenn = bull candlestick erscheint mit der Größe von 30 Pips (einstellbar sein).

mit einstellbarem Stoploss und Take Profit und einstellbarer Positionsgröße.

Verkaufen, wenn= Bären-Kerze erscheint mit der Größe von z.B. 30 Pips (einstellbar)

mit einstellbarem Stoploss und Take Profit und einstellbarer Positionsgröße.

So bin ich in der Lage, den Handel nach der aktuellen Analyse anzupassen und lassen Sie die ea Handel für mich.

Ich hoffe, dass jemand, der freundlich ist, mir bitte helfen könnte, weil ich ein Anfänger bin.

Herzlichen Dank!

faremie

Es scheint, dass der Indikator, den Sie meinen, nicht beigefügt ist. Würden Sie ihn bitte anhängen?