gibt die Ausführungsrichtlinie zurück.

 
long  SymbolInfoInteger(_Symbol,SYMBOL_FILLING_MODE);
zurückgegebene Werte

iok ist 2
fok ist 1
gtc ist 0

Ist dies richtig? Kann es nicht zwei Policen geben?

 
Ivan_Invanov:
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 ...

Prüfen:

//+------------------------------------------------------------------+
//| проверяет разрешенность указанного режима заполнения             |
//+------------------------------------------------------------------+
bool IsFillingTypeAllowed(string symbol,int fill_type)
  {
//--- получим значение свойства, описывающего режим заполнения
   int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
//--- вернем true, если режим fill_type разрешен
   return((filling&fill_type)==fill_type);
  }
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как правило...
 

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;
}
 
Vladimir Karputov:

Vielleicht gibt es ein oder zwei ...

Verifizierung:

Ich danke Ihnen. Können Sie auch erklären, warum in der if-Anweisung manchmal break geschrieben wird, ein Beispiel aus dem offiziellen Ratgeber.
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?

 
Ivan_Invanov:
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 aus dem Moving Average v1.00 2009-2017 und ist ein Beispiel im mt5 Terminal. Zeile 64.
 
Ivan_Invanov:
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.

Документация по MQL5: Основы языка / Операторы / Оператор завершения break
Документация по MQL5: Основы языка / Операторы / Оператор завершения break
  • www.mql5.com
Основы языка / Операторы / Оператор завершения break - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

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 danke Ihnen. Ich lösche den Thread, um das Forum nicht zu überladen. Ah, Sie dürfen hier keine Themen löschen.
 
Vladimir Karputov:

Vielleicht gibt es ein oder zwei ...

Prüfung:

Ich verstehe nicht, Sie sagen, es kann einer oder zwei sein. Es gibt nur eine Variable in der Funktion. Können Sie mir das anhand eines Beispiels erklären?
 
Ivan_Invanov:
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

 
Ivan_Invanov:
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.

Документация по MQL5: Основы языка / Операции и выражения / Побитовые операции
Документация по MQL5: Основы языка / Операции и выражения / Побитовые операции
  • www.mql5.com
Дополнение до единицы значения переменной. Значение выражения содержит 1 во всех разрядах, в которых значение переменной содержит 0, и 0 во всех разрядах, в которых значения переменной содержит 1. Сдвиг вправо Двоичное представление x сдвигается вправо на y разрядов. Если сдвигаемое значение имеет беззнаковый тип, то осуществляется логический...
Grund der Beschwerde: