Uma pergunta para os especialistas em MQL - página 17

 

Quem lhe disse que isto é um erro?

A captura de tela mostra claramente que seu Expert Advisor usa a função ErrorDescription com o tipo de string

Não há erro. A nova construção acaba de acrescentar uma característica conveniente - agora você pode ver quais funções são usadas pela EA a partir da dll e das bibliotecas.

 
Rita:

Ambas as pastas (Incloud e Libraries) contêm fontes stdlib. Por via das dúvidas, eu acrescentei - copiado da pasta Incloud.

Mas o erro descrito acima ainda é exibido na guia "dependências". Talvez, de alguma forma, mude a vocação destas funções: Em vez de:

Definir a chamada de alguma outra forma?

Ou será impossível usar as funções da I.Kim na última versão do mt4 agora?


1) Abra o arquivo stdlib.mq4 na pasta Bibliotecas

2) compilá-lo

3) deve funcionar sem erros

 

Obrigado a todos vocês por suas respostas e recomendações. Outra pequena pergunta.

Como eu entendi - os nomes das variáveis globais estão agora destacados em vermelho no código. Entretanto, em meu código há nomes compostos, alguns dos quais coincidem com os nomes globais. E esta parte correspondente, por alguma razão, também é destacada em vermelho!

Pode ter um impacto negativo sobre a operação da EA? Ou não há nada de errado com tal destaque parcial?

 
Rita:

Obrigado a todos vocês por suas respostas e recomendações. Outra pequena pergunta.

Como eu entendi - os nomes das variáveis globais estão agora destacados em vermelho no código. Entretanto, em meu código há nomes compostos, alguns dos quais coincidem com os nomes globais. E esta parte correspondente, por alguma razão, também é destacada em vermelho!

Pode ter um impacto negativo sobre a operação da EA? Ou não há nada de errado com tal destaque parcial?


Não há nada de errado, mas você deve entrar em contato com o ServiceDesk para que ele seja corrigido.
 
Ainda não ouvi falar de tal serviço. Por favor, me dê um link.
 
Rita:
Ainda não ouvi falar de tal serviço. Por favor, me dê um link.

Você tem que se registrar no fórum mql5.com, haverá um link em seu perfil.
 
O idioma russo está aceso em vermelho e o que você tem globalmente está aceso de forma um pouco diferente, sem problemas para você ....
 

Bom dia!

Após a atualização do MT4 - o indicador que estava funcionando normalmente antes de parar de traçar sua linha. E descobriu-se que de alguma forma o código do indicador afeta fortemente o trabalho do processador nas versões antigas do MT4 com um meta-editor forçado atualizado. Mas sobre isso, mais tarde.

Após a atualização quando instalo o indicador no gráfico, a linha definida é desenhada com falhas e errada (com base na diferença de preço de fechamento de 2 símbolos especificados). Quando a linha de tempo de troca desaparece de todo (janela vazia), e a inscrição no registro aparece:

e após várias interrupções de tempo (ou reinicialização do mt4) o indicador desaparece completamente do gráfico:

2014.02.25 10:22:38.640 Indicador personalizado Spread-I-env #GCJ4,M30: removido

Por favor, informe qual poderia ser a razão? O que é este estranho erro?

2014.02.25 10:21:07.437Violação de acesso lido a 0x000003E5 em 'C:\Program Files\InstaTrader\MQL4\indicadores\Spread-I-env- mod1.ex4'

 

Olá!

Você pode me dizer como encontrar a cor de fundo do gráfico nas novas construções?

Nos antigos, encontrei assim:

#importar "user32.dll

int GetWindowDC(int h);

int ReleaseDC(int h, int hDC);

bool GetWindowRect(int h, int& pos[4]);

#importar

#importar "gdi32.dll"

int GetPixel(int hDC, int x, int y);

#importar

//+------------------------------------------------------------------+

//| função de início do programa de script |

//+------------------------------------------------------------------+

início nulo()

{

int col = getBackgroundColor();

se (col===-1) MessageBox("Nenhum canto da janela é visível");

else MessageBox("Background colour: " + col);

}

//+------------------------------------------------------------------+

int getBackgroundColor()

{

int h = WindowHandle(Symbol(), Period());

int hDC = GetWindowDC(h);

int col = GetPixel(hDC, 2, 2);

if(col==-1) {

// o canto superior esquerdo não é visível

int rect[4];

GetWindowRect(h, reto);

int wW = ret[2] - ret[0]; // largura da janela

int wH = ret[3] - reto[1]; // altura da janela

col = GetPixel(hDC, wW-3, wH-3); // canto inferior direito

if(col==-1) col = GetPixel(hDC, 2, wH-3); // BOW

if(col==-1) col = GetPixel(hDC, wW-3, 2); // LNT

}

ReleaseDC(h, hDC);

retorno(col);

}

Não funciona em novos!

 

Obrigado, isso esclarece a questão. Eu mesmo descobri!

Cor = ChartGetInteger( 0, CHART_COLOR_BACKGROUND, 0 );

Razão: