Se nesse horário ele não for autorizado a entrar em operações, nenhum problema terá.
Criei alguns símbolos personalizados com Fórmula de Instrumento Sintético, exemplo PETR4/PETR3, e estou tendo o mesmo problemas com todos os símbolos criados. Se eu deixar o gráfico aberto Antes ou Após o encerramento das negociações, "aparecem" alguns candles a mais fora deste período de negociação.
Acredito que estes "novos" candles são criados devido a manutenção no servidor da corretora ou coisa parecida. Isso se torna um problema para meus indicadores, principalmente para tempos gráficos maiores que 15 Minutos, pois ficará uma barra tracejada com mesmo valor de máximo e mínimo durante muito tempo interferindo nos cálculos dos indicadores.
Se eu for na pasta <Custom> (C:\Users\[windows account]\AppData\Roaming\MetaQuotes\Terminal\[id da instância]\bases\Custom) e deletar o símbolo criado (ex. Petr4/Petr3) e abrir novamente o gráfico o problema é resolvido.
Para resolver este problema no meu EA, criei a seguinte função (AtualizarGrafico()) para atualizar o gráfico no início das minhas negociações:
O problema é que esta função não esta atualizando o gráfico no momento em que as negociações se iniciam. Tenho que abrir e fechar o EA juntamente com o gráfico mais de uma vez para que dê certo. Não sei como resolver este problema, se é erro no código ou se a função não consegue deletar/atualizar o gráfico por ele estar sendo atualizado ao mesmo tempo com as novas cotações.
Por favor, se alguém poder me ajudar.
Obrigado.
Você pode tentar a variante de CopyRates com datas.
int CopyRates(
string symbol_name, // nome do ativo
ENUM_TIMEFRAMES timeframe, // período
datetime start_time, // data e hora de início
datetime stop_time, // data e hora de término
MqlRates rates_array[] // array destino para copiar
);
no lugar de: int recebido=CopyRates(_Symbol,PERIOD_M1,1,10000,Custom);
seria: int recebido=CopyRates(_Symbol,PERIOD_M1,inicio,fim,Custom);Robson, boa noite, eu estou com o mesmo problema, e não consigo eliminar as barras do gráfico, vc conseguiu eliminar ??!!
grato
Você ao menos tentou as soluções propostas?
Você ao menos tentou as soluções propostas?
Esses candles ocorrem pq um dos ativos esta em leilão de abertura ou leilao/aftermarket, onde o leilão pode durar tempo indeterminado, e afetam todos os timeframes.
Como os candles (valores) são muito grandes, acabam atrapalhando o resultado do meu indicador. Limitar horário de funcionamento não resolve para mim.
grato
Esses candles ocorrem pq um dos ativos esta em leilão de abertura ou leilao/aftermarket, onde o leilão pode durar tempo indeterminado, e afetam todos os timeframes.
Como os candles (valores) são muito grandes, acabam atrapalhando o resultado do meu indicador. Limitar horário de funcionamento não resolve para mim.
grato
Sugiro então que entre em contato com a corretora e entenda de onde vem estes "candles". A partir dai, volte a prancheta e efetue os ajustes no código de seu indicador.
Sendo leilao/aftermarket, a meu ver, você tem três alternativas: a) IGNORAR os mesmos; b) CONSIDERAR os mesmos da forma que vierem e; c) AJUSTAR (seja por diferença, media, ou outra técnica que você entender conveniente).
Esta eh minha opinião em cima de algo obscuro, pois não conheço seu indicador, o objetivo dele, código ou quaisquer limites(exceto o horário, que você descartou). O fato eh que quanto menos informação você colocar, menos a comunidade vai poder contribuir e, assim, você estará mais dependente de sua criatividade e bagagem técnica.
Boa sorte!
Você pode tentar a variante de CopyRates com datas.
int CopyRates(
string symbol_name, // nome do ativo
ENUM_TIMEFRAMES timeframe, // período
datetime start_time, // data e hora de início
datetime stop_time, // data e hora de término
MqlRates rates_array[] // array destino para copiar
);
no lugar de: int recebido=CopyRates(_Symbol,PERIOD_M1,1,10000,Custom);
seria: int recebido=CopyRates(_Symbol,PERIOD_M1,inicio,fim,Custom);Dvd, Tentei esta solução, mas continua o mesmo problema. Tenho que abrir e fechar o EA juntamente com o gráfico mais de uma vez para que dê certo.
Sugiro então que entre em contato com a corretora e entenda de onde vem estes "candles". A partir dai, volte a prancheta e efetue os ajustes no código de seu indicador.
Sendo leilao/aftermarket, a meu ver, você tem três alternativas: a) IGNORAR os mesmos; b) CONSIDERAR os mesmos da forma que vierem e; c) AJUSTAR (seja por diferença, media, ou outra técnica que você entender conveniente).
Esta eh minha opinião em cima de algo obscuro, pois não conheço seu indicador, o objetivo dele, código ou quaisquer limites(exceto o horário, que você descartou). O fato eh que quanto menos informação você colocar, menos a comunidade vai poder contribuir e, assim, você estará mais dependente de sua criatividade e bagagem técnica.
Boa sorte!
Joscelino, utilizei apenas a ferramenta do próprio MT5 para criar um símbolo, no meu caso, com 2 ativos conhecidos (PETR4/PETR3) utilizando a Fórmula de instrumento sintético (https://www.mql5.com/pt/articles/3540). O problema pode ser verificado deixando este símbolo aberto antes e depois do início das negociações, como disse o nosso amigo Brokenbrain.
Com esse novo símbolo criado, utilizo indicadores em qualquer tempo gráfico como se fosse um símbolo negociado normalmente.
Agradeço suas alternativas, mas infelizmente não resolve o meu problema. Testei em 4 corretoras diferentes. Não tenho como ignorar e considerar eles porque mudaria, por exemplo, o cálculo de uma média móvel. Como o problema sempre varia em quantidades, fica muito difícil ajustar por diferença.
- www.mql5.com
Robson, boa noite, eu estou com o mesmo problema, e não consigo eliminar as barras do gráfico, vc conseguiu eliminar ??!!
grato
Tentei fazer um indicador para visualizar a minha estratégia em back test, mas ainda esta com muito erro e não esta confiável. Minha solução foi pegar o preço de fechamento e/ou o preço do tick, armazenar num buffer e fazer o cálculo dos indicadores "manualmente". Só não consigo visualizar os candles. Por enquanto, a melhor maneira que encontrei de fazer um símbolo sintético é utilizar a própria ferramenta do MT5, infelizmente este erro pode interferir muito dependendo do indicador que você utiliza ou do tempo gráfico.
- 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
Criei alguns símbolos personalizados com Fórmula de Instrumento Sintético, exemplo PETR4/PETR3, e estou tendo o mesmo problemas com todos os símbolos criados. Se eu deixar o gráfico aberto Antes ou Após o encerramento das negociações, "aparecem" alguns candles a mais fora deste período de negociação.
Acredito que estes "novos" candles são criados devido a manutenção no servidor da corretora ou coisa parecida. Isso se torna um problema para meus indicadores, principalmente para tempos gráficos maiores que 15 Minutos, pois ficará uma barra tracejada com mesmo valor de máximo e mínimo durante muito tempo interferindo nos cálculos dos indicadores.
Se eu for na pasta <Custom> (C:\Users\[windows account]\AppData\Roaming\MetaQuotes\Terminal\[id da instância]\bases\Custom) e deletar o símbolo criado (ex. Petr4/Petr3) e abrir novamente o gráfico o problema é resolvido.
Para resolver este problema no meu EA, criei a seguinte função (AtualizarGrafico()) para atualizar o gráfico no início das minhas negociações:
O problema é que esta função não esta atualizando o gráfico no momento em que as negociações se iniciam. Tenho que abrir e fechar o EA juntamente com o gráfico mais de uma vez para que dê certo. Não sei como resolver este problema, se é erro no código ou se a função não consegue deletar/atualizar o gráfico por ele estar sendo atualizado ao mesmo tempo com as novas cotações.
Por favor, se alguém poder me ajudar.
Obrigado.