Erros, bugs, perguntas - página 3174

 
Andreas Hoogendoorn # :

Estou a utilizar as classes CGraphic e CCurve e algo de estranho acontece. Estou a executar duas instâncias do mesmo EA em pares de moedas diferentes. Quando percorro um gráfico, o outro gráfico é visível por um momento. Parece que a memória está confusa entre os dois gráficos. Reiniciar o terminal não faz diferença. (A imagem é um gif animado)


Pode publicar um exemplo mínimo? E, por favor especifique os dados do terminal e do sistema operativo, algo como isto:

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

MetaTrader Muito Falhoso

Vladimir Karputov, 2021.03.16 04:20

Se tiver uma pergunta, em primeiro lugar deve mostrar as três primeiras linhas do separador 'Journal


(seleccionar estas linhas, copiar para a prancheta e colar na mensagem usando o botão Código). Deve ter este aspecto:

2021.03.16 05:13:07.133 Terminal        MetaTrader 5 x64 build 3003 started for MetaQuotes Software Corp.
2021.03.16 05:13:07.134 Terminal        Windows 10 build 19042, Intel Core i7-9750 H  @ 2.60 GHz, 26 / 31 Gb memory, 842 / 947 Gb disk, IE 11, UAC, GMT+2
2021.03.16 05:13:07.134 Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

 
Andreas Hoogendoorn #:

Estou usando as classes CGraphic e CCurve e algo estranho acontece. Estou executando duas instâncias do mesmo EA em pares de moedas diferentes. Quando percorro um gráfico, o outro gráfico é visível por um momento. Parece que a memória está bagunçada entre os dois gráficos. Reiniciar o terminal não faz diferença. (A imagem é um gif animado)


Ok, eu resolvi o problema embora ainda seja um bug!!!

Ao utilizar a classe CGraphic é obrigado a usar um nome único ao criar um recurso gráfico.

Os recursos não são isolados como deveriam ser. Uma EA de um gráfico pode acessar o recurso de outro gráfico.


2022.04.17 12:44:13.049 Terminal        MetaTrader 5 x64 build 3260 started for MetaQuotes Software Corp.
2022.04.17 12:44:13.050 Terminal        Windows 10 build 19044, 4 x Intel Core i5  750 @ 2.67 GHz, 4 / 11 Gb memory, 4 / 124 Gb disk, UAC, GMT-3
2022.04.17 12:44:13.050 Terminal        C:\Users\andre\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

#include <Graphics\Graphic.mqh>
CGraphic          graphic;

graphic.Create(0, "test", 0, 0, 0, 1200, 400);

Estes exemplos falham.

graphic.Create(0, (string) MathRand(), 0, 0, 0, 1200, 400);
Este exemplo é bom.
 

Eu já escrevi sobre isso. Mas isso é realmente irritante.
Caros desenvolvedores do backend deste site, por favor, consertem-no:
Continuo recebendo notificações sobre novas versões de produtos pagos que nunca comprei, às vezes várias vezes ao dia:

Eu clico neste link:

 
Andreas Hoogendoorn #:

Estou usando aulas de CGraphic e CCurve e algo estranho acontece. Eu executo duas instâncias do mesmo EA em pares de moedas diferentes. Quando eu percorro um gráfico, o outro gráfico se torna visível por um instante. A memória parece ficar confusa entre os dois gráficos. A reinicialização do terminal não muda nada. (A foto é um gif animado).


Ao criar um objeto gráfico, você precisa adicionar o nome, por exemplo, o ID do gráfico no qual ele será desenhado:

   CGraphic graphic;

   graphic.Create(0,"G"+(string)ChartId(),0,30,30,780,380);


Caso contrário, o nome do recurso gráfico em ambos os gráficos será o mesmo, e como os recursos gráficos são globais para o terminal, ambos os programas trabalharão com o mesmo recurso (ou seja, desenhar para a mesma tela).

 

Erro : OrderCalcMargin devolve valor errado


OrderCalcMargin() às vezes retorna o valor errado da margem necessária.

Por exemplo, funciona corretamente em muitos dos principais pares forex e em muitos outros CFD, etc., retorna o valor correto.


Mas, USDPLN ou em PLATINUM, ou em algum outro, ele retorna um valor absolutamente errado da margem requerida.

ENUM_SYMBOL_CALC_MODE requerido para EURUSD e USDPLN é o mesmo(SYMBOL_CALC_MODE_FOREX), mas se para EURUSD a função retorna o valor correto da margem requerida, para USDPLN é errado.

Por que assim?

 

Olá a todos, espero estar escrevendo para o lugar certo (mas se algo, sugira um lugar mais relevante).

Estou falando do desaparecimento de allerts no MT5 (versão 5.00 build 3260, Just2Trade).

A essência: se eu adicionar (ou alterar) todas as alocações e apenas reiniciar o computador sem fechar a janela (Start Shutdown-Reboot),
todas as alterações em todas as alocações desaparecem. E para salvá-los, é preciso lembrar de fechar a janela do terminal com uma cruz.

Este é um bug bastante cruel que precisa ser consertado.

 
Lazar Buga #: Por que sim?

Seu corretor fez asneira. Fale com eles.

 
Ilyas #:

Ao criar um objeto gráfico, você deve adicionar no nome, por exemplo, o ID do gráfico no qual ele será desenhado:


Caso contrário, o nome do recurso gráfico em ambos os gráficos será o mesmo, e como os recursos gráficos são globais para o terminal, ambos os programas trabalharão com o mesmo recurso (ou seja, desenhar para a mesma tela).

O nome do recurso do objeto gráfico não pode exceder 63 caracteres. Se você acrescentar um identificador gráfico ao nome, não há muito espaço para um nome legível, infelizmente.

 
a18 #:

Olá a todos, espero estar escrevendo para o lugar certo (mas se algo, sugira um lugar mais relevante).

Estou falando do desaparecimento de allerts no MT5 (versão 5.00 build 3260, Just2Trade).

A essência: se eu adicionar (ou alterar) todas as alocações e apenas reiniciar o computador sem fechar a janela (Start Shutdown-Reboot),
todas as alterações em todas as alocações desaparecem. E para salvá-los, é preciso lembrar de fechar a janela do terminal com uma cruz.

É um insecto cruel a ser consertado.

Fixo, estará em versão beta.

 
Erro de compilação:
template<typename T>
struct A {
    T *t;
};
void OnStart()
{
    A<void> a; //Error: 'void' - expression of 'void' type is illegal
}