zurückgegebene Werte
iok ist 2
fok ist 1
gtc ist 0
Ist dies richtig? Kann es nicht zwei Policen geben?
Es kann ein und zwei ...
//+------------------------------------------------------------------+ //| проверяет разрешенность указанного режима заполнения | //+------------------------------------------------------------------+ bool IsFillingTypeAllowed(string symbol,int fill_type) { //--- получим значение свойства, описывающего режим заполнения int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE); //--- вернем true, если режим fill_type разрешен return((filling&fill_type)==fill_type); }
- www.mql5.com
eine Bit-Überprüfung erforderlich ist, zum Beispiel:
ENUM_ORDER_TYPE_FILLING OrderTypeFilling(const string symbol) { int FillingFlags = (int)SymbolInfoInteger(symbol, SYMBOL_FILLING_MODE); if((FillingFlags & SYMBOL_FILLING_FOK) == SYMBOL_FILLING_FOK) return ORDER_FILLING_FOK; else if((FillingFlags & SYMBOL_FILLING_IOC) == SYMBOL_FILLING_IOC) return ORDER_FILLING_IOC; else return ORDER_FILLING_RETURN; }
if(x>0.0) break; if(x<0.0) y++;
Warum ist dies nicht dasselbe wie die Rückkehr. Return gibt die Kontrolle an das aufrufende Programm zurück, das mit dem nächsten Operator fortfährt. Pause erzwingt einen Übergang zum nächsten Operator. Kann das aufrufende Programm den nächsten Operator ignorieren?
Ich danke Ihnen. Können Sie auch erklären, warum der Bruch manchmal in der if-Anweisung geschrieben wird, z. B. bei einem offiziellen Berater.
Warum ist dies nicht dasselbe wie die Rückkehr. Return gibt die Kontrolle an das aufrufende Programm zurück, das mit der nächsten Anweisung fortfährt. break zwingt das Programm, zum nächsten Operator zu wechseln. Kann das aufrufende Programm den nächsten Operator ignorieren?
Geben Sie mir einen Link zu der Dokumentation, in der diese
if(x>0.0) break; if(x<0.0) y++;
Beispiel ...
Dies ist von Moving Average v1.00 2009-2017. Es ist ein Beispiel im mt5 Terminal. Zeile 64.
1. Versuchen Sie nicht, den Code aus dem Zusammenhang zu reißen.
2. Lesen Sie die Hilfe für den End Break Operator sorgfältig durch.
3 Erst wenn Sie die Aufgaben 1 und 2 erledigt haben, können Sie weitere Fragen stellen.
- www.mql5.com
1. Versuchen Sie nicht, den Code aus dem Zusammenhang zu reißen.
2. Lesen Sie die Hilfe für den End Break Operator sorgfältig durch.
3 Erst wenn Sie die Aufgaben 1 und 2 erledigt haben, können Sie weitere Fragen stellen.
Ich verstehe nicht, Sie sagen, es könnte einer oder zwei sein. Es gibt nur eine Variable in der Funktion. Können Sie mir das anhand eines Beispiels erklären?
iok ist 2
fok ist 1
gtc ist 0
was dann zurückkommt, wenn ioc und fok
Ich verstehe nicht, Sie sagen, dass es eine oder zwei sein können. Es gibt nur eine Variable in der Funktion. Können Sie mir das anhand eines Beispiels erklären?
Beispiel aus der Handelsklasse CTrade. Zuerst wird auf"SYMBOL_FILLING_FOK" geprüft, dann auf"SYMBOL_FILLING_IOC".
//+------------------------------------------------------------------+ //| Set order filling type according to symbol filling mode | //+------------------------------------------------------------------+ bool CTrade::SetTypeFillingBySymbol(const string symbol) { //--- get possible filling policy types by symbol uint filling=(uint)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE); if((filling&SYMBOL_FILLING_FOK)==SYMBOL_FILLING_FOK) { m_type_filling=ORDER_FILLING_FOK; return(true); } if((filling&SYMBOL_FILLING_IOC)==SYMBOL_FILLING_IOC) { m_type_filling=ORDER_FILLING_IOC; return(true); } //--- return(false); }
Die Prüfung erfolgt mit derbitweisen UND-Verknüpfung.
Bitweise UND-Verknüpfung
Die bitweise UND-Verknüpfung der binären Darstellungen x und y. Der Wert des Ausdrucks enthält 1 (WAHR) in allen Bits, in denen sowohl x als auch y ungleich Null sind, und 0 (FALSCH) in allen anderen Bits.
b = ((x & y) != 0);
Beispiel:
char a='a',b='b'; //--- операция И char c=a&b; Print("a = ",a," b = ",b); Print("a & b = ",c); // Результат будет такой: // a = 97 b = 98 // a & b = 96
Mehr über bitweise Operationen.
- www.mql5.com
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
iok ist 2
fok ist 1
gtc ist 0
Ist dies richtig? Kann es nicht zwei Policen geben?