[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 317

 
kon12 писал(а) >>

Pessoal, uma palavra de conselho para quem souber. Digamos que eu desenho um indicador personalizado no gráfico principal. Depois utilizo outro indicador personalizado que envolve o primeiro indicador através da função iCustom. Podemos conectá-los para que o parâmetro do primeiro indicador no gráfico seja automaticamente alterado no segundo indicador personalizado?

Eu não entendo bem a tarefa, mas talvez isto sirva:

Ajuda MT Analytics - Indicadores técnicos

- Por exemplo, você pode criar um indicador de Média Móvel a partir do Oscilador Awesome e assim obter uma linha de sinal, além do AO. Para isso você deve primeiro desenhar o indicador AO, e depois usando a técnica Drag`n`Drop impor MA ao AO e selecionar "Previous Indicator Data" em suas configurações no campo "Apply to" (impor indicador sobre os dados do indicador anterior). Se você escolher "Dados do Primeiro Indicador" então MA será criado, baseado nos dados do primeiro indicador, que não necessariamente será AO.

 
kon12 >> :

Pessoal, uma palavra de conselho para quem souber. Digamos que eu desenho um indicador personalizado no gráfico principal. Depois utilizo outro indicador personalizado que envolve o primeiro indicador através da função iCustom. Posso conectá-los para que o parâmetro do primeiro indicador no gráfico seja automaticamente alterado no segundo indicador personalizado?

Se você chamar o indicador de fonte através do iCustom, você o salvará em algum lugar, então marque-o como um buffer de indicador e produza a fonte e o indicador convertido como dois buffers de um indicador, será mais fácil de executar e alterar os parâmetros. Se você quiser brincar, você pode usar globolvariables.

 
Urain >> :

Você não precisa apagá-lo, basta alterar os parâmetros através do ObjectSet.

ps Mas em geral, seu caso precisa ser examinado caso a caso.

Obrigado!

 
kon12 >> :

Pessoal, uma palavra de conselho para quem souber. Digamos que eu desenho um indicador personalizado no gráfico principal. Depois utilizo outro indicador personalizado que envolve o primeiro indicador através da função iCustom. Podemos conectá-los de tal forma que quando o parâmetro do primeiro indicador muda no gráfico, o parâmetro do segundo indicador personalizado muda automaticamente?

Entendo que você quer alterar manualmente o valor do parâmetro de entrada do indicador no terminal e os outros indicadores reagirão a essa alteração?

Então a resposta é clara - o uso do iCustom não funcionará. Esta função funciona da seguinte maneira - o indicador com os parâmetros especificados é "criado" na memória do programa (não no gráfico) ("como se", quero dizer, não é plotado), e na primeira chamada é processado usando as funções init() e start(), ou seja, se houver um ciclo "padrão" como for(i=limit;i>=0;i--), todas as barras necessárias são calculadas. Então, da próxima vez que o iCustom for chamado, o recálculo não será realizado (se não estiver explicitamente especificado no corpo indicador). Não há buffers separados designados para tais indicadores no MQL, portanto, se você precisar armazenar os valores, é razoável copiá-los em um buffer separado. Não há acesso direto aos gráficos na MQL também (mas seria útil IMHO).

 

Obrigado por suas respostas, talvez eu não tenha formulado com precisão o que quero. Deixe-me explicar: eu uso um indicador ZigZag no gráfico principal. Além disso, utilizo meu próprio indicador que mostra os comprimentos de onda mostrados pelo ziguezague. O indicador acessa o ziguezague através do iCustom. Mas ao mudar os parâmetros de ziguezague, eu deveria entrar no segundo indicador e definir ali os mesmos parâmetros. Como mudar o parâmetro apenas em ziguezague. Em Metastocke, acabo de sobrepor o segundo indicador ao primeiro e pronto.

 
Como pareço ter entendido a pergunta corretamente, vou responder novamente: usando Metatrader e MQL - de jeito nenhum.
 
alsu >> :
Como pareço ter entendido a pergunta corretamente, respondo mais uma vez: usando Metatrader e MQL, de jeito nenhum.

Não, por quê. Você pode passar parâmetro através de variável global, objeto gráfico. Você só precisa de um carrapato para redesenhá-lo, mas você sabe como fazê-lo.

Naturalmente, seria melhor unir os índices.

 
Svinozavr >> :

Não, por quê. Você pode passar parâmetro através de variável global, objeto gráfico. Você só precisa de um carrapato para redesenhá-lo, mas você pode fazer isso, você sabe.

Naturalmente, seria melhor unir os índices.

Bem, para que seja "isso", não é um nível de principiante... Em geral, eu me perguntei por muito tempo se não existe um ambiente universal para cada indicador registrar seus buffers reais (bem, aqueles onde "realmente" os dados são armazenados) em um espaço de endereço compartilhado ou, no pior dos casos, como variáveis globais. Então seria possível abordar os gráficos diretamente da MQL em vez do iCustom. Ainda não cheguei a esse ponto.

 
alsu >> :

bem, para que seja "isso", está um pouco além do nível de principiante... Em geral, eu estava me perguntando há muito tempo se não deveria fazer um ambiente universal, para que cada indicador registre seus buffers reais (sabe, aqueles onde os dados "reais" são armazenados) em um espaço de endereços compartilhado ou, no pior dos casos, na forma de variáveis globais. Então seria possível abordar os gráficos diretamente da MQL em vez do iCustom. Ainda não cheguei a esse ponto.

Isso seria legal. Muito limitante é a incapacidade de sincronizar os indicadores normalmente. Tenho que sincronizá-los como escrevi ou combiná-los.

Mas o problema de desenho não pode ser resolvido usando os meios padrão, exceto para o desenho em diferentes sub-curvas a partir de um indicador. E provavelmente, nem mesmo com meios internos. Se pudéssemos ligar um buffer a um número de janela como um gr.object, ou mesmo gerar tal janela a partir do indicador, então... Bem, é apenas fora de tópico.

===

Mas a idéia do meio ambiente é muito prática. Você tem alguma idéia sobre isso?

 
Talvez um fio separado?