Hilfe bei der Codierung - Seite 427

 
AtApi:
Danke mladen, obwohl es nicht genau das ist, wonach ich suche...der doublezigzag malt nicht neu (beide Zickzack ausgerichtet), weil er auf Fraktalen basiert...diese Punkte sind die, von denen ich das Dreieck aufbauen möchte...

Ich habe versucht, den Code ein wenig zu ändern, um die letzten 2 oberen Signale und die letzten 2 unteren Signale zu erhalten, aber ich stecke irgendwie fest. Lass mich dir zeigen, was ich zu tun versuche:

Dieser Teil ist derjenige, der das Signal malt, wenn beide Zickzacklinien ausgerichtet sind:

// Do both zigzag agree on the signal?

if(SlowSignal == FastSignal && SlowSignal != EMPTY_VALUE)

{

if(SlowSignal == OP_BUY)

{

ExtMapBuffer3 = fr_support - nShift*Point;

} else {

ExtMapBuffer3 = fr_resistance + nShift*Point;

}

[/CODE]

after this i want to get the most recent upper and the previously upper and most recent lower and the previously lower like this

[CODE]

HighOldest = ExtMapBuffer3[ArrayMaximum(ExtMapBuffer3,BarsBack,i+2)];

LowOldest = ExtMapBuffer3[ArrayMinimum(ExtMapBuffer3,BarsBack,i+2)];

also sollte ich theoretisch das jüngste von ExtMapBuffer3 und das älteste von HighOldest haben

dann werde ich die 2 Punkte haben, um die Trendlinien zu konstruieren...

aber aus irgendeinem Grund muss es irgendwo im Puffer einen EMPTY_VALUE geben, denn wenn ich ArrayMaximum ausführe, gibt es den EMPY_VALUE als Maximalwert im Array zurück

Ich hoffe, das ist klar...

Vergessen Sie es, ich habe es gelöst!

 
mladen:
TFI Sie haben einen zusätzlichen Parameter, der nicht vorhanden sein sollte: das "" nach dem Indikatornamen (nach "Efficiency_v1.1"). Löschen Sie den ""-Teil (leere Zeichenkette) nach dem Indikatornamen name

Hallo Mladen,

vielen Dank für deine Anregung. Ich frage mich, ob ich vielleicht das Signal des Filters irgendwie falsch verstanden habe, denn der EA eröffnet keinen Handel mehr, obwohl die Bedingung für die Eröffnung eines Long-/Short-Handels erfüllt ist (Nulllinie wird überschritten). Könnten Sie vielleicht meinen Code mit Ihrer Expertise überprüfen?

Vielen Dank (wieder) :-)

if(openedOrders<=0)

{

double trend_up = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trend_down = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

double trendf_up = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,1); // Signal Buffer 1

double trendf_down = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,2);

int clongs = 0;

int cshorts = 0;

for(i=OrdersTotal()-1;i>=0; i--)

{

if(OrderType()==OP_BUY) clongs++; // Check # of long trades.

if(OrderType()==OP_SELL) cshorts++; // Check # of short trades

}

if(trend_up!=trend_down)

{

if((clongs 0 && trendf_down<0)) OpenBuy(); // Indicator and filter = long

if((cshorts < maxshorttrades && trend_down==-1) && (trendf_up0)) OpenSell(); // Indicator and filter = short

}

}

Mit freundlichen Grüßen,

TFI

Dateien:
betrade.jpg  76 kb
 

Hallo zusammen, ich verwende (manuell) den Indikator AbsoluteStrength.

Kann jemand bitte Alarm hinzufügen, wenn die blaue Linie mit der gestrichelten blauen Linie oder die rote Linie mit der gestrichelten roten Linie gekreuzt wird (wie auf dem beigefügten Screenshot gezeigt).

allabsolutestrength_v2.3_600.mq4

Vielen Dank an

Petr Jahoda

 

Hallo Pro-Coders,

Ich frage mich, ob die Berechnung meines ADX-Trendstärke-Filters korrekt sein kann:

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

Ich danke Euch.

 
tfi_markets:
Hallo Pro-Coder,

Ich frage mich, ob die Berechnung meines ADX-Trendstärkefilters korrekt sein könnte:

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

vielen Dank!

tfi_markets

Was die Funktion anbelangt, ja, die kann so aufgerufen werden

 
mladen:
tfi_markets Was die Funktion angeht, ja, die kann so aufgerufen werden

Hallo Mladen,

vielen Dank für deinen Kommentar. Ich möchte meinen Code in erster Linie einfach und fehlerfrei halten, zumal die Fehlersuche mit MQL4 / MT4 eine Herausforderung sein kann.

Nehmen wir an, ich möchte primär stärkere Trends handeln, bei denen der ADX über 20 liegt, kann ich das auch etwas einfacher codieren:

bool ADX_filter()

{

bool result=false;

if(iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)>20) result = true; // buy

if (iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)<20) result = false; // sell

return (result);

}

if(clongs1 && ADX_filter()==true)) OpenBuy();

if(cshorts<maxshorttrades && trendc==-1 &&(CCIFilter<-1 && ADX_filter()==false)) OpenSell()

Richtig?

Vielen Dank im Voraus, und haben ein schönes Wochenende.

 

Hallo.

In letzter Zeit habe ich mit Rumpf gleitenden Durchschnitt und dachte, dass ich auch versuchen, HMA Steigung in einem Indikator-Fenster, fand ich es aber es nicht richtig funktionieren in meinem mt4-Plattform.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

Danke

 
NWFstudent:
Hallo!

In letzter Zeit habe ich mit Rumpf gleitenden Durchschnitt und tought, dass ich auch versuchen, HMA Steigung in einem Indikator-Fenster, fand ich es aber es nicht richtig funktionieren in meinem mt4-Plattform.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

Danke

Sieht so aus, als hätten Sie die Hälfte des Problems bereits gelöst!

 
NWFstudent:
Hallo!

In letzter Zeit habe ich mit Rumpf gleitenden Durchschnitt und tought, dass ich sollte auch versuchen, HMA Steigung in einem Indikator-Fenster, fand ich es aber es nicht richtig funktionieren in meinem mt4-Plattform.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

Danke

NWFstudent

Ändern Sie die 2. Farbe von Schwarz auf eine andere Farbe (und setzen Sie die 3. Farbe auf dieselbe Farbe wie die 2. Farbe). Im Moment sehen Sie es einfach nicht, weil Hintergrund und 2.

 
mladen:
NWFstudent Ändere die 2. Farbe von Schwarz in eine andere Farbe (und setze die 3. Farbe auf die gleiche Farbe wie die 2. Farbe).

Wow, jetzt fühle ich mich wie ein totaler Vollidiot.

Ich habe bei der Eingabe darauf geachtet, dass die Farbe oben blau und unten rot ist, aber du hattest natürlich wie immer recht.

Tut mir leid, dass ich ein Idiot bin