Por que eles pensaram em colocar o arquivo de inclusão no diretório com indicadores em vez de na pasta Include?
#include "HDiagsE.mqh"
e não na pasta Include?
Ao fazer o download do site, o arquivo incluído é aberto na pasta Include - tive de substituir a linha no indicador de
#include "HDiagsE.mqh"
para
#include <HDiagsE.mqh>
Assim, os iniciantes não se preocupam com diretórios, mas simplesmente jogam todos os arquivos na pasta com o indicador. Como você pode ver, o arquivo não fornece a estrutura de descompactação de pastas.
Assim, os iniciantes não se preocupam com diretórios, mas simplesmente jogam todos os arquivos na pasta com o indicador. Como você pode ver, o arquivo não fornece a estrutura de descompactação de pastas.
É assim que os iniciantes serão pegos. Por etapas: clique no arquivo incluído - ele é baixado e exibido na parte inferior do navegador - clique no arquivo baixado - o arquivo é aberto no MetaEditor (e o MetaEditor já colocou o arquivo incluído no diretório de inclusão correto).
É exatamente assim que os novatos serão pegos nisso. Por etapas: clique no arquivo incluído - ele é baixado e exibido na parte inferior do navegador - clique no arquivo baixado - o arquivo é aberto no MetaEditor (e o MetaEditor já colocou o arquivo incluído no diretório de inclusão correto).
Você realmente acha que todos os outros baixam da mesma forma que você? Eu, por exemplo, baixei o arquivo primeiro, depois abri o arquivo do indicador e vi que o arquivo de inclusão está entre aspas. E o meta-editor não colocou nada em lugar algum.
Em geral, um diálogo inútil. Você pode fazer isso das duas maneiras, não é algo que precise ser discutido.
Para ser sincero, eu gostaria de ver uma implementação diferente. Absolutamente tudo:
1. Não há implementação de desenho de histogramas na tela (respectivamente, não há comparação da velocidade de atualização de gráficos na tela e de gráficos de primitivos gráficos). Embora, logicamente, se você escrever sobre histogramas horizontais nos gráficos do MT5, você deve pelo menos apontar para esse método de desenho;
2. Por que você fala apenas sobre volumes de ticks? Eu, por exemplo, gostaria muito de aplicar seu indicador para volumes reais, mas parece que não posso!?!?
3) Pelo que entendi, todos os gráficos são construídos com a vinculação "preço/tempo". Não há menção à vinculação de pixels. E a implementação de histogramas com base nisso;
4. Há uma pergunta sobre esta frase: "Anteriormente, foi mencionado de passagem que, para calcular o número de níveis, será usado um método melhor do que apenas dividir o intervalo de preços em um determinado número de níveis". Por que é melhor? 1, 10 и 100? Por que não deixar que o próprio usuário defina o número de níveis?
5. Sobre o cronômetro:
- O parâmetro iTimer contém a frequência de acionamento do cronômetro. Quando acionado, a criação de novas velas é verificada e as ações necessárias são executadas. Poderíamos colocar aqui o resultado da chamada PeriodSeconds(SourcePeriod). No entanto, o valor padrão é de um segundo, o que é feito para determinar com mais precisão o momento em que as novas velas aparecem.
Por que iniciar um cronômetro e gastar recursos adicionais para determinar o momento do aparecimento de um novo candle? Isso pode (e deve) ser feito em OnCalculate(). E sem chamar a função IsNewCandle() a cada segundo (além disso, ela é muito pesada);
6. Ao rolar o gráfico com o diagrama, os artefatos aparecem:
7. Nenhuma menção de que tudo isso funcionará em novas compilações (após 1881) porque novas funções i são usadas;
8. O código não é comentado - um total desrespeito àqueles que tentarão modificar seu código por conta própria. Se você simplesmente abrir os arquivos sem um artigo, levará muito tempo para entender tudo;
9. Ao compilar arquivos de indicadores, um aviso é exibido. Os usuários podem ter dúvidas;
10. "Não se esqueça de que os indicadores anexados destinam-se a fins de demonstração e treinamento e não podem ser usados em negociações reais." - Recurso interessante. Bem no final. Por que não pode ser aplicado?
11. "Em particular, deve-se prestar atenção ao fato de que não deve haver artefatos no período de tempo usado como fonte de dados." - Eu também gostaria de ouvir alguns esclarecimentos sobre esse ponto. De que "artefatos" estamos falando;
12. quase me esqueci do mais importante. Como é garantida a exatidão dos dados coletados? Você não usa CopyTicks(). Então, como é realizada a validação da exatidão dos níveis construídos?
E isso, tenho certeza, não é toda a lista de problemas.
Em geral, na minha opinião, essa é uma implementação malsucedida para um artigo de tutorial. Será difícil para os iniciantes, enquanto os experientes escreverão seus próprios tutoriais mais rapidamente (e melhor).
Tentarei responder a todas elas de uma só vez))
Obviamente, é improvável que o artigo ofereça algo fundamentalmente novo para desenvolvedores experientes. O código proposto, de acordo com meu entendimento e minhas habilidades, automatiza um processo muito tedioso de criação desses diagramas. Decidi fazer isso depois que me cansei de detectar todos os tipos de erros com ultrapassagem de intervalo, etc.
Eu poderia ter colocado o arquivo de inclusão na pasta include, mas decidi não bagunçar essa pasta, porque todo mundo quer colocar arquivos de inclusão lá).
Com relação à tela. Não o fiz porque não posso dizer nada de novo sobre ele. Já escrevi muitos artigos muito úteis sobre desenho em tela antes de mim. Cheguei à conclusão de que esse aspecto já foi suficientemente abordado.
Os volumes de ticks são tomados como exemplo. Para o código, é importante passar algumas matrizes e isso é tudo. Por exemplo, usarei esse código para criar um tumblr para várias trocas de criptomoedas.
Por que não há vinculação de pixels. Esse é apenas o lado da tela. E por que não há tela, eu respondi.
Por que o código não é comentado. Ele FOI comentado, mas para uso em conjunto com o Doxygen. Tive que removê-lo. E eu teria que comentar em inglês, o código não é traduzido automaticamente, e eu não sou bom nisso. Usar o Google não é a melhor opção, o que ele traduzirá?
Por que não é permitido escolher o número de níveis? Não é disso que trata o artigo. É isso que o artigo diz. O artigo trata de desenhar e gerenciar matrizes de primitivas gráficas, não de escrever indicadores. O desenvolvedor decidirá como obter os dados iniciais. No artigo, considero essa tarefa secundária e, portanto, menos importante. Um indicador funcional usando esse código estará em breve no mercado, mas não aqui.
Os indicadores de treinamento não podem ser aplicados em negociações reais porque dependem do estado da fonte de dados. Nos indicadores de treinamento, supõe-se que a fonte de dados esteja em perfeitas condições. Na vida real, esse não é o caso. Na vida, há buracos nos timeframes, e eu estava pensando neles quando escrevi sobre "artefatos". Nunca incluo em meus artigos indicadores que possam ser usados em negociações reais, porque considero isso errado.
Não uso o CopyTick aqui e o considero desnecessário. Talvez faça sentido desenhar um gráfico superpreciso em uma tela, mas, nesse caso, quando se usa um arredondamento bastante sério, isso não é necessário.
Tentarei responder a todas elas de uma só vez ))
Acontece que você escreveu uma "coisa abstrata" que funciona de forma aproximada, e até mesmo em um ambiente que não existe na prática. Não há palavras.
E a renderização, como eu disse acima, está torta. Muito boas relações públicas para seus produtos.
Então você escreveu uma "coisa abstrata" que funciona de forma aproximada, e até mesmo em um ambiente que não existe na prática. Estou sem palavras.
E a renderização, como observei acima, está torta. Muito boas relações públicas para seus produtos.
Não, não funciona.
E se não há palavras, você não precisa escrever. Você certamente não sabe sobre o que está escrevendo.
Não, não está funcionando.
E se não há palavras, você não precisa escrever. Você certamente não entende completamente sobre o que está escrevendo.
Esse é o fim da questão. Talvez eu não entenda completamente, mas é que em um título tão grande eu gostaria de ver muito mais do que isso. Boa sorte.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso

Novo artigo Diagramas horizontais nos gráficos do MetaTrader 5 foi publicado:
Embora a tarefa de plotar diagramas horizontais no gráfico do terminal não seja frequente, é o desenvolvedor que deve lidar com ela. Essa tarefa envolve indicadores de distribuição de volumes para um período específico. Também implica distribuição de preços, diversos livros de ofertas, etc. O artigo considera a criação e o gerenciamento de diagramas horizontais em gráficos, arrays de primitivas gráficas.
Vejamos um exemplo bastante comum de como esses gráficos podem parecer:
Este é outro exemplo. Os mesmos diagramas, mas desenhados por outras primitivas gráficas:
Neste caso, é um indicador de distribuição de volumes de ticks por dia. Este exemplo mostra claramente quais tarefas o desenvolvedor precisou resolver:
E mais uma vez, notamos que existem vários diagramas, o que ainda nos dá a oportunidade de falar sobre um array de diagramas.
Outro exemplo final:
Autor: Andrei Novichkov