Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 977

 
Vadim_2015:


Veja a ajuda para funções, e o fórum para exemplos de seu uso:

1. iHighest/iLowest
- para evitar confusão, estas funções retornam um índice correspondente ao preço máximo/mínimo.
Então você deve colocar seus valores em Alto[] / Baixo[]. Você encontrará muitos exemplos no fórum.

2. iBarShift
 

Obrigado por seu feedback.

1_Sim, eu tentei usar _iHighest, mas ele retorna o índice (número de barras) do maior valor encontrado (offset relativo à "barra atual"). O que eu quero dizer é que uma certa condição é cumprida no i-ésimo bar, este bar corresponde ao horário, digamos, 10:00, eu preciso do valor máximo de _10:00 até o final do dia _00:00. Se você puder, pelo menos um pouco de rabisco, como? Como ligar iHighest High[] / Low[] de que você estava falando.

2_iBarShift depois de tudo retorna o índice da barra onde cai o tempo especificado. O índice de uma barra. Eu quis dizer que você precisa calcular quantas barras há na história (no gráfico), com uma hora específica_12:00_13:00_14:00, etc. O iBars também não é o mesmo.

atztek:

Veja a ajuda para funções, e o fórum para exemplos que as utilizam:

1. iHighest/iLowest
- para evitar confusão, estas funções retornam um índice correspondente ao preço máximo/mínimo.
Então você deve colocar seus valores em Alto[] / Baixo[]. Você encontrará muitos exemplos no fórum.

2. iBarShift

 
Vadim_2015:

Obrigado por seu feedback.

1_Sim, eu tentei usar _iHighest, mas ele retorna o índice do valor mais alto encontrado (offset relativo à "barra atual"). O que eu quero dizer é que uma certa condição no i-ésimo bar se tornou realidade, este bar corresponde ao horário, digamos, 10:00, eu preciso do máximo de _10:00 até o final do dia _00:00. Se você puder, pelo menos um pouco de rabisco, como? Como ligar iHighest High[] / Low[] de que você estava falando.

2_ iBarShift depois de tudo retorna o índice da barra onde cai o tempo especificado. O índice de uma barra. Eu quis dizer que você precisa calcular quantas barras há na história (no gráfico), com uma hora específica_12:00_13:00_14:00, etc. O iBars também não é o mesmo.

1. No segmento que você está considerando, iHighest retornará algum valor que pode ser armazenado em uma variável, digamos 'Index_Max'. Para obter o valor necessário para realizar uma operação simples => Alta[Index_Max].

2. iBarShift devolverá o número de barras até o tempo especificado.

Esqueça o que você tem que programar por um tempo, crie pequenos exemplos para cada caso e use-os para mostrar como funciona.
 
atztek:
1. Na seção que você está considerando iHighest retornará algum valor que pode ser armazenado em uma variável, digamos 'Index_Max'. Para obter o valor necessário para realizar uma operação simples => Alta[Index_Max].

2. iBarShift devolverá o número de barras até o tempo especificado.

Esqueça o que você tem que programar por um tempo, crie pequenos exemplos para cada caso e use-os para mostrar como funciona.

Talvez eu não entenda algo, mas eu...Manual MQL4/Acesso a séries de tempos e indicadores/ iBarShift

" iBarShift - Procura da barra pelo tempo. A função retorna o índice da barra, no qual cai o tempo especificado.

O valor retornado -Índice da barra, o tempoespecificado cai dentro.Se não houver barra para o tempo especificado ("buraco" no histórico), a função retorna -1 ou o índice da barra mais próxima." ,

não o número de barras antes do tempo especificado.

Sim, eu já uso os exemplos, mas está tudo errado. Eu tentei funções diferentes. Vou tentar sua versão. O que devo fazer ao calcular o tempo de barra? Como calculá-las?

Obrigado!

 
Vadim_2015:


Talvez eu não entenda algo, mas eu...Manual MQL4/Acesso a séries de tempos e indicadores/ iBarShift

" iBarShift - Busca de barra por tempo. A função retorna o índice da barra, no qual cai o tempo especificado.

O valor retornado -Índice da barra, o tempoespecificado cai dentro.Se não houver barra para o tempo especificado ("buraco" no histórico), a função retorna -1 ou o índice da barra mais próxima." ,

não o número de barras antes do tempo especificado.

Sim, eu já uso os exemplos, mas está tudo errado. Eu tentei funções diferentes. Vou tentar sua versão. O que devo fazer ao calcular o tempo de barra? Como calculá-las?

Obrigado!

Você está certo, mas conhecendo o índice de barras você também pode descobrir o número de barras na trama, não é mesmo?
 
Vadim_2015:

2_ nem tudo, perdoe minha impertinência, existe uma função 'iBars'( Retorna o número de barras na história para o símbolo e período correspondente). Você pode me dizer qual combinação de funções pode calcular não apenas o número de barras com tempo, digamos, '12:00' ou '15:00' na história(PERÍODO_H1), mas também quantas barras com tempo.

12:00 e / ou 15:00 acontece apenas uma vez por dia. Assim, se definirmos o número de barras ou o número da última barra do período PERÍODO_D1, será o número de barras com a hora 12:00, ou qualquer outra hora.

Isto pode não ser muito claro à primeira vista, mas o algoritmo é aproximadamente o seguinte:

Definimos o tempo da barra mais antiga do período atual usando Bars. data/hora = Hora[Bars-1];

Definir número de barra iBarShift(_Símbolo, PERÍODO_D1, hora, falso);

 
Como identificar o símbolo do gráfico ativo atual? Isto é, o gráfico cuja aba/janela está ativa no momento, e não aquele onde o indicador/especialista está anexado. Isto é, o consultor especializado que trabalha em algum gráfico conhece o símbolo do gráfico, o qual foi selecionado pelo usuário.
 
r772ra:
talvez.
MUITO OBRIGADO!
 
AlexPORT:
Como identificar o símbolo do gráfico ativo atual? Isto é, o gráfico, cuja aba/janela está ativa no momento, e não aquela onde o indicador/especialista está anexado. Ou seja, o consultor especializado que trabalha em algum gráfico conhece o símbolo do gráfico, o qual foi selecionado pelo usuário.
Não existe tal coisa, que define o símbolo do gráfico programático ativo. Você só pode definir o símbolo do gráfico, no qual o indicador/conselheiro trabalha _Símbolo, Símbolo().
 

AlexeyVik:

Pode não fazer sentido à primeira vista, mas o algoritmo é mais ou menos assim:

Determinar o tempo da barra mais antiga do período atual usando Bars. data/hora = Hora[Bars-1];

Definir número de barra iBarShift(_Símbolo, PERÍODO_D1, hora, falso);

O algoritmo é claro, descobriu-o. Fiz um exemplo e ele funciona.

Muito obrigado!

E, com a primeira pergunta (sobre os máximos), você poderia explicar com mais detalhes como implementá-la? Se possível, por favor, me dê um pequeno algoritmo. Você é bom nisso :)