Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 206

 
Vladimir Pastushak:
Wie erkenne ich den Take Profit und Stop Loss einer Position in der Historie?

DEAL_OUT enthält diese Felder.

 
fxsaber:

DEAL_OUT enthält diese Felder.

DEAL_ENTRY_OUT? wie genau erhalte ich diese Felder?

 
fxsaber:

Wir haben eine offene Position mit Null SL und TP, dann ändern wir die Position und SL !=0 und TP !=0, dann schließen wir die Position manuell, egal mit einer Eule, aber nicht zum Take- oder Stop-Preis....

Wie finden wir diese Niveaus von SL und TP? Keine Möglichkeit, im Moment, und dann beweisen, dass jemand die Position geschlossen wurde anders ...

Es wäre logisch, eine Order/Änderung einer Position und einen Trade zu sehen, der zu einer veränderten Position mit dem angegebenen SL und TP führt...

 
Vladimir Pastushak:

Wir haben eine offene Position mit Null SL und TP, dann ändern wir die Position und SL !=0 und TP !=0, dann schließen wir die Position manuell, egal mit einer Eule, aber nicht zum Take- oder Stop-Preis....

Wie finde ich diese Niveaus von SL und TP? Keine Möglichkeit im Moment, und dann beweisen, dass jemand die Position anders geschlossen wurde ...

Screenshot vom Terminal oder Investitionszugang.

Es wäre logisch, eine Order/Änderung einer Position und einen Trade zu sehen, der zu einer veränderten Position mit dem angegebenen SL und TP führt...

DEAL_SL/DEAL_TP Felder.

 
fxsaber:

Screenshot vom Terminal oder Investitionszugang.

DEAL_SL/DEAL_TP Felder.

Die Positionen werden durch den Expert Advisor geschlossen und haben SL und TP, aber es ist nicht möglich, SL und TP in der Historie für Trades und Orders zu erhalten

DEAL_ENTRY_OUT sagt, dass das Geschäft von EA abgeschlossen wurde.

Ich habe bereits alles überprüft, sowohl Aufträge als auch Abschlüsse, es gibt keine Möglichkeit, SL- und TP-Levels einer Position zu erhalten, wenn die Position ansonsten geschlossen wurde...

 
Vladimir Pastushak:

Ich habe bereits alles überprüft, sowohl Aufträge als auch Trades, es gibt keine Möglichkeit, SL- und TP-Levels einer Position herauszufinden, wenn die Position ansonsten geschlossen wurde...

DEAL_SL/DEAL_TP ist eine zukünftige Lösung.

 

Ich weiß nicht, ob es das war oder nicht:

Strukturen und Klassen können sich selbst als statisches Feld enthalten. Dies kann verwendet werden, wenn eine Klasse statische Felder enthält - Zeiger auf Objekte, die gelöscht werden müssen, wenn das Programm endet. Beispiel:

class A
  {
   int               a;
  };

class CRecurs
  {
public:
   int               a;
   static A *        element;
   static CRecurs    s;
                     CRecurs(void) { Print(__FUNCSIG__, " ", EnumToString(CheckPointer(element))); }
                    ~CRecurs(void) { delete element; Print(__FUNCSIG__, " ", EnumToString(CheckPointer(element)));  }
  };
static A* CRecurs::element = new A;
static CRecurs CRecurs::s;

void OnStart() {}

Ergebnis:

CRecurs::CRecurs() POINTER_DYNAMIC
CRecurs::~CRecurs() POINTER_INVALID

(CRecurs kann mit demselben Ergebnis als struct deklariert werden).

Sie können auch eine statische Methode erstellen, die einen Verweis auf ihre eigene Klasse (d. h. dieses statische Feld) zurückgibt.

 
mktr8591:

Ich weiß nicht, ob es das war oder nicht:

Strukturen und Klassen können sich selbst als statisches Feld enthalten. Dies kann verwendet werden, wenn eine Klasse statische Felder enthält - Zeiger auf Objekte, die gelöscht werden müssen, wenn das Programm endet. Beispiel:

Ergebnis:

(CRecurs kann mit demselben Ergebnis als struct deklariert werden).

Sie können auch eine statische Methode erstellen, die einen Verweis auf ihre eigene Klasse (d. h. dieses statische Feld) zurückgibt.

Statische Felder/Methoden unterscheiden sich von globalen (::) nur im Anwendungsbereich.

 
fxsaber:

Statische Felder/Methoden unterscheiden sich von globalen (::) nur im Anwendungsbereich.

Ja.


Beispiel aus dem Leben - in der virtuellen Bibliothek enthält die Klasse VIRTUAL die statische Konstante VIRTUAL_DELETE VirtualDelete;

Er kann durch static const VIRTUAL static_Virtual ersetzt werden;

(und natürlich den Destruktor nach VIRTUAL verschieben) .

Grund der Beschwerde: