Fragen Sie! - Seite 136

 

Auftrag aussetzen

Hallo Leute,

in Bezug auf die Programmierung in MQL4 bin ich ein echter Neuling, aber ich lerne jeden Tag dazu. Derzeit versuche ich folgendes:

In der Hauptschleife meines EAs wird, wenn bestimmte Bedingungen erfüllt sind, eine Order eröffnet. Diese Order wird mit einem bestimmten Entry, Stoploss und Takeprofit mit der OrderSend-Funktion versehen.

Es ist jeweils nur eine Order erlaubt:

total = OrdersTotal();

if(gesamt < 1)

{ etc etc

Was ich gerne einrichten würde, ist, dass der EA, wenn der Stoploss oder Takeprofit der Order erreicht ist, mit der Annahme neuer Orders wartet, bis der aktuelle Stundenbalken (der Balken innerhalb des Stoploss oder Takeprofits) zu Ende ist.

Das Problem im Moment ist, dass, sobald der Stoploss oder Takeprofit erreicht ist, sofort eine weitere Order in der Hauptschleife angenommen wird.

Könnt ihr mir bitte weiterhelfen?

FXX

 

Combine EA braucht Hilfe

Hallo zusammen,

Weiß jemand, wie man 2 unterschiedliche EA in 1 EA kombinieren kann? Bitte zeigen Sie mir Schritt für Schritt, wie man das macht?

Vielen Dank im Voraus für Ihre Hilfe!

 

Hängt von der Logik des EA ab

Jeder EA hat eine andere Logik, daher hängt die Methode zum Kombinieren von zwei EAs von deren Logik ab.

Also, wo sind die EA's, die Sie kombinieren möchten?

Bill FX:
Hallo zusammen,

Weiß jemand, wie man 2 unterschiedliche EA in 1 EA kombiniert? Bitte zeigen Sie mir Schritt für Schritt, wie man das macht?

Vielen Dank im Voraus für Ihre Hilfe!
 

Wie kann man Werte bewerten? Brauche Hilfe

Kann mir irgendjemand helfen, wie man eine Rangfunktion erstellt?

Ich habe zum Beispiel einige doppelte Werte wie die folgenden:

a=3.0; b=4.0; c=5.0; d=2.0; e=1.0; f=6.0; g=0.0;

vom höheren zum niedrigeren Wert (6,0, 5,0, 4,0, 3,0, 2,0, 1,0, 0,0)

oder der Wert von (f,c,b,a,d,e,g)

Die Ränge sollten also wie folgt aussehen

Rangnummer: (th)

f=1; c=2; b=3; a=4; d=5; e=6; g=7;

Was ich brauche, ist eine Funktion, die den Rang zurückgibt, wenn ich den Wert eingebe

int rank (double value)

{

Verarbeite alle Werte;

return (der Rang eines Wertes von allen Werten)

}

Ich weiß, es ist einfach, wenn wir eine Funktion wie diese erstellen

zum Beispiel Wert von "a"

int rank (double value)

{

if(a>b && a>c && a>d && a>e && a>f && a>g)

return (1);

.

.

.

if(a<b && a<c && a<d && a<e && a<f && a<g)

return(7);

}

Das Problem ist, wenn die Variationen von Wert sind 2 die Kombination nur ein paar, aber wenn die Variationen erhöhen zum Beispiel 5, 7 oder 10 usw. so die Kombination, um den Rang wird sehr sehr viel.

Ich hoffe, dass mir jemand bei dieser Art von Problem helfen kann.

Thank's berfore, Sorry für mein schlechtes Englisch, aber ich lerne..

Pj..

 

Verwenden Sie ein Array und werfen Sie einen Blick auf die Funktion ArraySort().

Viel Erfolg!

Lux

 

Stoch OBOS

Ich mag diese indi Stoch sehr viel, aber ich brauche Hilfe, um es zu ändern, weil ich die Warnung brauchen, wenn die Stoch über gekauft über verkauft Bereich berühren. Und wenn es Alarm, es kann zeigen, welche Währung zu.

Ich danke Ihnen im Voraus.

Dateien:
 
luxinterior:
Verwenden Sie ein Array und schauen Sie sich die Funktion ArraySort() an.

Viel Glück!

Lux

Das habe ich schon versucht, bin aber immer noch verwirrt,

Ich brauche jemanden, der mir das beibringt oder zeigt, wie ich das machen kann.

Vielleicht könnten Sie Lux?

Vielen Dank im Voraus

 
primajaya:
Jeder EA hat eine andere Logik, so dass die Methode, um zwei EAs zu kombinieren, von ihrer Logik abhängt... Wo sind die EAs, die Sie kombinieren möchten?

Hallo primajaya,

danke für dein Feedback. Ich meine die 1. EA ist offen Trades und die 2. EA ist schließen Trades, wenn die 1. EA offen Trades und hat einige Gewinne und ich möchte die 2. EA schließen Handel bei XXX Gewinne, so wie sollte ich tun? Sie sind Arbeit, wenn ich in 2 Chats anhängen, aber ich möchte 2 in 1 zu kombinieren, als ich nur 1 EA öffnen müssen nur.

Vielen Dank für Ihre Hilfe!

 
Bill FX:
Hallo primajaya,

Vielen Dank für Ihr Feedback. Ich meine die 1. EA ist offen Trades und die 2. EA ist schließen Trades, wenn die 1. EA offen Trades und hat einige Gewinne und ich möchte die 2. EA schließen Handel bei XXX Gewinne, so wie sollte ich tun? Sie sind Arbeit, wenn ich in 2 Chats anhängen, aber ich möchte 2 in 1 zu kombinieren, als ich nur 1 EA öffnen müssen nur.

vielen Dank für deine Hilfe!

Ich weiß immer noch nicht, über die Logik 1. und 2. EA zu öffnen Trades...

Aber vielleicht kann dies Ihnen helfen...

Versuchen Sie, die beiden EAs in einen einzigen EA zu kombinieren.

Der EA sollte also zwei Signale zum Öffnen von Trades haben:

Das erste Signal vom ersten EA und das zweite Signal vom zweiten EA...

Sie können OrderMagicNumber() als Identität für jeden offenen Handel, der durch zwei Signale gemacht wird, verwenden...

zum Beispiel:

wenn offene Trades durch das 1. Signal dann -- magische Zahl ist 1111

wenn offener Handel durch 2. Signal dann -- magische Zahl ist 2222

Wenn wir also den Handel des zweiten Signals schließen wollen, können wir OrderMagicNumber() als Identität zum Schließen verwenden:

Hoffe es hilft...

Pj

 

10Punkte3

PLEAASEEE, PROGRAMMIERER!

Wir brauchen in 10points3 EA, dass, wenn der dritte Handel öffnet, der erste geschlossen wird, ich versuche es, aber es ist immer noch alle Positionen zu schließen.

Eigentlich haben wir:

if (PreviousOpenOrders>OpenOrders)

{

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

mode=Auftragsart();

if (OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)

{

if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Blue); }

if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Rot); }

return(0);

}

}

}

Ich habe mir Folgendes überlegt:

1. die magische Zahl für den ersten Handel ändern, wenn der zweite eröffnet wird, z.B. magicnumber+1

2. wenn der dritte Handel eröffnet wird, schließen Sie den ersten mit der zugewiesenen magicnumber+1.

Liege ich richtig?

Oder wie kann ich auf andere Weise den ersten Handel identifizieren, um ihn später zu schließen?

Wenn Sie mich anleiten oder die Änderungen vornehmen können, umso besser, denn ich bin kein Programmierer, ich lerne gerade.

Diese Änderung wäre der Beginn des heiligen Grals!!!

Dateien:
10p3v0.03_1.mq4  12 kb
Grund der Beschwerde: