Valeurs renvoyées
iok est 2
fok est 1
gtc est 0
Est-ce correct ? Ne peut-il y avoir deux politiques disponibles ?
Il peut y avoir un et deux ...
//+------------------------------------------------------------------+ //| проверяет разрешенность указанного режима заполнения | //+------------------------------------------------------------------+ 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
une vérification des bits est nécessaire. par exemple :
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++;
Pourquoi n'est-ce pas la même chose que le retour. Return renvoie le contrôle au programme appelant, qui passe à l'opérateur suivant. La pause force une transition vers l'opérateur suivant. Le programme appelant peut-il ignorer l'opérateur suivant ?
Merci. Pouvez-vous également expliquer pourquoi la rupture est parfois écrite dans la déclaration if, exemple du conseiller officiel.
Pourquoi n'est-ce pas la même chose que le retour. Return renvoie le contrôle au programme appelant, qui passe à l'instruction suivante. break force le programme à passer à l'opérateur suivant. Le programme appelant peut-il ignorer l'opérateur suivant ?
Donnez-moi un lien vers la documentation où ce
if(x>0.0) break; if(x<0.0) y++;
exemple ...
Ceci est tiré de Moving Average v1.00 2009-2017 .C'est un exemple dans le terminal mt5. Ligne 64.
1. N'essayez pas de sortir le code de son contexte.
2. Lisez attentivement l'aide à l'opérateur End Break.
3) Ce n'est qu'après avoir accompli les tâches 1 et 2 que vous pourrez continuer à poser des questions.
- www.mql5.com
1. N'essayez pas de sortir le code de son contexte.
2. Lisez attentivement l'aide à l'opérateur End Break.
3) Ce n'est qu'après avoir accompli les tâches 1 et 2 que vous pourrez continuer à poser des questions.
Je ne comprends pas, vous dites que ça pourrait être un ou deux. Il n'y a qu'une seule variable dans la fonction. Pouvez-vous me le dire avec un exemple.
iok est 2
fok est 1
gtc est 0
ce qui revient alors si ioc et fok
Je ne comprends pas, vous dites qu'il peut y en avoir un ou deux. Il n'y a qu'une seule variable dans la fonction. Pouvez-vous me le dire avec un exemple.
Exemple de la classe de commerce CTrade. Il est d'abord vérifié pour'SYMBOL_FILLING_FOK', puis pour'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); }
La vérification est effectuée à l'aide del'opération "ET par bit".
Opération ET par bit
L'opération ET par bit des représentations binaires x et y. La valeur de l'expression contient 1 (VRAI) dans tous les bits où x et y contiennent tous deux des valeurs non nulles, et 0 (FAUX) dans tous les autres bits.
b = ((x & y) != 0);
Exemple :
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
En savoir plus sur les opérations par bit.
- www.mql5.com
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
iok est 2
fok est 1
gtc est 0
Est-ce correct ? Ne peut-il y avoir deux politiques disponibles ?