Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich habe niemanden speziell gefragt.
Aber es war sicher richtig, dass Sie es persönlich genommen haben.
Ich kann Sie nicht als Dummkopf bezeichnen, aber Sie sind taub, das steht fest.
Sie hören nicht auf andere. Ich spreche nicht von meinen Bemerkungen, sondern von den Ratschlägen, die Sie erhalten haben.
Haben Sie jemals interoperable Programme geschrieben?
Was Ant_TL fordert, ist "Interoperabilität", die jedoch nicht in MQL implementiert werden kann.
Haben Sie jemals ein interoperables Programm geschrieben?
Worum Ant_TL bittet, ist "Interoperabilität", aber das ist in MQL nicht machbar.
Es ist nicht schwer, das umzusetzen. Und im Prinzip gibt es eine Lösung. Zu faul, um weiterzulesen
Sie ist nicht schwer umzusetzen. Und es gibt eine Lösung. Zu faul, um weiterzulesen
Sie werden nicht in der Lage sein, Vorgänge mit Aufträgen auszuführen und sicherzustellen, dass die Umwelt nicht beeinträchtigt wird.
Es wurde bereits über GetLastError() gesagt, dass Sie nicht in der Lage sein werden, den Code wiederherzustellen, dervon der Funktion GetLastError() zurückgegeben werden sollte.
Sie werden nicht in der Lage sein, Vorgänge mit Aufträgen auszuführen und sicherzustellen, dass die Umwelt nicht beeinträchtigt wird.
Es wurde bereits über GetLastError() gesagt, dass Sie nicht in der Lage sein werden, den Code wiederherzustellen, den die Funktion GetLastError() hätte zurückgeben sollen.
Wenn Sie wollen, können Sie, es wird nur eine eigene Funktion (ich meineGetLastError())
Dies mag wie eine Lösung aussehen - OrderSelect() - MySelect() Wrapper für die Verwendung in Funktionen, die nach Aufträgen nach Index suchen
int last_select=0; // irgendwo vor init und start einfügen
// ...... Programmcode
bool MySelect(int i,int mode=MODE_TRADES){ // Auftragsauswahl - gibt True zurück, wenn der Auftrag ausgewählt ist und zum EA gehört, sonst False
if(OrderSelect(i,SELECT_BY_POS,mode)){
last_select=OrderTicket();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
return(true);
else
return(false);
}
return(false);
}
bool TickSelect(int tick){ // Auftragsauswahl direkt nach Tick
if(OrderSelect(tick,SELECT_BY_TICKET))
last_select=tick;
else
return(false);
return(true);
}
void SomeFunc(){ // Eine Funktionsvorlage, die die Orderauswahl und damit die Programmlogik unterbrechen kann, wenn die aktuelle Orderauswahl nicht beachtet wird
int tick=last_select;
// ... erforderliche Aktionen durchführen
if(tick>0)
TickSelect(tick);
}
Das kann er nicht, es sei denn, Sie ändern diesen Zustand selbst im Programm.
Es wird davon ausgegangen, dass der Auftragsstatus von MODE_TRADES zu MODE_HISTORY gewechselt hat. Und Ihr Expert Advisor hat nichts mit dem Auftrag gemacht. Handelt es sich um dieselbe Reihenfolge oder um eine andere?
Es wurde angenommen, dass sich der Auftragsstatus von MODE_TRADES zu MODE_HISTORY geändert hat. Und Ihr EA hat nichts mit dem Auftrag gemacht. Handelt es sich um dieselbe Reihenfolge oder um eine andere?
Es ist die gleiche Reihenfolge
Dies mag wie eine Lösung aussehen - OrderSelect() - MySelect() Wrapper für die Verwendung in Funktionen, die nach Aufträgen nach Index suchen
int last_select=0; // irgendwo vor init und start einfügen
// ...... Programmcode
bool MySelect(int i,int mode=MODE_TRADES){ // Auswahl der benötigten Order - gibt True zurück, wenn die Order ausgewählt wurde und zum Expert Advisor gehört; ansonsten False
if(OrderSelect(i,SELECT_BY_POS,mode)){
last_select=OrderTicket();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
return(true);
sonst
return(false);
}
return(false);
}
bool TickSelect(int tick){ // Auswahl direkt nach Tick sortieren
if(OrderSelect(tick,SELECT_BY_TICKET))
last_select=tick;
sonst
return(false);
return(true);
}
void SomeFunc(){ // Eine Funktionsvorlage, die die Auftragsauswahl und damit die Programmlogik unterbrechen kann, wenn die aktuelle Auftragsauswahl nicht beachtet wird
int tick=last_select;
// ... die gewünschte Aktion durchführen
if(tick>0)
TickSelect(tick);
}