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
"OrderSelect()" gibt einen Integer-Wert zurück, obwohl in der Dokumentation eindeutig steht, dass es einen Boolean-Wert zurückgibt?
Boolean ist 0 oder 1
Sie überprüfen nicht einmal das Ergebnis von "OrderClose()" oder ob ein Laufzeitfehler aufgetreten ist! Ich werde den Code schreiben, nachdem ich Order Select FMIC verstanden habe
c-Programmierung ist wichtig zu verstehen. glücklich?
"OrderSelect()" gibt einen Integer-Wert zurück, obwohl in der Dokumentation eindeutig steht, dass es einen Boolean-Wert zurückgibt?
Boolean ist 0 oder 1
Sie überprüfen nicht einmal das Ergebnis von "OrderClose()" oder ob ein Laufzeitfehler aufgetreten ist! ja, aber das kommt nach FMIC
Es ist bereits ein Boolescher Wert, Sie brauchen ihn mit nichts zu vergleichen, weder mit einer anderen booleschen Konstante noch mit einem typisierten Integer. Sie sollten intern dargestellte boolesche Werte nicht hart kodieren! Sie sollten "true" oder "false" verwenden, aber idealerweise nur beim Initialisieren einer Variablen, nicht bei Vergleichen.
Hätten Sie sich die Mühe gemacht, "C" zu lernen, hätten Sie das gewusst!
Ich habe folgende Frage
Was schaltet die Funktion order select von false auf true?
ich verstehe ! gleich nicht
Beispiele
if not order select oder if order select BUT
standardmäßig ist order select 0, was also schaltet order select von 0 auf 1?
In der Dokumentation steht
"Zurückgegebener Wert
Sie gibt true zurück, wenn die Funktion erfolgreich war.
das sind nicht genug Informationen für mich, um zu verstehen
Vielen Dank FMIC
nur dieses Forum
eddie, weißt du irgendetwas über die Auftragsauswahlfunktion?
Natürlich weiß ich das.
Ich habe von anderen Programmierern gelernt und bin in der Lage, die MQL-Bücher und Handbücher zu lesen.
Aber der wichtigste Punkt ist: Ich habe gelernt, den Debugger zu benutzen. Das hat mir viel Zeit bei der Suche nach MEINEN analytischen und Programmierfehlern erspart.
Wenn Sie das verstehen, warum haben Sie es dann nicht von Anfang an richtig gemacht?
boopa26 : Das ist meine Frage
Was schaltet die Funktion select von false auf true um?
Beispiele
if not order select oder if order select BUT
standardmäßig ist order select 0, was schaltet also order select von 0 auf 1?
In der Dokumentation steht
"Zurückgegebener Wert: Es wird true zurückgegeben, wenn die Funktion erfolgreich ist."
das ist nicht genug Information für mich, um zu verstehenEs gibt weder einen "Standardwert" noch wechselt sie von einem Wert zum anderen! Entweder gelingt es, die Reihenfolge auszuwählen, und es wird "true" zurückgegeben, oder es schlägt fehl, und es wird "false" zurückgegeben, und Sie müssen den Fehlercode überprüfen, um herauszufinden, warum!
1. benötigt keine C-Kenntnisse. mql4 hat verschiedene Funktionen
3. lese bereits Dokumentation4. bereits geschriebener Code
Bitte füttern Sie den Troll nicht. Wenn du antwortest, gibst du dem Troll Macht. Wenn ihr den Troll ignoriert, hungert er nach Aufmerksamkeit und stirbt schließlich.
Hallo, ich kann Order Select zyklisch ausführen, um offene Aufträge zu finden, aber ich kann Order Select nicht zyklisch ausführen, um Gewinne aus geschlossenen Aufträgen zu finden.
Dieser Code zyklisiert Order Select, um offene Orders zu finden
//cycle order select
if(OrdersTotal()>0&&
a<OrdersTotal()&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)
a++;
//close open order
if(OrdersTotal()>0&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
OrderMagicNumber()==magic_number&&
OrderType()==OP_BUY&&
// close order signal)
OrderClose(OrderTicket(),lots_2,Bid,3,Blue);
https://docs.mql4.com/trading/orderselect
https://docs.mql4.com/trading/orderprofit
vielleicht dies
b<OrdersHistoryTotal()&&
OrderSelect(b,SELECT_BY_POS,MODE_HISTORY)==0)
b++;
//cycle order select
if(OrdersTotal()>0&&
a<OrdersTotal()&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)
a++;
//close open order
if(OrdersTotal()>0&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
OrderMagicNumber()==magic_number&&
OrderType()==OP_BUY&&
// close order signal)
OrderClose(OrderTicket(),lots_2,Bid,3,Blue);
Sie initialisieren die Variable a nicht und warum ist sie statisch?
Man hat Ihnen bereits gesagt, dass Sie true oder false verwenden sollen, nicht 1 oder 0.
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
Sie gehen die Aufträge nicht zyklisch durch
//cycle order select
if(OrdersTotal()>0&&
a<OrdersTotal()&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)
a++;
//close open order
if(OrdersTotal()>0&&
OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==1&&
OrderMagicNumber()==magic_number&&
OrderType()==OP_BUY&&
// close order signal)
OrderClose(OrderTicket(),lots_2,Bid,3,Blue);
Sie initialisieren die Variable a nicht und warum ist sie statisch?
Es wurde Ihnen bereits gesagt, dass Sie true oder false verwenden sollten, nicht 1 oder 0
// OR
!OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
Sie gehen nicht durch die Aufträge
static int a; sits above start(){ GLOBAL VALUE
es gibt keinen Unterschied zwischen 1 oder 0. true oder false
Ich erhöhe den Wert a, nachdem die Bedingungen in Kraft getreten sind.