실행 정책을 반환합니다. - 페이지 3

 
Ivan_Invanov :

예, 이진 시스템의 비트로 작업하는 방법을 이해합니다.

이 코드는 예를 들어 3을 반환한 함수를 종료합니다.

(11&1)==1 ; 11==01 아니요, 그건 거짓입니다. 작동하지 않았습니다.

나는 이것을 쓰고 있었고 아마도 조작을 잘못 이해하고 있다고 생각했습니다.

&는 10진수 값을 2진수로 변환하고 비트 연결을 수행한다는 것을 의미합니다.

== 첫 번째 항이 두 번째 항과 같으면 참입니다. 그런거야?

여기 이 야생에서 나는 이해할 수 없으며 독학으로 배웠습니다. 확인 방법과 얻을 수 있는 항목만 알고 있습니다. 예 (11&1)==1은 11이 플래그 1+2+8로만 구성될 수 있으므로 1이 세트에 포함되기 때문에 true가 됩니다.

무엇을 반환할 것인지 확인

 return ( 1 | 2 | 8 );
 
Alexey Viktorov :
여기 이 야생에서 나는 이해할 수 없으며 독학으로 배웠습니다. 확인하는 방법과 얻을 수 있는 항목만 알고 있습니다. 예 (11&1)==1은 11이 플래그 1+2+8로만 구성될 수 있으므로 1이 세트에 포함되기 때문에 true가 됩니다.

무엇을 반환할 것인지 확인

나는 이것을 이진법으로 작성했고 지정하는 것을 잊었습니다. 함수가 3을 반환하고 FOK와 비교하면 작성된 코드의 값을 대체했습니다. 이것이 바이너리가 작성되는 방식입니다. (0b11 & 0b1)==0b1 ; 대괄호 0b11의 결과는 0b11==0b1 표현식입니다. 그러나 내 의견으로는 거짓말로 밝혀졌습니다. 그리고 모든 것이 작동하려면 사실이어야 합니다. 글쎄, 시간이 지나면 이 예가 도움이 될 것입니다. 제가 뭔가 잘못 이해한 것 같습니다. 방금 파란색 도움말을 보았고 그 전에는 mql. 모든 것이 그런 것 같습니다. 제가 정말 멍청한 질문을 했다면 죄송합니다. 답변을 주신 모든 분들께 감사드립니다.
 
mql 도움말 에는 진정한 값 이 0이 아닌 값이라고 쓰여 있습니다. 분명히 이것이 답입니다. 그리고 더 많은 평등, 그리고 si 평등. 이것은 평등이 아니지만 비교된 항이 0보다 크면 값은 참입니다. 아마 그렇게 될 것입니다. 명확하게 쓰여 있지 않기 때문입니다. == 연산자에 대해 이야기하고 있습니다.
Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool
Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип bool
  • www.mql5.com
Внутреннее представление – целое число размером 1 байт. Необходимо отметить, что в логических выражениях допустимо использовать вместо типа bool другие целые или...
 

비트 연산 은 BITwise 연산입니다. 그녀는 비트로 작업합니다. 예를 들어, 1은 00000001입니다. 2는 00000010입니다. 플래그는 1, 2, 4, 8 등만 될 수 있습니다. 한마디로 1비트가 바쁘다.

그리고 플래그 집합에서 모든 비트를 사용할 수 있습니다(예: 00000101). 이 집합에는 플래그 00000001 및 00000100이 포함됩니다. 그리고 플래그 집합에 플래그가 포함되어 있는지 확인하려면 비트 단위 "및 " 플래그와 집합 중 플래그가 남아 있으면 집합에 있는 것입니다.

(00000101 & 00000100 ) == 00000100 - 사실입니다. 이것은 00000101 세트에 00000100 플래그가 있음을 의미합니다.

 
Dmitry Fedoseev :

비트 연산 은 BITwise 연산입니다. 그녀는 비트로 작업합니다. 예를 들어, 1은 00000001입니다. 2는 00000010입니다. 플래그는 1, 2, 4, 8 등만 될 수 있습니다. 한마디로 1비트가 바쁘다.

그리고 플래그 집합에서 모든 비트를 사용할 수 있습니다(예: 00000101). 이 집합에는 플래그 00000001 및 00000100이 포함됩니다. 그리고 플래그 집합에 플래그가 포함되어 있는지 확인하려면 비트 단위 "및 " 플래그와 집합 중 플래그가 남아 있으면 집합에 있는 것입니다.

(00000101 & 00000100 ) == 00000100 - 사실입니다. 이것은 00000101 세트에 00000100 플래그가 있음을 의미합니다.

(양의 용어 1 == 양의 용어 2)라는 진술은 정확하지만 양의 용어 1은 양의 용어 2와 같지 않습니다. 이것이 사실입니까? 도움말에서 true가 0이 아닌 값이라고 말하고 코드가 작동하고 있기 때문에 다음과 같이 나타납니다.
 
Ivan_Invanov :
(양의 용어 1 == 양의 용어 2)라는 진술은 정확하지만 양의 용어 1은 양의 용어 2와 같지 않습니다. 이것이 사실입니까? 도움말에서 true가 0이 아닌 값이라고 말하고 코드가 작동하고 있기 때문에 다음과 같이 나타납니다.
거기에 평등이라는 단어가 더 쓰여 있어서 혼란스러웠다.
 
도움은 어디에 있습니까? 정확히 어디에서 무엇을?
 
Dmitry Fedoseev :
도움은 어디에 있습니까? 정확히 어디에서 무엇을?

제 생각에는 이것은 모순입니다. 가 b와 같을 경우가 아니라 와 b가 0이 아닌 경우에는 참으로 판명됩니다. 글쎄, 모순은 아니지만 명확하게 쓰여지지는 않았습니다. 글쎄요, 감사합니다.

파일:
1111.jpg  29 kb
 
ENUM_SYMBOL_TRADE_EXECUTION 이에 반해 어떤 유형이 있는지 기록되지 않고 도움말의 제목이 뒤죽박죽입니다(문자열용으로 작성되었으며 정수를 언급하지 않고 시작됨). 따라서 세 가지 옵션을 모두 시도했지만 매번 컴파일러 오류가 발생했습니다. 뭐가 문제 야?
 long execution = ( long ) SymbolInfoInteger ( _Symbol , ENUM_SYMBOL_TRADE_EXECUTION );
string execution = ( string ) SymbolInfoString ( _Symbol , ENUM_SYMBOL_TRADE_EXECUTION );
double execution = ( double ) SymbolInfoDouble ( _Symbol , ENUM_SYMBOL_TRADE_EXECUTION );
 
Ivan_Invanov :
ENUM_SYMBOL_TRADE_EXECUTION 이와 반대로 어떤 유형이 있는지 기록되지 않고 도움말의 제목이 뒤죽박죽입니다(문자열용으로 작성된 것 같다가 정수에 대한 언급 없이 시작됨). 따라서 세 가지 옵션을 모두 시도했지만 매번 컴파일러 오류가 발생했습니다. 뭐가 문제 야?

다음을 수행해야 합니다.

 //--- Check trade execution mode
   ENUM_SYMBOL_TRADE_EXECUTION market_info = ENUM_SYMBOL_TRADE_EXECUTION ( SymbolInfoInteger ( Symbol (), SYMBOL_TRADE_EXEMODE ));
    
   if ((market_info & SYMBOL_TRADE_EXECUTION_EXCHANGE ) != SYMBOL_TRADE_EXECUTION_EXCHANGE )
  {
     MessageBox ( "Символ " + Symbol () + " не поддерживает TRADE EXECUTION EXCHANGE режим!" , "Ошибка" , MB_OK | MB_ICONHAND );
     return ( false );
  }