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

 
Alexander Kharlamov:

Olá!

Em MT4 há um comando if (IsTesting()

Existe um análogo em MT5?

Gostaria de lhe fazer algumas perguntas, obrigado.

P.S. E outra coisa - no modo normal o meu Expert Advisor escreve um ficheiro de registo, mas se o correr no testador em MT5, não o vejo na pasta habitual do Testador, como era em M4.

Escolha o que precisa:

ENUM_MQL_INFO_INTEGER

Identificador

Descrição

Tipo de propriedade

MQL_MEMORY_LIMIT

Tamanho máximo possível de memória dinâmica para um programa MQL5 em MB

int

MQL_MEMORY_UTILIZADO

Quanta memória um programa MQL5 utiliza em MB

int

MQL_PROGRAM_TYPE

Tipo de mql5-programa

ENUM_TIPO_DE_PROGRAMA

MQL_DLLS_ALLOWED

Permissão para utilizar a DLL paraeste programa em execução.

bool

MQL_TRADE_ALLOWED

Permissão paranegociar paraeste programa em execução

bool

MQL_SIGNALS_ALLOWED

Permitirtrabalhar com sinaisdeste programa

bool

MQL_DEBUG

Sinal de um programa em execução em modo de depuração

bool

MQL_PROFILER

Sinal de execução de um programa no modo de perfil de código

bool

MQL_TESTER

Sinal de execução de um programa no testador

bool

MQL_OPTIMIZATION

Sinal de um programa em execução durante a optimização

bool

MQL_VISUAL_MODE

Um sinal de que um programa em execução está em modo de teste visual

bool

MQL_FRAME_MODE

Sinal de execução do Expert Advisor num gráfico nomodo frame de recolha de resultados de optimização

bool

TIPO_LICENÇA_MQL

O tipo de licença do módulo EX5. A licença refere-se ao módulo EX5, a partir do qual o pedido é feito utilizando MQLInfoInteger(MQL_LICENSE_TYPE).

ENUM_LICENÇA_TIPO

Sobre os ficheiros:FileOpen help

O ficheiro é aberto na pasta terminal do cliente na subpasta MQL5\Files (ou em caso de teste, na pasta_agent_testing\MQL5\Files). Se FILE_COMMON for especificado entre as bandeiras, o ficheiro é aberto na pasta comum de todos os terminais dos clientes Ficheiros Comuns.

Por exemplo, directório de dados

C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files,

então os directórios dos agentes de teste (utilizando o agente #1 como exemplo) estarão aqui:

C:\Users\KVN\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\Files

 
Karputov Vladimir:

Escolha o que precisa:

ENUM_MQL_INFO_INTEGER

Identificador

Descrição

Tipo de propriedade

MQL_MEMORY_LIMIT

Tamanho máximo possível de memória dinâmica para um programa MQL5 em MB

int

MQL_MEMORY_UTILIZADO

Quanta memória um programa MQL5 utiliza em MB

int

MQL_PROGRAM_TYPE

Tipo de mql5-programa

ENUM_TIPO_DE_PROGRAMA

MQL_DLLS_ALLOWED

Permissão para utilizar a DLL paraeste programa em execução.

bool

MQL_TRADE_ALLOWED

Permissão paranegociar paraeste programa em execução

bool

MQL_SIGNALS_ALLOWED

Permitirtrabalhar com sinaisdeste programa

bool

MQL_DEBUG

Sinal de um programa em execução em modo de depuração

bool

MQL_PROFILER

Sinal de execução de um programa no modo de perfil de código

bool

MQL_TESTER

Sinal de execução de um programa no testador

bool

MQL_OPTIMIZATION

Sinal de um programa em execução durante a optimização

bool

MQL_VISUAL_MODE

Um sinal de que um programa em execução está em modo de teste visual

bool

MQL_FRAME_MODE

Sinal de execução do Expert Advisor num gráfico nomodo frame de recolha de resultados de optimização

bool

TIPO_LICENÇA_MQL

O tipo de licença do módulo EX5. A licença refere-se ao módulo EX5, a partir do qual o pedido é feito utilizando MQLInfoInteger(MQL_LICENSE_TYPE).

ENUM_LICENÇA_TIPO

Sobre os ficheiros:FileOpen help

O ficheiro é aberto na pasta terminal do cliente na subpasta MQL5\Files (ou em caso de teste, na pasta_agent_testing\MQL5\Files). Se FILE_COMMON for especificado entre as bandeiras, o ficheiro é aberto na pasta comum de todos os terminais dos clientes Ficheiros Comuns.

Por exemplo, directório de dados

C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files,

então os directórios dos agentes de teste (utilizando o agente #1 como exemplo) estarão aqui:

C:\Users\KVN\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\Files

Obrigado, com a substituição do IsTesting imediatamente compreensível, e o ficheiro de registo para classificar, no modo de troca é escrito no meu ficheiro, mas no teste não é. (
 
Alexander Kharlamov:
Obrigado, compreendo tudo ao mesmo tempo com a substituição do IsTesting, e vou tratar do ficheiro de registo, no modo de comércio o meu ficheiro está escrito, mas no teste não está. (
No Testador de Estratégia, basta clicar no separador "Log", depois clicar com o botão direito do rato e seleccionar o item mais alto no menu de contexto: "Abrir". Isto irá lançar o Explorer, que abrirá imediatamente a pasta com os registos do Testador de Estratégia.
 
Pode dizer-me se ponho uma EA em 10 gráficos diferentes ou em 10 gráficos idênticos, mas com TFs diferentes, tenho de ir às propriedades da EA em cada gráfico e alterar o número mágico?

Obrigado
 
Ivan Butko:
Pode dizer-me se ponho uma EA em 10 gráficos diferentes ou em 10 gráficos idênticos, mas com TFs diferentes, tenho de ir às propriedades da EA em cada gráfico e alterar o número mágico?

Obrigado
Se o colocar em gráficos diferentes, muito provavelmente não haverá problema. Se estiver no mesmo gráfico com TF diferente, muito provavelmente não funcionará correctamente, mas para obter uma resposta exacta à sua pergunta, terá de olhar para o código.
 
BlackTomcat:
Para evitar o incómodo de encontrar a pasta dos registos, basta mudar para o separador "Registo" no Testador de Estratégia, clicar aí e seleccionar o item mais alto: "Abrir" no menu de contexto que se abre. Isto irá lançar o Explorer, que abrirá imediatamente a pasta com os registos do Testador de Estratégia.
Não escrevi sobre o diário de bordo padrão de que estás a falar. Eu crio o meu próprio registo e escrevo nele o que preciso. no comércio obras no testador não cria o ficheiro.
 
Alexander Kharlamov:
Eu não escrevi o registo padrão de que estás a falar. Eu crio o meu próprio registo e escrevo nele o que preciso. no comércio obras no testador não cria o ficheiro.

No entanto, tenta-se criar o ficheiro - os ficheiros serão criados dentro da caixa de areia. Como encontrar ficheiros:

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Perguntas de principiantes

Karputov Vladimir, 2016.09.06 10:19

...

Sobre os ficheiros:FileOpenhelp

O ficheiro é aberto na pasta do terminal do cliente na subpasta MQL5\Files (ou em caso de teste, no_agent_testing_directory\MQL5\Files). Se FILE_COMMON for especificado entre as bandeiras, o ficheiro é aberto na pasta comum de todos os terminais dos clientes Ficheiros Comuns.

Por exemplo, directório de dados

C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files,

então os directórios dos agentes de teste (utilizando o agente #1 como exemplo) estarão aqui:

C:\Users\KVN\AppData\Roaming\MetaQuotes\Tester\D0E8209F77C8CF37AD8BF550E51FF075\Agent-127.0.0.1-3000\MQL5\Files


TERMINAL_DATA_PATH também irá ajudar.
 
Karputov Vladimir:

No entanto, tenta-se criar o ficheiro - os ficheiros serão criados dentro da caixa de areia. Como pesquisar os ficheiros:


TERMINAL_DATA_PATH também ajudaria!

Aqui é como em MT5!!! )) encontrou-o! )) OBRIGADO!

Estava a procurar na pasta do Terminal e está na pasta do Testador ... mas não a da pasta do Terminal!

 

Diga-me, escrevi correctamente o indicador do preço de fecho ou há armadilhas que não tenha considerado?

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1
#property  indicator_color1  clrRed
#property  indicator_type1   DRAW_LINE 

double Buffer[];

void OnInit()
{
  SetIndexBuffer(0, Buffer, INDICATOR_DATA); 
}

int OnCalculate( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[] )
{
  return(rates_total - prev_calculated + ::ArrayCopy(Buffer, close, prev_calculated, prev_calculated));
}
 
Pode dizer-me porque pode ser este o caso? :
//--- По отдельности

Fun_1();     // Работает
//----------------------
Fun_2();     // Работает

//--- Совместно

Fun_1();     // Работает
Fun_2();     // не Работает
//----------------------
Fun_2();     // Работает
Fun_1();     // не Работает
Fun_1() e Fun_2() são semelhantes.