Jump to content
Tom Next - Daytrading Community

Probleme beim E/A, dauernd Fehlermeldungen


sill3000

Recommended Posts

... ob es die gewünschte Position ist: Symbol, MagicNumber etc.

Genau!

Ich benutz bei einem EA, der gleichzeitig mehrere Positionen öffnet die letzten 4 Bits der MagicNumber um die Signale durchzunummerieren. So kannst du die einzelnen Positionen sauber separieren.

Link to comment
Share on other sites

Es gibt zwei Möglichkeiten (siehe auch Post von Wogo):

1. automatisch durch Erreichen von SL/TP

2. per OrderClose

 

Im zweiten Fall musstest du ja selber vorher per OrderSelect die Position wählen (Ticketnummer) und daher wird genau diese geschlossen. Nach dem OrderSelect würdest du in deinem EA prüfen, ob es die gewünschte Position ist: Symbol, MagicNumber etc.

 

Jetzt nehmen wir an, ich habe drei offene Positionen, jede hat eine andere Ticketnummer. Wie komme ich denn an die richtige Nummer ?

Link to comment
Share on other sites

Jetzt nehmen wir an, ich habe drei offene Positionen, jede hat eine andere Ticketnummer. Wie komme ich denn an die richtige Nummer ?

Das hängt jetzt ganz von deiner Strategie ab.

Nehmen wir mal an, du hast für jedes dieser 3 Tickets einen eigenen Stop-Loss und einen eigenen Take-Profit, die du über den EA verwaltest, dann mußt du dir im Programm selber merken, welches Ticket zu welchem SL/TP gehört. Das Ticket bekommst du ja, wie bekannt, per OrderSend() geliefert.

 

Liest du die offenen Positonen zyklisch vom Server aus, so kannst du über die MagicNumber die Orders durchnummerieren z.B. der ersten ....1, der 2. ....2 usw. dann kannst du im Progamm leicht zuordnen, welche Position was ist...

 

Bei mehreren offenen Positionen gleichzeitig kann ein EA schon etwas komplizierter werden. :nictation:

Link to comment
Share on other sites

Jetzt nehmen wir an, ich habe drei offene Positionen, jede hat eine andere Ticketnummer. Wie komme ich denn an die richtige Nummer ?

Gegenfrage: woran würdest du bei den drei Positionen deine eine gewollte (zu schließende) Position erkennen? Nur du als Mensch mit deinen Augen. :sosry: Ist es der SL oder der TP, die vergangene Zeit seit Eröffnung etc.?

Link to comment
Share on other sites

Wie hoch ist eigentlich die maximale Anzahl an Trailing-Stops, die MT4 verarbeiten kann, ich habe mal ca. 480 Trades geöffnet und kann nur maximal 100 bearbeiten, gibt es da eine Begrenzung oder ?

Ich wüsste nicht, dass es eine Beschränkung bei der Anzahl der offenen Trades gibt. Zumindest sollten die geöffneten Positionen auch alle zu bearbeiten sein.

Und wenn dein EA bei 3 offenen Positionen nur drei bearbeitet, klingt das für mich nach einem Problem in der Abfrage-Schleife, in der du die Posis durchgehst. Hier wäre mal der aktuelle EA-Quellcode hilfreich.

 

edit: Oder zielt dein anderes eröffnetes Topic auf die Beantwortung der Frage ab?

Link to comment
Share on other sites

  • 4 weeks later...

Hallo Community,

 

jetzt habe ich eine weitere Schwierigkeit, nämlich irgendwie scheint die Order-Funktion nicht zu fkt. bzw ich denke ich mache was falsch.

 

Ich möchte den Stop/Loss für Long und für Short flexibel machen, d.h. von aussen einstellbar.

 

Mit:

extern double StopLossLongEntry=300;// weil 5 Digit -Broker entsprechen 30 Pips Abstand

extern double StopLossShortEntry=300;

 

 

Wenn ich die Orders aufrufe da geht nix( :plorar1: )

 

 

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLossLongEntry*Point,0,"my 33",01234,Yellow);

 

 

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLossLongEntry*Point,0,"my 33",01234,Green);

 

Ich verstehe nicht ganz warum das nicht funzt.

 

Danke für eure Hilfe.

Link to comment
Share on other sites

Eine Fehlermeldung gibt es weder beim Compilieren noch beim "Journal", das ist ja das verwirrende für mich.

Die Funktion OrderSend() hat 11 Parameter. Wenn ich bei dir nachzähle :5+5: , dann komm ich nur auf 10.

So wie es aussieht, hast du das Gültigkeitsdatum vergessen.

Probiers mal so!

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLossLongEntry*Point,0,"my 33",01234,0,Yellow);
                                                                                ^^

Link to comment
Share on other sites

Die Funktion OrderSend() hat 11 Parameter. Wenn ich bei dir nachzähle :5+5: , dann komm ich nur auf 10.

So wie es aussieht, hast du das Gültigkeitsdatum vergessen.

Probiers mal so!

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLossLongEntry*Point,0,"my 33",01234,0,Yellow);
                                                                                ^^

 

 

Danke, werde ich gleich am Sonntag Abend ausprobieren, wenn ich wieder Daten vom Server bekommen kann.

Link to comment
Share on other sites

  • 3 weeks later...

Hallo zusammen, ich habe da ein Problem mit der Close-Order Fkt. irgendwie fkt. das nicht so sehr, habe im Internet nachgesehen, aber der Fehlerteufel :birdie:

 

Hier ist mein code:

 

OrderSelect(ticket,SELECT_BY_TICKET);

if(OrderCloseTime()==0&&OrderType()==OP_SELL)

{

CloseLots=OrderLots();

ClosePrice=Ask;

 

Closed=OrderClose(ticket,CloseLots,ClosePrice,UseSlippage,Red);

}

 

 

ticket wird bei der Order-Send () Fkt. global in einer Variablen gespeichert.

 

UseSlippage habe ich int =20;

 

Habe da Probleme, danke schonmal im Voraus.

Link to comment
Share on other sites

ist denn mein Code korrekt ???

Prinzipiell ja. Du solltest aber noch berücksichtigen, was du machst, wenn das Schliessen nicht gleich funktioniert.

z.B. so:

int Retries=5;        			
double Price=NormalizeDouble(Ask,Digits);
while(Ans==false && Retries>0)
{
 RefreshRates();
 Ans=OrderClose(Ticket,Lots,Price,Slip,Red);   
 Retries--;
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...