Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1062

 

Da der Autor dieses Drehbuchs meines Wissens nicht aus Russland stammt, gibt es leider keine Antwort.

Deshalb werde ich hier um Hilfe bitten.

So beheben Sie die Warnung :

möglicher Datenverlust aufgrund von Typumwandlung

In diesem Skript.

https://www.mql5.com/ru/articles/download/5204/scraperbot04.mq5

 
erotin:

Da der Autor dieses Drehbuchs meines Wissens nicht aus Russland stammt, gibt es leider keine Antwort.

Deshalb werde ich hier um Hilfe bitten.

So beheben Sie die Warnung :

möglicher Datenverlust aufgrund von Typumwandlung

In diesem Skript.

https://www.mql5.com/ru/articles/download/5204/scraperbot04.mq5

Versuchen Sie dies

f_US=(float)StringToDouble(StringSubstr(CharArrayToString(ch_Buffer),i,8));
 


Habe ich richtig verstanden, dass es in mql5 keine Positionen in der Historie gibt, sondern nur Geschäfte? Nach dem Vorhandensein von HistoryDealsTotal() und dem Fehlen von HistoryPositionsTotal() zu urteilen.

Warum kann man dann auf der Registerkarte "Historie" des Terminals "Positionen" auswählen und sie sind in der Historie sichtbar?

Wie erhält man den Schlusskurs der Positionen in dieser Historie?


 
secret:

Habe ich richtig verstanden, dass es in mql5 keine Positionen in der Historie gibt, sondern nur Geschäfte? Nach dem Vorhandensein von HistoryDealsTotal() und dem Fehlen von HistoryPositionsTotal() zu urteilen.

Ja.

Warum kann man dann auf der Registerkarte "Historie" des Terminals "Positionen" auswählen und sie sind in der Historie sichtbar?

Dies ist einer der Versuche, die Geschichte als Positionen zu interpretieren. Meiner Meinung nach ist sie nicht die erfolgreichste.

Wie erhält man den Schlusskurs der Positionen in dieser Historie?

Ich mache Folgendes mit der Hecke.

#property script_show_inputs

#include <MT4Orders.mqh> // https://www.mql5.com/en/code/16006

input TICKET_TYPE PositionTicket = 0;

void OnStart()
{
  if (OrderSelect(PositionTicket, SELECT_BY_TICKET))
    OrderPrint();
}
 
Alekseu Fedotov:

Versuchen Sie dies

Dankeschön
 
fxsaber Ja.

Es stellt sich heraus, dass Sie mit einer Liste und einem Ticket arbeiten müssen, um den Gewinn eines offenen Geschäfts zu drucken, und dass Sie mit einer anderen Liste und einem anderen Ticket arbeiten müssen, um den Gewinn des gleichen, aber geschlossenen Geschäfts zu drucken?

 
secret:

Es stellt sich heraus, dass man mit einer Liste und einem Ticket arbeiten muss, um den Gewinn eines offenen Geschäfts zu drucken, und dass man mit einer anderen Liste und einem anderen Ticket arbeiten muss, um den Gewinn des gleichen, aber geschlossenen Geschäfts zu drucken?

Ich verstehe die Frage nicht.

 
secret:

Es stellt sich heraus, dass Sie mit einer Liste und einem Ticket arbeiten müssen, um den Gewinn eines offenen Geschäfts zu drucken, und dass Sie mit einer anderen Liste und einem anderen Ticket arbeiten müssen, um den Gewinn des gleichen, aber geschlossenen Geschäfts zu drucken?

Jeder Auftrag und jeder Abschluss hat sein eigenes Ticket, aber auch eine ORDER_POSITION_ID und eine DEAL_POSITION_ID. Davon hängt ab, ob sie zu einer Position gehören oder nicht.

 
secret:

Wie erhalten Sie den Schlusskurs der Positionen in dieser Geschichte?

Sie sollten sich auch darüber im Klaren sein, dass dieser Schlusskurs, selbst bei einem Hedge, mehr Nachkommastellen als Stellen haben kann.


Und er muss nicht einmal in der Nähe des Preises liegen, der zum Zeitpunkt der Positionsschließung für das Symbol galt.

Die Entwickler wollten eine Analogie zur MT4-Geschichte herstellen, was ihnen aber nicht gelang.

Wenn ich den Handelsverlauf im Terminal anzeigen möchte, verwende ich die GUI-Erweiterung. Es zeigt die historischen Positionen wie in MT4 an. Die Schlusskurse entsprechen der Schlusszeit usw.

Historische Positionen sind also eine Konvention, die unterschiedlich interpretiert werden kann.
 
fxsaber:

Ich verstehe die Frage nicht.

Um den Gewinn eines Handels zu berechnen, benötigen Sie vor allem den Eröffnungskurs. Während der Handel offen ist, muss der offene Preis aus der Liste der Positionen für das Positionsticket übernommen werden. Und wenn das Geschäft geschlossen ist, muss der gleiche offene Preis aus einer anderen Liste (Geschäfte, nicht Positionen) für ein anderes Ticket genommen werden. Oder?

Grund der Beschwerde: