Erros, bugs, perguntas - página 2190
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Após três minutos de experimentação, cheguei à conclusão de que o deslocamento é de
e não a partir da posição actual.
Então? O número de barras visíveis está a mudar. Seria melhor verificar quando o gráfico é movido com o rato. Pode apanhá-lo. Se houver um deslocamento de um gráfico com acção do rato, então não é um trabalho funcional.
Não falei de uma verificação de tempo de execução. Se deslocar manualmente o gráfico para a direita por 100 barras e depois tentar deslocá-lo mais 10 barras para a direita, o desvio será definido para 10 a partir da marca mostrada na imagem. De facto, neste exemplo, a mudança não acontecerá para a direita por 10, mas para a esquerda por 90.
Quanto à verificação... de que serve verificar algo que não funciona como esperado? Mais precisamente escrito não como esperado. Para mover o gráfico mais de uma vez, a compensação deve ser feita a partir de CHART_CURRENT_POS, e no exemplo foi CHART_END.
Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos
Erros, bugs, perguntas
Aleksey Vyazmikin, 2018.04.12 15:43
Se chamar o guião frequentemente - vez após vez após execução, o offset do gráfico deixa de funcionar, ou seja, os comandos para esta acção são saltados
Daí o problema.
Não falei de uma verificação de tempo de execução. Se deslocar manualmente o gráfico para a direita por 100 barras e depois tentar deslocá-lo mais 10 barras para a direita, o desvio será definido para 10 a partir da marca mostrada na imagem. De facto, neste exemplo, a mudança não acontecerá para a direita por 10, mas para a esquerda por 90.
Quanto à verificação... de que serve verificar algo que não funciona como esperado? Mais precisamente escrito não como esperado. Para mover o gráfico mais do que uma vez, temos de compensar a partir de CHART_CURRENT_POS e no exemplo, a partir de CHART_END.
Daí o problema.
Não li o código. Talvez necessite dela dessa forma.
O que estou a dizer é que a função de offset do gráfico é assíncrona, o que significa que quando devolve o sucesso da execução, não se trata do offset do gráfico, mas do sucesso de colocar tal ordem na fila de eventos do gráfico. E isto não é a mesma coisa - sabe disso.
Portanto, com base nisso, estou a falar de apanhar o evento da execução do comando de mudança de gráfico.
Quem me dera ter tempo para experimentar... Mas, infelizmente...
O perfilador não mostra assinaturas de funções, pelo que não se pode dizer imediatamente qual é a função sobrecarregada
Isto é, a lista é preenchida com __FUNÇÃO__, enquanto eu gostaria de __FUNSÃO__.
Ajuda a encontrar o post do programador onde o código fonte ArrayResize foi afixado. Googling "site:mql5.com/pt/forum ArrayResize+reserve" não ajuda.
Lembro-me de que havia um código fonte. Nele se pode ver imediatamente a lógica de implementação do parâmetro de reserva.
Ajuda a encontrar o post do programador onde o código fonte ArrayResize foi afixado. Googling "site:mql5.com/pt/forum ArrayResize+reserve" não ajuda.
Lembro-me de que havia um código fonte. Pode-se ver imediatamente a lógica por detrás da implementação do parâmetro de reserva.
O código fonte ou pseudo-código? Estas são coisas diametralmente diferentes.
Se confiar apenas no facto de um offset, pode deslocar o gráfico à mão - isso é um buraco na lógica...
Tem de verificar o offset à barra calculada, aparentemente, e não apenas o offset. Só precisa de descobrir como implementá-la correctamente...
Eu não falei em verificar a execução. Se deslocar manualmente o gráfico para a direita por 100 barras e depois tentar deslocar mais 10 e também para a direita com o guião, o desvio será definido para 10 a partir da marca indicada no instantâneo. De facto, neste exemplo, a mudança não acontecerá para a direita por 10, mas para a esquerda por 90.
Quanto à verificação... de que serve verificar algo que não funciona como esperado? Mais precisamente escrito não como esperado. Para mover o gráfico mais de uma vez, temos de compensar a partir de CHART_CURRENT_POS e no exemplo temos CHART_END.
Daí o problema.
Preciso de CHART_END, porque é suposto fazermos a mudança no laço por datas, e é mais conveniente procurar datas do início ou do fim dos dados, do que do meio...
Código fonte, ou pseudo-código? Estas são coisas radicalmente diferentes.
Penso que o código fonte foi directamente afixado. Mas mesmo que haja um pseudo-código, e será útil.
Tem de verificar o offset à barra calculada, aparentemente, e não apenas o offset. Só preciso de descobrir como implementá-la correctamente...
Preciso de CHART_END, porque é suposto fazer uma compensação no ciclo por datas, e é mais conveniente procurar datas do início ou do fim dos dados, do que do meio...
Portanto, não há qualquer problema. O turno só será imperceptível se se tentar mudar pelo mesmo número de barras 2 ou mais vezes com um período inalterado.
Espero não me ter esquecido de desactivar a mudança automática do gráfico.
Portanto, não há qualquer problema. O turno só será imperceptível se se tentar mudar pelo mesmo número de barras 2 ou mais vezes com o mesmo período.
Espero não me ter esquecido de desactivar o autoskill?
O autoscroll, é claro, está desactivado.