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 1164

 
Aleksey Vyazmikin:

Então, você quer desenhar níveis e fazer com que o programa os encontre e leia o preço?


Não, o indicador irá desenhá-los usando o algoritmoClose[i+1]>Open[i+1] && Close[i+2]<Open[i+2]... Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2].

Não consigo encontrar os preços desses níveis, então quando essas formações (linhas) são quebradas, o indicador desenha um ícone, por exemplo

 

Fechar[i+1]>Abrir[i+1] && Fechar[i+2]<Abrir[i+2] nesta formação Preciso obter o preço mínimo dei+2

Fechar[i+1]<Abrir[i+1] && Fechar[i+2]>Abrir[i+2]nesta formação Preciso obter o preçomáximo dei+2

então quando tiver quebrado a alta/média, o indicador deve desenhar um ícone, por exemplo. vejo a quebra para cima comoClose[i+1]>Preço máximo (i+2) a partir da formação

Fechar[i+1]<Abrir[i+1] && Fechar[i+2]>Abrir[i+2]

 
Lankaster:

Fechar[i+1]>Abrir[i+1] && Fechar[i+2]<Abrir[i+2] nesta formação Preciso obter o preço mínimo dei+2

Fechar[i+1]<Abrir[i+1] && Fechar[i+2]>Abrir[i+2]nesta formação Preciso obter o preçomáximo dei+2

então quando tiver quebrado a alta/média, o indicador deve desenhar um ícone, por exemplo. vejo a quebra para cima comoClose[i+1]>Preço máximo (i+2) a partir da formação

Fechar[i+1]<Abrir[i+1] && Fechar[i+2]>Abrir[i+2].


Não tentei desta forma:

Alto[iHighest(Símbolo(),Período(),2,i)]; - máximo de i a i+2

Baixo[iLowest(Símbolo(),Período(),2,i)]; - mínimo começando de i a i+2

 
Vitalii Ananev:

Não tentei desta forma:

máximo começando de i a i+2

Baixo[iLowest(Símbolo(),Período(),2,i)]; - mínimo começando de i a i+2


Se não me engano, ele procurará por máximos e mínimos entre 2 castiçais, independentemente de sua direção.

o máximo de uma vela em alta desde a primeira formação e o mínimo de uma vela em baixa desde a segunda formação.

Espero que isto esteja claro, minha cabeça já está fervendo :)

 
Lankaster:

Não, o indicador desenhará usando o algoritmoClose[i+1]>Open[i+1] && Close[i+2]<Open[i+2]...Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2] >Open[i+2

Não consigo encontrar os preços destes níveis, então quando estas formações (linhas) são quebradas, o indicador desenha um ícone, por exemplo

Infelizmente, ainda não entendo, mas parece um canal do Doncian - veja na base de código...
 
Aleksey Vyazmikin:
Infelizmente, ainda não entendo, mas parece um canal Donchian - veja na base de código...

Sim, você está certo, parece um canal Donchian neste link https://www.mql5.com/ru/code/10836 mas não entendo como desenhar o ícone quando Close[i+1] fecha acima do canal, por exemplo, em 12 de junho de 2012 no gráfico você pode ver que o indicador marcou o alto, mas como será o código deste cruzamento? Close[i+1]>Donchian channel? Mas como este Close[i+1] saberá qual o valor que cruza? Porque entre este máximo e o preço atual existem máximas locais que o canal marcou e essas máximas têm seu próprio valor indicador

Канал Дончиана.
Канал Дончиана.
  • votos: 7
  • 2012.09.10
  • Лёха
  • www.mql5.com
Классический вариант индикатора со средней линией.
 
Lankaster:

Sim, você está certo que parece um canal Donchian neste link https://www.mql5.com/ru/code/10836 mas não entendo como desenhar o ícone quando Close[i+1] fecha acima do canal, por exemplo, em 12 de junho de 2012 no gráfico você pode ver que o indicador marcado alto, mas como será o código desta travessia? Close[i+1]>Donchian channel? Mas como este Close[i+1] saberá qual o valor que cruza?


Você precisa comparar o preço com o indicador - função iCustom.

 
Aleksey Vyazmikin:

Você precisa fazer uma comparação de preços com um indicador - função iCustom.


Eu não entendo como fazer esta comparação. Talvez fosse mais fácil fazer um desenho de linhas horizontais de máximos e mínimos e dar um nome a cada linha e depois, usando ObjectGet, obter os preços dessas linhas?

 
Lankaster:

Eu não entendo como fazer esta comparação. Talvez fosse mais fácil fazer com que as linhas horizontais desenhem esses altos e baixos e dar um nome a cada linha e depois obter os preços dessas linhas através da ObjectGet?


Veja como o indicador está configurado, talvez haja algumas outras idéias...

A idéia é encontrar pontos iniciais de crossovers no indicador, coletá-los em uma matriz e traduzi-los para fora do indicador - assim será menos consumidor de recursos se o cálculo for feito para todo o gráfico e acessar os dados por várias vezes por barra, por exemplo no Expert Advisor.

 
Aleksey Vyazmikin:

Veja como o indicador está configurado, talvez haja algumas outras idéias...

A idéia é encontrar os pontos de crossovers primários no indicador, coletá-los em uma matriz gráfica e traduzi-los a partir do indicador - será menos demorado se o cálculo for feito em todo o gráfico e eu preciso acessar os dados várias vezes por barra, por exemplo, no Expert Advisor.


Obrigado, vou tentar.