Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1074

 
Artyom Trishkin:

E si stampano i valori numerici delle bandiere. Il flag totale dovrebbe contenere tutti i valori dei flag desiderati. E a cosa corrisponde OBJ_PERIOD_H3-1? Se la somma di tutte le bandiere prima di essa, allora sì, ma se non è così, allora c'è un bug da qualche parte.

No... Stavo parlando di bandiere in un thread l'altro giorno e sperimentando linee come questa

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

si aggiunge al 7

а

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

dà solo 3.


Aggiunto:

Guarda, bandiera 4... la somma prima di essa è 3.

bandiera 16... la somma prima che sia 15.

E così via.

 
Alexey Viktorov:

No... Stavo parlando di bandiere in un thread l'altro giorno e sperimentando linee come questa

si aggiunge al 7

а

dà solo 3

Naturalmente. È proprio lì.

Ogni bandiera successiva ha, deve avere un valore doppio della precedente.

E inserendo 3 invece di 4, avete duplicato le prime due bandiere: 1 e 2
 
Alexey Viktorov:
Certo che lo è. Solo una breve linea. Bisogna solo determinare qual è la TF più vecchia nella lista delle bandiere.

Funziona per noi! Una grande soluzione!

 
Anzhela Sityaeva:

Funziona per noi! Grande soluzione!

Questo è solo se volete che tutto sia visibile PRIMA del tempo massimo. Non appena si vuole rimuovere uno qualsiasi di quelli prima del più vecchio, non funzionerà con un tale disegno.

ZS, mi scusi, è "voi", "noi", "nostra maestà"?

 
Artyom Trishkin:

Questo è solo se volete che tutto sia visibile PRIMA del periodo più anziano. Non appena si vuole rimuovere qualcuno di quelli che sono prima del più anziano, niente funzionerà con una tale costruzione.

Artem, tutto si risolverà.

Per esempio, è necessario visualizzare tutti quelli inferiori tranne M15...

Allora lo sarà.

ObjectSetInteger(ch_id, name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H3-1-OBJ_PERIOD_M15);
 
Alexey Viktorov:

Artem, tutto si risolverà.

Per esempio, è necessario visualizzare tutti quelli inferiori tranne M15...

Sarebbe...

Quindi... quello che voglio dire è...

Continua - e mostra cosa succede se hai bisogno di visualizzare tutti gli alti fino a W1 incluso e un basso...

 
Artyom Trishkin:

ZS, mi scusi, è 'voi', 'noi', 'nostra maestà'?

SÌ. Siamo in due.))

 
Alexey Viktorov:

SÌ. Siamo in due, dopo tutto)).

Stai confondendo il tuo secondo "noi" - hai mostrato un modo che funziona solo in una situazione - solo quando hai bisogno di visualizzare TUTTO: da, e a..., e non di più.

E poi c'è una perdita di flessibilità, e di nuovo si deve elencare, ma già inutili bandiere

 
Artyom Trishkin:

Questo è solo se volete che tutto sia visibile PRIMA del periodo più vecchio. Una volta che si vuole rimuovere uno di questi prima del più vecchio, allora niente funzionerà con un tale disegno.

ZS, mi scusi, "voi", "noi" è nostra maestà?

No, certo, è solo che non sono l'unico qui, e la maggior parte della comunicazione è su di me... I partner non sono fan delle chat room ecc....

 
Artyom Trishkin:

Quindi... quello che voglio dire è...

Continua - e mostra cosa succede se dobbiamo visualizzare tutti quelli alti fino a W1 incluso e uno basso...

Chiarire. Non ho capito bene.

Artem, mi sono occupato delle bandiere su tuo suggerimento. E li ho ricalcolati tutti non solo via software, ma anche su una calcolatrice. Vi assicuro che tutto funzionerà. Devi solo capire quanto devi sottrarre da quale bandiera per lasciare solo le bandiere che vuoi.

Bene, fate i conti, quanto dovete sottrarre da 32 per lasciare la somma delle bandiere 1|2|8

In effetti, il flag 32 stesso non contiene nessuno dei flag elencati. Ma se si sottrae 1 da esso, la somma delle bandiere è 1|2|4|8|16 = 31

Quindi se abbiamo il flag 32 che non è richiesto, sottraiamo 1 da esso e sottraiamo la somma di 4|16 da 31 e avremo solo 1|2|8