Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1074

 
Artyom Trishkin:

E imprime-se os valores numéricos das bandeiras. A bandeira total deve conter todos os valores das bandeiras desejadas. E o que é igual a OBJ_PERIOD_H3-1? Se a soma de todas as bandeiras estiver à altura, então sim, mas se não estiver, então há um insecto algures.

Nah... No outro dia estava a conversar sobre bandeiras num fio e a experimentar linhas como esta

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

soma 7

а

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

dá apenas 3.


Adicionado:

Olha, bandeira 4... a soma antes de ser 3.

Bandeira 16... a soma antes de ser 15.

E assim por diante.

 
Alexey Viktorov:

Nah... No outro dia estava a conversar sobre bandeiras num fio e a experimentar linhas como esta

soma 7

а

dá apenas 3

Naturalmente. É isso mesmo.

Cada bandeira sucessiva tem, deve ter um valor duas vezes superior ao da bandeira anterior.

E ao entrar 3 em vez de 4, duplicou as duas primeiras bandeiras: 1 e 2
 
Alexey Viktorov:
É claro que sim. Apenas uma linha curta. Basta determinar qual é a TF mais antiga da lista de bandeiras.

Funciona para nós! Uma grande solução!

 
Anzhela Sityaeva:

Funciona para nós! Grande solução!

Isto é apenas se quiser que tudo seja visível ANTES do prazo mais elevado. Assim que se quiser remover qualquer um dos anteriores ao mais antigo, não funcionará com tal desenho.

ZS, desculpa, é "tu", "nós", "nossa majestade"?

 
Artyom Trishkin:

Isto é apenas se quiser que tudo seja visível ANTES do prazo mais elevado. Assim que quiser remover qualquer um dos que estão antes dos mais velhos, nada funcionará com uma tal construção.

Artem, tudo se resolverá.

Por exemplo, é necessário exibir todos os mais baixos, excepto M15...

Então será.

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

Artem, tudo se resolverá.

Por exemplo, é necessário exibir todos os mais baixos, excepto M15...

Isso seria...

Portanto... o que estou a dizer é...

Continue - e mostre o que acontece se precisar de mostrar todos os altos até e incluindo W1 e um baixo...

 
Artyom Trishkin:

ZS, desculpa, é "tu", "nós", "nossa majestade"?

SIM. Há dois de nós)).

 
Alexey Viktorov:

SIM. Afinal, somos dois)).

Está a confundir o seu segundo "nós" - mostrou uma forma que funciona apenas numa situação - apenas quando precisa de mostrar TUDO: de, e para..., e não mais.

E depois há uma perda de flexibilidade, e mais uma vez tem de fazer uma lista, mas já são desnecessárias bandeiras

 
Artyom Trishkin:

Isto só se quiser que tudo seja visível ANTES do período de tempo mais antigo. Uma vez que se queira remover qualquer um destes antes do mais antigo, então nada funcionará com tal desenho.

ZS, desculpa, é "tu", "nós" a nossa majestade?

Não, claro, é que não sou o único aqui e a maior parte da comunicação é por minha conta... Os parceiros não são fãs de salas de chat, etc....

 
Artyom Trishkin:

Portanto... o que eu quero dizer é...

Continuar - e mostrar o que acontece se tivermos de exibir todos os altos até W1 e um baixo...

Esclarecer. Não percebo bem.

Artem, eu lidei com as bandeiras por sugestão sua. E recalculei todos eles não só em software, mas também numa calculadora. Garanto-vos que tudo irá funcionar. Só precisa de compreender o quanto precisa de subtrair de que bandeira para deixar apenas as bandeiras que deseja.

Bem, faça as contas, quanto tem de subtrair de 32 para deixar a soma das bandeiras 1|2|8

De facto, a própria bandeira 32 não contém nenhuma das bandeiras listadas. Mas se subtrair 1 dele, a soma das bandeiras é 1|2|4|8|16 = 31

Assim, se tivermos a bandeira 32 que não é necessária, subtrair 1 à mesma e subtrair a soma de 4|16 de 31 e teremos apenas 1|2|8

Razão: