leonerd #: Wow, ich habe das Panel gezeichnet, ich habe so viel Zeit investiert. Und es stellt sich heraus, dass man kein Edit-Element erstellen kann...
Bitte zeigen Sie mir Ihr vollständig kompilierbares Beispiel.
Artyom Trishkin #: Zeigen Sie mir Ihr vollständig kompilierbares Beispiel, bitte.
Nun, was gibt es zu kompilieren, wenn es kein solches Objekt gibt.
GRAPH_ELEMENT_TYPE_WF_RADIOBUTTON ist da und viele andere, aber es gibt kein einfaches Edit. Durch die Engine-Methode CreateEditField() ich am Ende ein Feld zu erstellen, aber sagen Sie mir, wie man es an das Panel zu binden?
Was also soll man kompilieren, wenn es kein solches Objekt gibt?
Es gibt GRAPH_ELEMENT_TYPE_WF_RADIOBUTTON und viele andere, aber es gibt kein einfaches Edit. Durch die Engine-Methode CreateEditField() ich am Ende ein Feld zu erstellen, aber sagen Sie mir, wie man es an das Panel zu binden?
Die Bibliothek befindet sich noch in der Entwicklung. Die grafischen Elemente sind weniger als halb fertig. Es gibt noch kein Eingabefeld. Es gibt nur ein Standardfeld, das Sie zu erstellen versuchen.
Wenn das Objekt "Eingabefeld" verfügbar sein wird, wird alles funktionieren. Es ist nicht praktikabel, jetzt ein Standardobjekt an das Formular zu binden - es wird nicht am Ereignismodell des Formularobjekts teilnehmen.
Sie liefert mir nur die letzte Bestellung. Aus irgendeinem Grund werden sie beim Filtern der Aufträge als gelöschte ausstehende Aufträge behandelt.
Ich gebe Ihnen einfach ein paar Informationen. Die erste Order auf der Position wurde mit einem Limiter (SELL STOP) eröffnet, es gab mehrere Aktualisierungen der Position durch Änderung von SL/TP. Dann habe ich ein Ereignis der Schließung auf SL gefangen. Ich versuche, die erste Order der geschlossenen Position zu finden, aber die obige Methode funktioniert nicht richtig.
CEngine engine
....
if(event.TypeEvent()==TRADE_EVENT_POSITION_CLOSED_BY_SL)
{
ulong prev_pos_ticket=event.TicketPositionPrevious(); // hier ist das richtige Positionsticket
CArrayObj* pos_orders=engine.GetListAllOrdersByPosID(prev_pos_ticket); // hier im empfangenen Array nur die letzte Reihenfolge der Position (sl)
}
leonerd geschlossenen Position zu finden, aber die obige Methode funktioniert nicht richtig.
Positionsticket und Positions-ID sind zwei völlig verschiedene Dinge. Sie müssen nach der Positions-ID suchen, nicht nach dem Ticket, das sich ständig ändert und dem Ticket der Order entspricht, die den Handel ausgelöst hat, der die Position verändert hat.
Sie sollten Artikel oder Hilfe über das Auftragssystem in MetaTrader 5.... lesen.
Bei ClosePosition() wird das Filling überhaupt nicht ausgefüllt
In Trading.mqh trade_obj.ClosePosition(ticket,comment,deviation) trade_obj hat die erforderliche Ausfüllung, und wenn man in this.m_request.type_filling geht, wird die Methode standardmäßig FOK
leonerd ,comment,deviation) hat trade_obj die erforderliche Ausfüllung, und wenn man in this.m_request.type_filling geht, wird die Methode zum Standard-FOK
Wow, ich habe das Panel gezeichnet, ich habe so viel Zeit investiert. Und es stellt sich heraus, dass man kein Edit-Element erstellen kann...
Zeigen Sie mir Ihr vollständig kompilierbares Beispiel, bitte.
Nun, was gibt es zu kompilieren, wenn es kein solches Objekt gibt.
GRAPH_ELEMENT_TYPE_WF_RADIOBUTTON ist da und viele andere, aber es gibt kein einfaches Edit. Durch die Engine-Methode CreateEditField() ich am Ende ein Feld zu erstellen, aber sagen Sie mir, wie man es an das Panel zu binden?
Was also soll man kompilieren, wenn es kein solches Objekt gibt?
Es gibt GRAPH_ELEMENT_TYPE_WF_RADIOBUTTON und viele andere, aber es gibt kein einfaches Edit. Durch die Engine-Methode CreateEditField() ich am Ende ein Feld zu erstellen, aber sagen Sie mir, wie man es an das Panel zu binden?
Die Bibliothek befindet sich noch in der Entwicklung. Die grafischen Elemente sind weniger als halb fertig. Es gibt noch kein Eingabefeld. Es gibt nur ein Standardfeld, das Sie zu erstellen versuchen.
Wenn das Objekt "Eingabefeld" verfügbar sein wird, wird alles funktionieren. Es ist nicht praktikabel, jetzt ein Standardobjekt an das Formular zu binden - es wird nicht am Ereignismodell des Formularobjekts teilnehmen.
Gut.
Außerdem funktioniert diese Methode nicht richtig
Sie liefert mir nur die letzte Bestellung. Aus irgendeinem Grund werden sie beim Filtern der Aufträge als gelöschte ausstehende Aufträge behandelt.
Ich gebe Ihnen einfach ein paar Informationen. Die erste Order auf der Position wurde mit einem Limiter (SELL STOP) eröffnet, es gab mehrere Aktualisierungen der Position durch Änderung von SL/TP. Dann habe ich ein Ereignis der Schließung auf SL gefangen. Ich versuche, die erste Order der geschlossenen Position zu finden, aber die obige Methode funktioniert nicht richtig.
Positionsticket und Positions-ID sind zwei völlig verschiedene Dinge. Sie müssen nach der Positions-ID suchen, nicht nach dem Ticket, das sich ständig ändert und dem Ticket der Order entspricht, die den Handel ausgelöst hat, der die Position verändert hat.
Sie sollten Artikel oder Hilfe über das Auftragssystem in MetaTrader 5.... lesen.
Bei ClosePosition() wird das Filling überhaupt nicht ausgefüllt
In Trading.mqh trade_obj.ClosePosition(ticket,comment,deviation)
trade_obj hat die erforderliche Ausfüllung, und wenn man in this.m_request.type_filling geht, wird die Methode standardmäßig FOK
hat trade_obj die erforderliche Ausfüllung, und wenn man in this.m_request.type_filling geht, wird die Methode zum Standard-FOK