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 656

 
evillive:

O problema não é para os iniciantes, para ser honesto. É necessário salvar tudo no gráfico em um modelo. Depois é preciso adicionar a este modelo o indicador necessário com todos os parâmetros e carregar um novo modelo de volta ao gráfico. A gravação e o carregamento do modelo é possível por meio de MQL, mas para editar o arquivo de modelo você provavelmente precisa escrever uma DLL, não tenho certeza se o script personalizado tem acesso para escrever os arquivos de modelo.

Operações com gráficos

Funções para trabalhar com gráficos. Todas as operações gráficas são aplicáveis somente a Expert Advisors e roteiros.

As funções que definem as propriedades do gráfico realmente servem para enviar a ele os comandos de mudança. Se estas funções forem executadas com sucesso, o comando chega à fila de eventos gerais do gráfico. A modificação do gráfico é realizada no processo de processamento da fila de eventos do gráfico em questão.

Por esta razão, não se deve esperar atualização visual imediata do gráfico após a chamada das funções. Em geral, o gráfico é atualizado automaticamente pelo terminal de acordo com os eventos de mudanças - chegada de uma nova cotação, mudanças no tamanho da janela do gráfico, etc. Para a atualização forçada da aparência do gráfico, use o comando ChartRedraw().

Função

Ação

GráficoAplicarTemplate

Aplica ao quadro especificado um modelo do arquivo especificado

ChartSaveTemplate

Salva as configurações atuais do gráfico em um modelo com o nome especificado

ChartWindowFind

Retorna o número da subjanela onde o indicador está localizado

ChartTimePriceToXY

Converte as coordenadas do gráfico de representação de tempo/preço para as coordenadas X e Y

ChartXYToTimePreço

Converte as coordenadas X e Y do gráfico em valores de tempo e preço

ChartOpen

Abre uma nova tabela com o símbolo e o período especificados

ChartFirst

Devolve o ID do gráfico que segue o especificado

ChartNext

Devolve a identificação do primeiro gráfico do terminal do cliente

ChartCloseFechar

Fecha a tabela especificada

ChartSymbol

Retorna o nome do símbolo do gráfico especificado

GráficoPeríodo

Retorna o valor do período especificado

 
Vinin:

Operações com gráficos


Sim, sim exatamente. Onde está a edição de padrões (ou adição de um indicador, como no MT5)? Não. Então a DLL é necessária, certo? Ou existem outros métodos para adicionar um indicador a um gráfico MT4, além da edição de modelos?


A questão era adicionar um indicador com a ajuda de um Consultor Especialista, aqui

 
evillive:

A tarefa não é para os iniciantes, para ser honesto. É necessário salvar tudo que está no gráfico em um modelo, depois adicionar o indicador necessário com todos os parâmetros a este modelo e carregar um novo modelo de volta ao gráfico. A gravação e o carregamento do modelo é possível por meio de MQL, mas para editar o arquivo de modelo você provavelmente precisa escrever uma DLL, não tenho certeza se o script personalizado tem acesso para escrever os arquivos de modelo.

E se eu abrir os indicadores necessários em uma janela separada, salvar tudo isso em um modelo. Então eu executo o programa em um gráfico "vazio" e abro este modelo?
 
waroder:

E se eu abrir os indicadores que preciso em uma janela separada, salvar tudo em um modelo. Então eu executo o programa em um gráfico "vazio" e abro este modelo. todos os indicadores abrirão também? ou eu tenho que prescrever a abertura dos indicadores no próprio modelo?

Depois de aplicar o modelo, todos os indicadores serão automaticamente anexados à janela do gráfico dado.
 
barabashkakvn:

Após a aplicação do modelo, todos os indicadores serão automaticamente anexados a esta janela do gráfico.


oceanos) conseguiu) obrigado, outros

 
waroder:

E se eu abrir os indicadores que preciso em uma janela separada, salvar tudo em um modelo. então eu executo o programa em um gráfico "vazio" e abro este modelo. todos os indicadores também se abrirão? ou preciso prescrever a abertura dos indicadores no próprio modelo?
você também precisa adicionar o programa ao modelo, caso contrário ele será descarregado ao carregar o modelo em si, pois não está prescrito lá. Este é um bom método para desligar uma EA, a propósito ;)
 
Envie-me um indicador para apitar quando dois carros cruzarem)
 

Pergunta 1 - Nas novas construções de parâmetros externos EA (ME5 Build 934; MT4 Build 646), são exibidos comentários em vez de nomes de variáveis. Como se livrar dele? Por favor, não sugira não escrever comentários - eu preciso deles (ver pergunta 2).

Pergunta 2 - Tanto quanto sei, os comentários são destinados ao próprio programador a escrever seus pensamentos, notas e afins enquanto escreve o código. Se é assim (e é isto que ensinam nos livros e cursos), então é uma tarefa única. E nós somos ensinados: uma função - uma tarefa. Conseqüentemente, quando esta tarefa tem outra tarefa - este é exatamente o trocadilho destinado ao que é feito nas novas construções - você recebe um molho vinagrete. - Isto é a coisa certa a fazer? Caso contrário, como então escrevo meus comentários, que eu preciso, e não quero que ninguém mais os veja. Porque se meus comentários são refletidos na publicidade, então que tipo de comentários são eles? Essa é uma tarefa completamente diferente.

Portanto, temos duas tarefas diferentes: "comentando por mim mesmo enquanto escrevo código" e "descrevendo variáveis externas".

Parece que para a nova tarefa "descrição de variáveis externas", outra opção de compilador independente deve ser alocada. Ou pelo menos fazer esta opção a escolha do usuário (embora, isto já esteja em contradição com os princípios básicos de programação).

Se eu estiver errado, me corrija.

 
Chiripaha:

Pergunta 1 - Nos parâmetros externos da EA nos novos builds (ME5 Build 934; MT4 Build 646), são exibidos comentários em vez de nomes de variáveis. Como se livrar dele? Por favor, não sugira não escrever comentários - eu preciso deles (ver pergunta 2).

Pergunta 2 - Tanto quanto sei, os comentários são destinados ao próprio programador a escrever seus pensamentos, notas e afins enquanto escreve o código. Se é assim (e é isto que ensinam nos livros e cursos), então é uma tarefa única. E nós somos ensinados: uma função - uma tarefa. Conseqüentemente, quando esta tarefa tem outra tarefa - este é exatamente o trocadilho destinado ao que é feito nas novas construções - obtemos um vinagrete. - Isto é a coisa certa a fazer? Caso contrário, como então escrevo meus comentários, que eu preciso, e não quero que ninguém mais os veja. Porque se meus comentários são refletidos no público, então que tipo de comentários são eles? Essa é uma tarefa completamente diferente.

Portanto, temos duas tarefas diferentes: "comentando por mim mesmo enquanto escrevo código" e "descrevendo variáveis externas".

Parece que para a nova tarefa "descrição de variáveis externas", outra opção de compilador independente deve ser alocada. Ou, pelo menos, fazer esta opção a escolha do usuário (embora, isto já esteja em contradição com os princípios básicos de programação).

Se eu estiver errado, me corrija.


Portanto, é conveniente que as variáveis externas possam ser mais legíveis para si mesmo e/ou para os usuários.

E para fazer comentários sobre variáveis externas não visíveis (visíveis apenas em código), você pode simplesmente escrevê-las como uma segunda linha.

Assim, por exemplo, em vez de:

input double AbcD=1.2345;//Хочу профит на отметке:

transformá-lo em duas linhas:

input double AbcD=1.2345;
//Желаемый уровень профита

No primeiro caso, em vez da Abcd, as variáveis externas seriam exibidas:"Quero lucrar em: 1.2345",

no segundo:"AbcD 1.2345".

 
DiPach:

É bom ser capaz de tornar as variáveis externas mais legíveis para você e/ou seus usuários.

E para que comentários a variáveis externas não sejam exibidos (apenas visíveis em código), você pode simplesmente escrevê-los como uma segunda linha.

Assim, por exemplo, em vez de:

transformá-lo em duas linhas:

No primeiro caso, em vez da Abcd, as variáveis externas seriam exibidas:"Quero lucrar em: 1.2345",

no segundo caso:"AbcD 1.2345".


Sim, não me importo nada com isso, o que é conveniente. Além disso, eu entendo o que eles queriam alcançar. Mas não se pode implementar uma tarefa enquanto se mata outra.

É menos conveniente escrever em 2 linhas, porque se existem 5-10 variáveis, podemos suportá-la (embora, novamente, por que deveríamos suportá-la?). Mas e se houver cerca de 200 dessas variáveis? Neste caso, o tamanho do código será muito maior.
Por outro lado, se for outra opção, você ainda terá que aumentar o tamanho do código às custas da descrição da variável. Portanto, talvez a solução que você sugere seja mais otimizada e concisa do que introduzir a 2ª opção. Estou pronto para concordar.

Se eu acreditei corretamente, a tradução de carruagens é uma restrição para a descrição variável?

E eu tenho uma pergunta adicional:

Seria possível fazer as descrições opcionalmente em vários idiomas de escolha? Isso seria ainda mais conveniente. : )) Neste caso, é melhor fazer um opcional de qualquer forma, em vez de usar os comentários habituais para a descrição.

A propósito. De qualquer forma, estas descrições de variáveis são apresentadas com parcimônia no diálogo de opções, já que os tamanhos das colunas não retêm nenhum alongamento e amaior parte da descrição é "devorada" pela estreiteza da coluna de descrição. Mas há um espaço exagerado para valores variáveis. Por isso, queríamos melhorar... Mas isto também é um passo à frente. : ))