mql5 - vertikale Linie nach einer bestimmten Zeit seit dem letzten Handel - Seite 5

 

Letztes Geschäft Verschieben Vertikale Linie

Version "1.004"

Nun wird die Linie entsprechend den Anforderungen verschoben.

   long offset_seconds=60*60*1;
   if(profit_last_day<=0.0 && profit_last_deal<=0.0)
     {
      offset_seconds=60*60*24;
     }
   else if(profit_last_day>0.0 && profit_last_deal<=0.0)
     {
      offset_seconds=60*60*2;
     }

   VLineMove(0,InpVLineName,time[rates_total-1]+offset_seconds);


Nachdem Sie den Indikator aus dem Diagramm entfernt haben, wird der Diagrammkommentar gelöscht und die Linie wird gelöscht.

//+------------------------------------------------------------------+ 
//| Custom indicator deinitialization function                                 | 
//+------------------------------------------------------------------+ 
void OnDeinit(const int reason)
  {
   Comment("");
   VLineDelete(0,InpVLineName);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
 
Vladimir Karputov:

Letztes Geschäft Verschieben Vertikale Linie

Version "1.004"

Nun wird die Linie entsprechend den Anforderungen verschoben.


Nachdem Sie den Indikator aus dem Diagramm entfernt haben, wird der Diagrammkommentar gelöscht und die Linie wird gelöscht.

Großartig!
Nur, so wie ich es verstehe, gibt es eine Ungenauigkeit in der Definition der erforderlichen Zeit, nämlich die Verschiebung wird zur aktuellen Zeit addiert, während sie zur Schlusszeit des letzten Geschäfts addiert werden sollte.
Daher kann die Linie sowohl in der Zukunft als auch in der Vergangenheit landen:
- in der Zukunft. Zum Beispiel wurde der letzte Handel vor 10 Minuten getätigt, mit negativen Ergebnissen für den Handel selbst und für den Tag als Ganzes - die Linie hat sich um 23 Stunden und 50 Minuten gegenüber der aktuellen Zeit verschoben.
- in der Vergangenheit. Zum Beispiel, das letzte Geschäft war gestern Abend um 20:00 Uhr, als Ergebnis plus auf das Geschäft und plus auf den Tag - die Linie wurde auf dem gestrigen Balken gezogen, der der Zeit 21:00 Uhr entspricht

 
Ich handle nicht auf diesen Indikator, während die Linie in der Zukunft ist - emotional erholt, um die nächste Handelsentscheidung mit einem kühlen Kopf zu machen
 
renatmt5:

Großartig!
Soweit ich sehe, gibt es jedoch eine Ungenauigkeit bei der Angabe der erforderlichen Zeit, nämlich dass die Verschiebung zur aktuellen Zeit addiert wird, während die Verschiebung zum Zeitpunkt des Abschlusses des letzten Geschäfts hinzugefügt werden sollte.
Daher kann die Linie sowohl in der Zukunft als auch in der Vergangenheit landen:
- in der Zukunft. Zum Beispiel wurde der letzte Handel vor 10 Minuten getätigt, mit negativen Ergebnissen für den Handel selbst und für den Tag als Ganzes - die Linie verschob sich um 23 Stunden und 50 Minuten gegenüber der aktuellen Zeit.
- in der Vergangenheit. Zum Beispiel, das letzte Geschäft war gestern Abend um 20:00 Uhr, als Ergebnis plus auf das Geschäft und plus auf den Tag - die Linie wurde auf dem gestrigen Bar entsprechend der Zeit 21:00 Uhr gezogen

Es ist nicht die Zeit, die ungenau definiert ist, es ist die Aufgabenstellung, die immer weiter verfeinert wird :)

Wir müssen also die Funktion LastProfitForPeriod ändern und ihr ein drittes Argument hinzufügen - den Zeitpunkt des letzten Handels. Aber ich werde das in der Mittagspause machen.

 
Vladimir Karputov:

Es ist nicht die Zeit, die ungenau definiert ist, es ist die Aufgabenstellung, die immer weiter verfeinert wird :)

Wir müssen also die Funktion LastProfitForPeriod ändern und ihr ein drittes Argument hinzufügen - den Zeitpunkt des letzten Handels. Aber ich werde es in der Mittagszeit tun.

Vladimir, ich werde die Ungenauigkeit der Anforderungsspezifikation in Zukunft auf jeden Fall in Betracht ziehen!

 
Ja, ich habe auch gerade bemerkt, dass der Gewinn des letzten Tages und der Gewinn des letzten Geschäfts in den Kommentaren nicht mehr gezählt werden - sie werden als Nullen angezeigt.
Mein letzter Handel war vor 19 Stunden, d.h. innerhalb von +-24 Stunden nach der aktuellen Zeit
 
Nur für den Fall, dass zwischen der letzten Transaktion gestern und dem aktuellen Zeitpunkt eine Makleroperation ACID_NW - Provision, wie ich sie verstehe - stattgefunden hat. Aber man weiß ja nie - vielleicht ist der Berechnungsalgorithmus ja irgendwie "kaputt".
 
Nach dem Schließen des Auftragswurden die Daten für denGewinn des letzten Tages und den Gewinn des letzten Geschäfts aktualisiert, und das Ergebnis des neuen letzten Geschäfts und des aktuellen Tages wurden korrekt angezeigt.
 
renatmt5:
Nur für den Fall - zwischen dem letzten Geschäft gestern und dem jetzigen gab es eine ACID_NW-Makleroperation - Provision, wie ich verstehe. Und wer weiß - vielleicht ist der Berechnungsalgorithmus dadurch irgendwie "kaputt" gegangen

Ich werde nichts ändern, da es je nach Art des Kontos mehr und mehr Feinheiten gibt: Netting oder Hedging.


Ich werde nichts ändern, weil es je nach Kontotyp immer mehr Nuancen gibt: Netting oder Hedging.

 
Vladimir Karputov:

Ich werde nichts ändern, da es je nach Art des Kontos immer mehr Feinheiten gibt: Netting oder Hedging.


Der Rest bleibt Ihnen überlassen.

Gut.
Vielen Dank für deine Hilfe, Vladimir!

Grund der Beschwerde: