Probleme mit HistoryDealGetString() und HistoryDealGetInteger()

Einloggen oder registrieren, um einen Kommentar zu schreiben
Otto Pauser
1878
Otto Pauser  

Laut Dokumentation sollte das funktionieren, mach ich da was falsch?

symbol ist string,

ticket ist ulong.

Variante 1: symbol=HistoryDealGetString(ticket,POSITION_SYMBOL);

Variante 2: HistoryDealGetString(ticket,POSITION_SYMBOL,symbol);

Dokumentation:

1. Immediately returns the property value.

string  HistoryDealGetString(
   ulong                      ticket_number,     // Ticket
   ENUM_DEAL_PROPERTY_STRING  property_id        // Property identifier
   );

2. Returns true or false, depending on the success of the function. If successful, the value of the property is placed into a target variable passed by reference by the last parameter.

bool  HistoryDealGetString(
   ulong                      ticket_number,     // Ticket
   ENUM_DEAL_PROPERTY_STRING  property_id,       // Property identifier
   string&                    string_var         // Here we accept the property value
   );


Das meldet der Compiler:


Ich finde die Ursache einfach nicht.

Simples Codebeispie hab ich drangehängt.

Die Funktion 'allow_open' soll prüfen ob bei offenen und/oder geschlossenen Positionen eine gewisse Zeitspanne (in Bars) vergangen ist.

Account ist HEDGING/MT5. Auf einem NETTING Account funktioniert das so nicht.

Oder ist das ein bug?

Bitte schaut euch das an, danke im vorraus.

Dateien:
Test.mq5 10 kb
Carl Schreiber
Moderator
8692
Carl Schreiber  

Das Problem ist "POSITION_SYMBOL"!

Das gilt nicht für Deals, deren Enum beginnen alle mit DEAL_.... (siehe hier: https://www.mql5.com/de/docs/trading/historydealgetstring).

Ich glaube, wenn Du "DEAL_SYMBOL" nimmst passt's.

Ich hatte auch schon solche Probleme, Du bist da nicht alleine :)

Dokumentation zu MQL5: Handelsfunktionen / HistoryDealGetString
Dokumentation zu MQL5: Handelsfunktionen / HistoryDealGetString
  • www.mql5.com
2. Gibt true oder false zurück abhängig davon, ob die Funktion erfolgreich durchgeführt wird. Im Erfolgsfall wird der Wert der Variable in die Empfangsvaiable gesetzt, die durch Referenz vom letzten Parameter übertagen wird.   Man...
Otto Pauser
1878
Otto Pauser  
Carl Schreiber:

Das Problem ist "POSITION_SYMBOL"!

Das gilt nicht für Deals, deren Enum beginnen alle mit DEAL_.... (siehe hier: https://www.mql5.com/de/docs/trading/historydealgetstring).

Ich glaube, wenn Du "DEAL_SYMBOL" nimmst passt's.

Ich hatte auch schon solche Probleme, Du bist da nicht alleine :)

Calli, du bist der Größte! Da hab ich in der dok nicht genau genug gelesen. Jetzt funzts! Danke!
Einloggen oder registrieren, um einen Kommentar zu schreiben