Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 966

 
kopeyka2:


Melhor ainda, diga claramente o que pretende alcançar. Vou provavelmente mostrar-vos um exemplo completo.

 
jdjahfkahjf:

O que é que isto significa?


Leia a Ajuda: Modos de optimização.

 

Pode dizer-me, por favor? Como é que um Expert Advisor é reinicializado (por exemplo, ao executar ChartSetSymbolPeriod() )?

É correcto compreender que a reinicialização na realidade diz respeito apenas a variáveis locais em funções.

E quais são as regras para as variáveis globais?

De acordo com a minha observação, as variáveis globais herdam os seus valores após o OnDeinit - OnInit pass.

Deveria ser assim?

 
User_mt5:

Pode dizer-me, por favor? Como é que um Expert Advisor é reinicializado (por exemplo, ao executar ChartSetSymbolPeriod() )?

É correcto compreender que a reinicialização na realidade diz respeito apenas a variáveis locais em funções.

E quais são as regras para as variáveis globais?

De acordo com a minha observação, as variáveis globais herdam os seus valores após o OnDeinit - OnInit pass.

Deveria ser assim?

Инициализация глобальных переменных программы и другие полезные знания.
Инициализация глобальных переменных программы и другие полезные знания.
  • 2016.11.29
  • www.mql5.com
Встал на форуме недавно вопрос по поводу верной/неверной инициализации глобальных переменных в программах...
 
Artyom Trishkin:

Obrigado.

O problema com este mql é que ele é intuitivamente imprevisível:

- não sobre a distinção global-local

- nem na questão das diferenças entre indicadores e peritos.

(a última cópia da correspondência com SD também foi muito útil na discussão acima referida no link, obrigado)

 
Alguém me pode dizer como expor programmaticamente as janelas no terminal? (largura, altura e snapping)
 
User_mt5:
Alguém me pode dizer como colocar as janelas no terminal de forma programática? (Largura, altura e posicionamento).

Desligar a janela do terminal e depois tentar (ainda não tentei pessoalmente definir estas propriedades):

MQL5: Adicionadas novas propriedades para ligar/desligar gráficos de/para a janela principal do terminal e controlar a sua posição.

Adicionadas novas propriedades naenumeraçãoENUM_CHART_PROPERTY_INTEGER:

  • CHART_IS_DOCKED - a janela do gráfico é fixa. Se for colocado em falso, o gráfico pode ser arrastado para fora do terminal.
  • CHART_FLOAT_LEFT - coordenada esquerda do gráfico destacado em relação ao ecrã virtual.
  • CHART_FLOAT_TOP - coordenada superior do gráfico em relação ao ecrã virtual.
  • CHART_FLOAT_RIGHT - coordenada direita do gráfico destacado em relação ao ecrã virtual.
  • CHART_FLOAT_BOTTOM - coordenada inferior do gráfico destacado em relação ao ecrã virtual.


Adicionadoà enumeraçãoENUM_TERMINAL_INFO_INTEGER:

  • TERMINAL_SCREEN_LEFT - coordenada esquerda do ecrã virtual. O ecrã virtual é um rectângulo que cobre todos os monitores. Se houver dois monitores no sistema e a sua ordem for definida da direita para a esquerda, a coordenada esquerda do ecrã virtual pode estar no limite dos dois monitores.
  • TERMINAL_SCREEN_TOP - coordenada superior do ecrã virtual.
  • TERMINAL_SCREEN_WIDTH - largura do terminal.
  • TERMINAL_SCREEN_HEIGHT - altura do terminal.
  • TERMINAL_LEFT - coordenada esquerda do terminal em relação ao ecrã virtual.
  • TERMINAL_TOP - coordenada superior do terminal em relação ao ecrã virtual.
  • TERMINAL_RIGHT - coordenada direita do terminal em relação ao ecrã virtual.
  • TERMINAL_BOTTOM - coordenada inferior do terminal em relação ao ecrã virtual.
 
Vladimir Karputov:

Desprender a janela do terminal e depois tentar (ainda não defini pessoalmente estas propriedades):

Obrigado.

Já o experimentei. Funciona assim (em particular, a janela é minimizada, quando se minimiza o terminal, este desaparece, mas quando se desdobra o ecrã, o anteriormente minimizado abre-se ao seu tamanho, sempre que é necessário minimizá-lo novamente, para que não volte a surgir).

Mas não é isso. Não preciso de destacar os gráficos, só preciso de os tesselar, por exemplo, ou o que mais me pareça conveniente. Não parece haver tal coisa no MT5...

(a ideia geral é que no Expert Advisor multimoedas eu preciso de ver os negócios por símbolos pré-definidos;
há um botão que abre todos os gráficos em que as ordens e posições estão abertas;
mas as janelas abrem em tamanho incontrolável e eu tenho de as organizar manualmente no ecrã;
e eu, preguiçoso, gostaria que o meu programa intelectualmente inatingível o fizesse :)

 
User_mt5:

Obrigado.

Já o experimentei. Funciona mais ou menos assim (em particular, a janela é minimizada, desaparece quando se minimiza o terminal, mas quando se desdobra o ecrã, o anteriormente minimizado abre-se ao seu tamanho, cada vez que se tem de o minimizar novamente para que não volte a surgir).

Mas não é isso. Não preciso de destacar os gráficos, só preciso de os tesselar ou qualquer outra coisa que me pareça adequada. Parece não existir tal coisa no MT5.

(a ideia geral é que num Expert Advisor multi-currency é necessário ver as transacções por símbolos predefinidos;
há um botão que abre todos os gráficos com ordens e posições abertas;
mas as janelas abrem-se incontrolavelmente grandes e eu tenho de as organizar manualmente no ecrã;
e eu, sendo preguiçoso, gostaria que o meu programa intelectualmente inatingível o fizesse :)

Que tal usar WinAPI? Especialmente, a MQL5 introduziu apoio para

MQL5: O apoio às funções WinAPI foi acrescentado à biblioteca padrão. Agora, para utilizar as funções do sistema operativo em programas MQL5, não é necessário importar manualmente bibliotecas e descrever assinaturas de funções. O ficheiro de cabeçalho do directório MQL5IncludeWinAPI é suficiente.

As funções WinAPI são agrupadas em ficheiros separados de acordo com os seus objectivos:

  • libloaderapi.mqh - manipulação de recursos
  • memoryapi.mqh - tratamento de memória
  • processenv.mqh - manipulação do ambiente
  • processsthreadsapi.mqh - trabalhar com processos
  • securitybaseapi.mqh - funcionamento com sistema de segurança OS
  • sysinfoapi.mqh - obter informação do sistema
  • winbase.mqh - funções gerais
  • windef.mqh - constantes, estruturas e enumerações.
  • wingdi.mqh - operação com objectos gráficos
  • winnt.mqh - tratamento de excepções
  • winreg.mqh - manipulação de registo
  • winuser.mqh - controlo de janela e interface
  • errhandlingapi.mqh - manipulação de erros
  • fileapi.mqh - manipulação de ficheiros
  • handleapi.mqh - trabalho com pegas
  • winapi.mqh - ligação de todas as funções (ficheiros de cabeçalho WinAPI)


Trabalhos de encadernação apenas com arquitectura de 64 bits.

 
Vladimir Karputov:

Que tal usar WinAPI?

Suponho que sim. Mas é aí que termina a minha perícia.

Seria bom se houvesse uma certeza para quem mql5 - para esperto ou para bonito. Estou longe de ser inteligente.
Para utilizar o API, preciso de uma descrição e exemplos. Sem ela, a montanha de ouro das bibliotecas permanecerá para mim sem uso.
- Não consigo e não vou olhar através de milhares de linhas de código não comentado na esperança de apanhar algo útil.