Obrigado por esse artigo interessante.
O uso de um arquivo para armazenar dados em buffer era obrigatório?
Não era possível armazenar dados de histórico na memória, usando uma matriz estatística?
Obrigado
Boa tarde!
Gostaria de ver gráficos de segundos - um candle é de alguns segundos (5 segundos, 6 segundos, 10, 12, 15). Para ver as mudanças de preço em relação ao tempo.
Um erro de digitação?
No texto do artigo. No exemplo, está correto, AskBufferBom dia!
É possível usar os arquivos de ticks recebidos pelo indicador proposto para teste de várias moedas no testador, desativando a criação de ticks virtuais no testador e fazendo a sincronização de dados sobre os preços dos instrumentos por tempo?
Muito obrigado.
- www.mql5.com
Boa tarde!
Gostaria de ver gráficos de segundos - um candle é de alguns segundos (5 segundos, 6 segundos, 10, 12, 15). Para ver as mudanças de preço em relação ao tempo.
Boa tarde!
É possível usar os arquivos de ticks recebidos pelo indicador proposto para teste de várias moedas no testador, desativando a criação de ticks virtuais no testador e fazendo a sincronização dos dados sobre os preços dos instrumentos por tempo?
Muito obrigado.
Os arquivos com cotações criados pelo indicador, é claro, podem ser usados para outros fins. Sugiro que você desative as funções desnecessárias (por exemplo, desenhar gráficos) e o processamento de dados (por exemplo, sincronização de dados de diferentes instrumentos). A propósito, na minha opinião, é mais fácil gravar cotações em um arquivo com a ajuda de um Expert Advisor (também está no arquivo anexo):
int h; void OnInit() { string s; StringConcatenate(s,Symbol(),".txt"); h=FileOpen(s,FILE_READ|FILE_WRITE|FILE_ANSI|FILE_SHARE_READ); FileSeek(h,0,SEEK_END); } void OnTick() { string s; StringConcatenate(s,TimeCurrent()," ",DoubleToString(SymbolInfoDouble(Symbol(),SYMBOL_BID),_Digits)," ",DoubleToString(SymbolInfoDouble(Symbol(),SYMBOL_ASK),_Digits)); FileWrite(h,s); FileFlush(h); } void OnDeinit(const int reason) { FileClose(h); }
Ótimo artigo, obrigado pelos indicadores!
Estou com esse problema ao executar o tickindicator.mq5.
Compilei o indicador. Executo-o.
A janela do indicador é exibida. Ela tem uma escala com números grandes de mínimo e máximo. E o indicador se move ao longo da linha horizontal. Tentei corrigir o mínimo e o máximo do indicador. O indicador parece aparecer, mas há algumas linhas verticais no lance.
Ótimo artigo, obrigado pelos indicadores!
Estou com esse problema ao executar o tickindicator.mq5.
Compilei o indicador. Executo-o.
A janela do indicador é exibida. Há uma escala com números grandes de mínimo e máximo. E o indicador se move ao longo da linha horizontal. Tentei corrigir o mínimo e o máximo do indicador. O indicador parece aparecer, mas há algumas linhas verticais no lance.
É necessário inicializar todos os valores no buffer do indicador.
Provavelmente IMHO - não dei uma olhada no código)
Diga-me onde devo consertar algo.
Em períodos de tempo superiores a M30, a escala começa a mostrar números estranhos.
Como sugeriu meu colega Dima_S, ao inicializar o indicador, vale a pena preencher os buffers com alguma coisa.
E como temos o código TickIndicator.mq5:
//+------------------------------------------------------------------+ //| Função OnInit()| //+------------------------------------------------------------------+ void OnInit() { // A matriz BidBuffer[] é um buffer de indicador SetIndexBuffer(0,BidBuffer,INDICATOR_DATA); // A matriz AskBuffer[] é um buffer de indicador SetIndexBuffer(1,AskBuffer,INDICATOR_DATA); // os valores zero da linha Bid não são desenhados PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0); // os valores zero da linha Ask não são desenhados PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0); }
É necessário inserir as seguintes linhas:
ArrayInitialize(BidBuffer,0); ArrayInitialize(AskBuffer,0);
Como sugeriu meu colega Dima_S, ao inicializar o indicador, vale a pena preencher os buffers com alguma coisa. Foi o que fiz:
ArrayInitialize(BidBuffer,EMPTY_VALUE); ArrayInitialize(AskBuffer,EMPTY_VALUE);
Fiz isso, mas não ajudou.
ArrayInitialize(BidBuffer,0.0); ArrayInitialize(AskBuffer,0.0);Assim também.
- 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 Criando Indicadores de Ponto no MQL5 foi publicado:
Neste artigo, consideraremos a criação de dois indicadores: o indicador de tick, que plota o gráfico de tick do indicador de vela de tick e preço, que plota velas com o número específico de ticks. Cada um dos indicadores escreve os preços de entrada em um arquivo e usa os dados salvos após o reinício do indicador (estes dados também podem ser usados por outros programas).
Autor: Denis Zyatkevich