Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Probleme beim E/A, dauernd Fehlermeldungen

Geschrieben

Hallo zusammen, habe da wieder das eine oder andere Problem ?

 

Wenn ich den E/A starte kommt manchmal, das heisst nicht immer zwei Fehlermeldungen beim " Experten"-Reiter bei MT4.

 

Nämlich : 4108 d.h. invalid Ticket würde ich mal mit "ungültigem Ticket" übersetzen.

 

129 d.h. invalid Price na ja, "ungültiger Preis".

 

 

irgendwie kriege ich das nicht gebacken, weil es nur ab und zu mal auftritt, verstehe ich nicht.

 

Grüsse schon mal an alle und an die Leute besonders, die mir helfen könnten.

 

Danke schonmal im Voraus.

Featured Replies

Geschrieben
  • Autor

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 ?

Geschrieben

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:

Geschrieben

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.?

Geschrieben
  • Autor
Es geht mir darum, ich habe Schwierigkeiten mit dem Trailing-Stop, der wird für 2 gemacht und dann wird gestoppt und die dritte Position wird nicht verändert.
Geschrieben
  • Autor

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 ?

 

Im Voraus besten Dank

Geschrieben

Nur 480 Stück ?? :scare3: Das MUSS doch funzen. :tongue:

Habe ja null Ahnung von EAs aber die Zahl liesst sich heftig

und ich möchte in deinem Leben echt keine Festplatte sein.

Geschrieben
  • Autor

War nur so ne Ideee um herauszufinden, was man so alles machen kann mit einem EA, ich denke aber, dass die "Start()-Funktion", immer wieder

 

dazwischenfunkt, oder wie seht ihr das ?

Geschrieben

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?

  • 4 Wochen später...
Geschrieben
  • Autor

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.

Geschrieben

gibts denn eine fehlermeldung?

 

MBT als 5 digit broker erlaubt meines wissens nach keine stop limits bei ner order.

Bearbeitet von Quickbeam2k1

Geschrieben
  • Autor

gibts denn eine fehlermeldung?

 

MBT als 5 digit broker erlaubt meines wissens nach keine stop limits bei ner order.

 

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

Geschrieben

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);
                                                                                ^^

Geschrieben
  • Autor

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.

Geschrieben

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

Bin ja kein Progger, aber kann man das nicht mit einem Simulator auch am WE testen ?

Nur so rein informativ, bin doch immer so neugierig...

  • 3 Wochen später...
Geschrieben
  • Autor

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.

Geschrieben

Habe da Probleme, danke schonmal im Voraus.

Welche Probleme hast'n da?

Wenn es der Error 129 ist, dann mach mal NormalizeDouble(Ask,Digits)!

Geschrieben
  • Autor

Welche Probleme hast'n da?

Wenn es der Error 129 ist, dann mach mal NormalizeDouble(Ask,Digits)!

 

 

Eher so Quelltextprobleme, so pauschal eben.

Geschrieben

Eher so Quelltextprobleme, so pauschal eben.

 

Aha, :birdie:

Meinst du also, wie man die OrderClose()-Funktion generell in einen EA einbaut, oder compiliert dein Code nicht...?

Geschrieben
  • Autor

ist denn mein Code korrekt ???

 

order-close() fkt. generell

Bearbeitet von sill3000

Geschrieben

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--;
}

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.