Ist der Berater für das wirkliche Leben geeignet? - Seite 30

 
FOReignEXchange:

Ich werde auf jeden Fall weitermachen, wenn die Zeit gekommen ist.

Viel Glück für Sie
 
dentraf:

Viel Glück für Sie!

Ich danke Ihnen!
 
FOReignEXchange:

Die Idee ist, in einem unruhigen Markt mit hoher Volatilität zu handeln. Bei allen wichtigen Währungspaaren ist das inzwischen der Fall. Die Volatilität ist hoch, die Logik und die Systeme funktionieren nicht. Es ist ein Chaos. ....
Na los! Alles funktioniert wie zuvor.
 

Nach der heutigen Volatilität habe ich die Testergebnisse mit den tatsächlichen Ergebnissen verglichen. Leider wurden auf einem solchen Markt erhebliche Diskrepanzen festgestellt.

Ich habe die Terminalprotokolle im Minutentakt auseinandergenommen und eine gute Sache gesehen. Alle Punkte wurden genau auf einen Punkt gesetzt. Der Roboter hat in diesem Sektor alle Gewinne eingefahren, die er erzielen konnte. Doch all diese Gewinne wurden durch das Problem zunichte gemacht. Das Problem ist lösbar, aber ich kann nicht verstehen, warum dies ein Problem ist. Das heißt, wir können keine unnötigen Aufträge löschen. Dafür gibt es meines Erachtens zwei Gründe.

Erstens: Im Protokoll steht Folgendes

22:23:30 '882613': Löschen der schwebenden Order #26344474 buy stop 4.00 EURUSD bei 1.3787 sl: 1.3773 tp: 1.3799
22:23:30 '882613': delete pending order #26344474 buy stop 4.00 EURUSD at 1.3787 sl: 1.3773 tp: 1.3799 failed [Ungültige Parameter]

22:37:27 '882613': lösche ausstehende Order #26347980 verkaufe Stop 4.00 EURUSD bei 1.3668 sl: 1.3682 tp: 1.3656
22:37:27 '882613': delete pending order #26347980 sell stop 4.00 EURUSD at 1.3668 sl: 1.3682 tp: 1.3656 failed [Invalid parameters]
22:37:27 '882613': lösche ausstehende Order #26347980 verkaufe Stop 4.00 EURUSD bei 1.3668 sl: 1.3682 tp: 1.3656
22:37:28 '882613': delete pending order #26347980 sell 4.00 EURUSD at 1.3668 sl: 1.3682 tp: 1.3656 failed [Invalid parameters]

Diese beiden Aufträge wurden nicht gelöscht, und beide verursachten Verluste. Bei der zweiten Bestellung wurde zweimal versucht, sie zu löschen. Ich verstehe nicht, warum sie nicht gelöscht werden. Den ganzen Tag über funktioniert alles gut, aber hier nicht, auch wenn Sie RefreshRates() vor die Löschfunktion setzen.

Und zweitens:

Ich glaube, es ist ein Fehler. Es scheint, als hätte das Terminal nicht genug Speicher oder Verstand. Sie vergisst, dass wir eine Bestellung auswählen. Das sind die Teile, die nicht funktionieren.

if (//Тут условие//)
   {
   if (OrderSelect(ticket_buy,SELECT_BY_TICKET)==true)
     {
     if (OrderType()==OP_BUYSTOP && Ask>(OrderOpenPrice()-4*Point)) 
        {
        i=0;
        while (i<10)
              {
              if (i>0) Sleep(500);      
              RefreshRates(); OrderDelete(ticket_buy); 
              err=GetLastError();
              if (err==0)
                 {
                 ticket_buy=0; return;
                 }
              i++;
              }
        }
     }
   }

Alle Bedingungen sind erfüllt, ich habe sie mit Kommentaren überprüft. In der Phase der Überprüfung der Auftragsart bleibt alles stecken. Die Funktion des Löschens wird nicht weiter verwendet. Das sollten sie aber, da alle Bedingungen erfüllt sind und alle Kommentare sie überprüfen. Es ist nicht das erste Mal, dass ich feststelle, dass wir bei der Auswahl eines Auftrags und der anschließenden Angabe von Parametern des ausgewählten Auftrags in der Bedingung diese Bedingung manchmal nicht richtig lesen können. Je größer die Anzahl der Auftragsparameter in der Bedingung ist, desto häufiger schlägt die Bedingung fehl. In diesem Fall haben wir die Parameter OrderType() und OrderOpenPrice(). Ich denke, viele von uns haben diese seltsame Sache bemerkt. Wie können wir sie loswerden? Oder liegt das Problem vielleicht an etwas anderem? Ich vergaß zu sagen, dass in diesem Fall keine Fehler im Protokoll stehen, sondern nur, dass die Bedingung nicht erfüllt ist, obwohl sie erfüllt sein sollte.

Ich denke, es kann nicht ein Problem in den anderen, weil die Bedingung nicht erfüllt ist selten, in der Regel alles funktioniert gut in diesem Teil, aber manchmal funktioniert es nicht und bringt Verluste.

Seien Sie nicht zu streng mit mir, denn ich bin Autodidakt.

Warum genau habe ich solche Probleme mit der Auftragslöschung? Meine Aufträge werden genau nach Bedarf platziert und der Roboter kassiert alle Gewinne. Aber alles gerät durcheinander, weil wir unnötige Aufträge nicht löschen können! Wenn Sie diese Probleme beseitigen, wird alles so funktionieren, wie es sollte!

 
FOReignEXchange:

Nach dem Protokoll zu urteilen, kam der Code einfach nicht rechtzeitig an.

Das heißt, die Löschung war bereits im Gange, als der Auftrag ausgelöst wurde.

 
TheXpert:

Nach dem Protokoll zu urteilen, kam der Code einfach nicht rechtzeitig an.

Das heißt, die Löschung war bereits im Gange, als der Auftrag ausgelöst wurde.


Und die ausstehenden Aufträge werden genau zur gleichen Zeit eingestellt und nicht übersehen. Warum gibt es ein Problem mit der Löschung? Insbesondere im zweiten Fall hat er zweimal versucht, sie zu löschen.
 
FOReignEXchange:
Und die ausstehenden Aufträge werden genau zur gleichen Zeit eingestellt und nicht übersehen. Warum gibt es ein Problem mit der Löschung? Zumal er im zweiten Fall zweimal versuchte, sie zu löschen.

Schauen Sie genau hin - Sie versuchen zum zweiten Mal, einen ausgeführten Auftrag zu löschen, nicht einen Limitauftrag.

Und für die Einstellung gibt es Stop-Levels und für die Entfernung gibt es nur Frees-Levels.

 
TheXpert:

Schauen Sie genau hin - Sie versuchen zum zweiten Mal, einen ausgeführten Auftrag zu löschen, nicht einen Limitauftrag.

Und es gibt Haltelinien, um eine Bestellung aufzugeben, aber nur Freeslider, um sie zu löschen, und das auch nur, wenn es welche gibt.


Im ersten Fall ist alles klar. Herzlichen Dank! Ist Ihnen die zweite bekannt? Sie ist wichtiger, weil sie häufiger auftritt und mehr Verluste verursacht. Was die Bedingungen angeht, ist alles in Ordnung. Und es ist nicht die Marktgeschwindigkeit, und es bleibt viel Zeit, sie zu beseitigen. Die Bedingung ist einfach nicht erfüllt, obwohl sie erfüllt sein sollte.
 
FOReignEXchange:

Kennen Sie zufällig die zweite? Die Bedingung funktioniert einfach nicht, obwohl sie funktionieren sollte.

Vielleicht scheitert diese Bedingung manchmal, nämlich auf der rechten Seite

if (OrderType()==OP_BUYSTOP && Ask>(OrderOpenPrice()-4*Point))

Normalisieren Sie Ask vor dem Vergleich.

 
OnGoing:

Vielleicht scheitert diese Bedingung manchmal

Normalisieren Sie das Ask vor dem Vergleich.


Etwa so?

NormalizeDouble(Ask,Digits)>(OrderOpenPrice()-4*Point))
Grund der Beschwerde: