Simboli personalizzati. Errori, bug, domande, suggerimenti. - pagina 16

 
Roman:

Ma tenete presente che il segno di esplicitazione è rotto.

Leggete attentamente la documentazione. È tutto chiaramente scritto lì.

E articoli sul trading automatico.

 
Roman:

E questo è tutto.

Imposta All, che corrisponde a tutti i permessi.

E nella documentazione non c'è niente nella colonna "Valore", è vuota!
E nella colonna "Identificatore" per la linea "Ritorno", suggerisco ancora di specificare la combinazione corretta per le bandiere!
Perché non aggiungere semplicementeSYMBOL_FILLING_RETURN con valore 3, in modo chiaro e comprensibile a tutti.

Perché 3? È chiaro che non capisci la differenza tra le costanti di enumerazione e le bandiere. Leggere i valori degli altri flag, per esempio - i flag dei tipi di ordine consentiti:

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...
 
Artyom Trishkin:

Perché 3? È chiaro che non capisci la differenza tra le costanti di enumerazione e le bandiere. Leggete i significati degli altri flag, ad esempio i flag dei tipi di ordine consentiti:

Artyom, la sua mancanza di comprensione era evidente nel primo post della pagina precedente, #141. E per tanto tempo avete parlato in lingue diverse.
 
Artyom Trishkin:

Perché 3? È chiaro che non capisci la differenza tra le costanti di enumerazione e le bandiere. Leggere i valori di altri flag, per esempio - i flag dei tipi di ordine consentiti:

Artem, stiamo parlando di impostare le proprietà personalizzate del personaggio, le bandiere per il tipo di ordine non hanno nulla a che fare con questo.
3 perché la combinazione SYMBOL_FILLING_FOK | SYMBOL_FILLING_IOC restituisce 3
e se aggiungiamo un nuovo identificatore SYMBOL_FILLING_RETURN, restituirà 3.

E anche la tua spiegazione sopra lo dice, solo che devi aver fatto un errore, invece di "o" ho scritto "e".
Ti sto anche citando:

  • Se c'è un flag SYMBOL_FILLING_FOK e c'è un flag SYMBOL_FILLING_IOC, allora SYMBOL_FILLING_MODE restituirà 3. Allo stesso tempo c'è un "Ritorno".

 
Roman:

Artem, stiamo parlando di impostare le proprietà personalizzate del personaggio, le bandiere per il tipo di ordine non hanno nulla a che fare con questo.
3 perché la combinazione SYMBOL_FILLING_FOK | SYMBOL_FILLING_IOC restituisce 3
e se aggiungiamo un nuovo identificatore SYMBOL_FILLING_RETURN, restituirà 3.

E anche la tua spiegazione sopra lo dice, solo che devi aver fatto un errore, invece di "o" ho scritto "e".
Ti sto anche citando:

  • Se il flag SYMBOL_FILLING_FOK è presente e il flag SYMBOL_FILLING_IOC è presente, SYMBOL_FILLING_MODE restituirà 3. Allo stesso tempo c'è un "Ritorno".

Roman, davvero non capisci cos'è un insieme di bandiere. A quanto ammonterebbero l'1 e il 2? Probabilmente è qualcosa che si può risolvere senza errori. Ecco perché è E.

 
Alexey Viktorov:

Roman, davvero non capisci cos'è un insieme di bandiere. Qual è la somma di 1 e 2? Probabilmente è qualcosa che si può risolvere senza errori. Ecco perché è AND.

Controlla cosa restituisce l'AND.

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC);

E poi questo

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_FOK | SYMBOL_FILLING_IOC);
E poi questo
CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, 3);
 
Roman:

Controlla cosa torna indietro E

E poi questo.

Stampa questo codice

Print("summ_flags = ", SYMBOL_FILLING_FOK | SYMBOL_FILLING_IOC);

Ecco come impostare i permessi per i flag SYMBOL_FILLING_FOK e SYMBOL_FILLING_IOC

Ripetere l'esperimento con questi valori

Print("summa_flag = ", 1 | 2);

Poi con questo

Print("summa_flag = ", 1 | 2 | 3);

E con questi

Print("summa_flag = ", 1 | 2 | 4);
 
Alexey Viktorov:

Stampa questo codice.

Questo è il modo in cui si impostano i permessi per i flag SYMBOL_FILLING_FOK e SYMBOL_FILLING_IOC.

Questo è difficile, ragazzi.

SYMBOL_FILLING_FOK | SYMBOL_FILLING_IOC

Quale operatore pensi che sia |?? Operatore AND?

 
Roman:

Questo è difficile, ragazzi.

Che tipo di operatore pensi che sia questo?

No, è un operatore OR! Ma imposta la possibilità di scegliere SYMBOL_FILLING_FOK o SYMBOL_FILLING_IOC, quindi ci dovrebbe essere una quantità di valori di queste bandiere. E la somma è esattamente AND. 1 e 2 si sommano a 3.

zy. È la mancanza di comprensione di questo che indica una mancanza di comprensione delle bandiere in generale.
 
Alexey Viktorov:

No! Questo è un operatore OR! Ma imposta l'ammissibilità di SYMBOL_FILLING_FOK o SYMBOL_FILLING_IOC, quindi ci deve essere una quantità di questi valori di flag.


Ti stai contraddicendo. In un messaggio scrivi AND, ora scrivi OR.
Lei ha chiaramente un problema di definizione. Stiamo scrivendo un linguaggio mql di alto livello, non dei bit.
Il fatto che i bit avranno AND come risultato dell'addizione è chiaro, ma non lo vediamo, ma lo sappiamo.
Per metterla in modo più logico, in modo che tu possa essere compreso da altri, Bitwise OR restituisce la somma dei valori di flag !
Ma non AND!
Chiudiamo questo argomento.