[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 324

 
RMX13:

Ein Teil des Codes, der einen Auftrag eröffnet und Stop-Loss und Take-Profit festlegt

erzeugt das Terminal folgende Fehler: EURUSD,M30: OrderSend error 130

EURUSD,M30: ungültiges Ticket für OrderModify-Funktion

EURUSD,M30: OrderModify-Fehler 4051

EURUSD,M30: OrderSend fehlgeschlagen mit Fehler #4051 bid:1.23674000 ask:1.23683000 Open:1.23674000 SL:1.2423 TP:1.2283 MODE_STOPLEVEL:0.00000000 LOT:0.01000000

Worin liegt das Problem, können Sie es erkennen?

RMX13, alle haben das gleiche Problem. Um Fehler 130 zu vermeiden, müssen Sie alle Berechnungen mit Preisen, Lots und Bedingungen normalisieren, insbesondere in der Nähe von Preisen unter Berücksichtigung von Spread, Stoplevel und Freezevel, und Slippage, die je nach Volatilität erhöht werden sollte. Nur asc muss nicht normalisiert werden, aber wenn Sie etwas hinzufügen, muss es mit Ziffern, und Lose mit 2 (Cent), etc. im gesamten Code, und natürlich Fehlerbehandlung in allen Handelsfunktionen, so dass nicht zu stören die DC für nichts. Viel Glück!

Siehe in Doc: OrderSend(Alles muss mit dem Inhalt in der eingestellten Reihenfolge übereinstimmen)! Deshalb gibt es Fehler(:((

 

Liebe FAQ! Ich benutze es, wenn es möglich ist, aber es passt nicht zu mir, weil es unveränderlich ist und ich natürlich unerfahren bin. Für den Break-even und die weitere Durchsuchung verwende ich dynamische Methoden mit sich selbst ändernden Parametern, deshalb setze ich weder tralestop noch std. Ich verwende auch Stoploss, wenn die Verbindung unterbrochen wird. Aus diesem Grund verzögert sich manchmal der Abschluss von Mashka und SL wird ausgelöst. Fehler sind sehr selten, weil der Mangel an "Dicke"(granit77) der EA, die ich ständig zu verbessern und die Anpassung an die sich ständig verändernden Markt.

Vielen Dank für Ihre Rücksichtnahme!

Ich habe es gemacht und es hat in meiner Umgebung ohne Fehler im Tester funktioniert. Ich werde es morgen noch einmal bei Real versuchen.

  for(int j = OrdersTotal()-1; j >= 0; j--)
  {
    if(OrderSelect(j, SELECT_BY_POS, MODE_TRADES))
    {  
      if(OrderSymbol() != Symbol() && OrderMagicNumber() != Magic) continue;//фильтр по символу то пропускаем
      if(OrderCloseTime() != 0) continue;        //фильтр по времени закрытия (если не=0 то ордер уже закрыт)
      if(OrderType() == OP_BUY)
      {
        if(maFa0 < maFa1 && maSl0 < maSl1-clo*Point)
        {
          CloseOrder(OrderTicket(),OrderLots(),Bid,slip,Yellow);return(0);
      } }
      if(OrderType() == OP_SELL)
      {
        if(maFa0 > maFa1 && maSl0 > maSl1+clo*Point)
        {
          CloseOrder(OrderTicket(),OrderLots(),Ask,slip,Yellow);return(0);
  } } } }

Ich musste Close in einem separaten Block unterbringen. Nochmals vielen Dank!

Guten Morgen!

Wie man so schön sagt: Morgens ist es besser! Alles, was ich brauchte, war eine Zeile, in der ich nach Aufträgen suchen konnte, die gerade abgeschlossen worden waren:

      if(OrderCloseTime() != 0) continue;        //фильтр по времени закрытия (если не=0 то ордер уже закрыт)
Ich habe alles zusammengefügt und hoffe, dass es deshalb keine weiteren Fehler gibt! Lebe und lerne! Alles Gute, einschließlich des Gewinns positivo!
 
borilunad:

RMX13, alle haben das gleiche Problem. Um Fehler 130 zu vermeiden, müssen Sie alle Berechnungen mit Preisen, Lots und Bedingungen normalisieren, insbesondere in der Nähe von Preisen unter Berücksichtigung von Spread, Stoplevel und Freezevel, und Slippage, die je nach Volatilität erhöht werden sollte. Nur asc muss nicht normalisiert werden, aber wenn Sie etwas hinzufügen, muss es mit Ziffern, und Lose mit 2 (Cent), etc. im gesamten Code, und natürlich Fehlerbehandlung in allen Handelsfunktionen, so dass nicht zu stören die DC für nichts. Viel Glück!

Siehe in Doc: OrderSend(Alles muss mit dem Inhalt in der eingestellten Reihenfolge übereinstimmen)! Deshalb gibt es Fehler(:((

Danke, das ist verständlich.

Und wie lässt sich dieses " ungültige Ticket für die Funktion OrderModify" beseitigen?

 
Im Roboforex-Forum erklären die Moderatoren, dass das Tick-Volumen im MT4 die Anzahl der Änderungen des Geldkurses anzeigt und dass Änderungen des Briefkurses nicht im Tick-Volumen enthalten sind. Dies hat mich sehr überrascht, da ich dachte, dass die Tick-Volumina alle Preisänderungen widerspiegeln - sowohl wenn sich nur Geld- und Briefkurs ändern, als auch wenn sich beide Kurse ändern. Aber sie sind sich sicher, dass sie Recht haben, und fragen, warum das in MT4 so gemacht wird, und schicken es an die Entwickler. Frage an die Entwickler - haben sie wirklich recht und das Tick-Volumen zeigt nur einen Teil aller Preisänderungen?
 

Können Sie mir erklären, bitte, wo zu beginnen, was zu tun ist, was sind die Fallstricke.........oder einen Link zu lesen für Anfänger in Forex?

 
RMX13:

Danke, das ist klar.

Aber wie kann ich dieses " ungültige Ticket für die Funktion OrderModify " beheben?


Dazu muss ich dasselbe Select und in derselben Reihenfolge ausführen, bevor ich die Auftragsart festlege, wie in meinem obigen Code, und dann OrderTicket() in allen Handelsfunktionen angeben.
 
NoBi4ok:

Können Sie mir erklären, bitte, wo zu beginnen, was zu tun ist, was sind die Fallstricke.........oder einen Link zu lesen für Anfänger in Forex?


Wenn Sie sich für den Handel interessieren, müssen Sie die Forex-Fibel herunterladen (Sie finden sie in fast jedem Handelszentrum (DC) in der Rubrik Bildung). Wenn Sie sich für die Forex-Programmierung interessieren, finden Sie oben auf jeder Seite dieser Website einen Link zum Tutorial und zur Dokumentation (Referenzbuch). Aber nach den Fallstricken muss man hier für jeden Fall gesondert fragen - denn dieser Stein muss gestoßen werden. Die Weitergabe von Informationen ohne den Kontext der persönlichen Praxis ist sinnlos: Sie werden sie sofort wieder vergessen.
 
NoBi4ok:

Können Sie mir erklären, bitte, wo zu beginnen, was zu tun ist, was sind die Fallstricke.........oder einen Link zu lesen für Anfänger in Forex?


Siehe oben für alle blauen Empfehlungen des Moderators! Alles sehr wichtig zu lesen und zu verinnerlichen.
 

Wo kann ich nachlesen, wie ich Lose auf der Bilanzlinie verwalten kann?

Ich möchte die Menge erhöhen, wenn der Saldo sinkt, und sie verringern, wenn er steigt.

vielleicht ist eine Eule als Vorlage verfügbar?