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

 
Vikon:

Hi.

Estou a tentar converter-me a cinco, mas não compreendo a lógica da sintaxe.

Como converter duplo i= iHigh(Símbolo(),0,1); do indicador quatro para mql5,

Ainda não posso dar qualquer ideia.

Obrigado

duplo i[]; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i);
 
pronych:
duplo i[]; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i);

Não, não se pode fazer como o mql4, não se pode dar um valor elevado em alerta

double i= iHigh(Symbol(),0,1);

Alerta (i);

E oferece-me, segundo entendi, uma série de barras int com valores máximos.

Eis o problema no meu entendimento, como traduzir estas duas cordas, que são claras para qualquer programador de nível, em mql5

 
Vikon:

Não, não se pode fazer como o mql4, não se pode dar um valor elevado em alerta

double i= iHigh(Symbol(),0,1);

Alerta (i);

E oferece-me, segundo entendi, uma série de barras int com valores máximos.

Esta é a dificuldade na minha compreensão, como traduzir estas duas cordas, que são compreensíveis para qualquer programador de nível, em mql5

Isto é da ajuda
int  CopyHigh(
   string           symbol_name,      // имя символа
   ENUM_TIMEFRAMES  timeframe,        // период
   int              start_pos,        // откуда начнем 
   int              count,            // сколько копируем
   double           high_array[]      // массив для копирования максимальных цен
   );

Todos foram correctamente aconselhados, mas se a barra no alerta não for zero, terá de copiar 2 buffers (ou quantos precisa de aplicar).

double i[];
ArraySetAsSeries(i,true); // массив как таймсерия
CopyHigh(Symbol(),PERIOD_CURRENT,0,2,i);
Alert(i[1]);
 
lewvik:
Isto é da ajuda

Tudo correctamente aconselhado, apenas se a barra no alerta não for zero é necessário copiar 2 buffers (ou tantos quantos forem necessários)

Está a funcionar bem. Obrigado

 

Olá!

Pergunta sobre indicadores, aqui quero escrever um indicador MACD que usará quatro períodos de tempo MACD em quaisquer períodos de tempo para isto uso o manípulo do indicador MACD que está no OnInit e no Start as funções de cópia e sequenciação da matriz.

Por isso, as minhas perguntas são:

Quantas pegas devo declarar quatro (para cada período de tempo) ou uma.

Se um, que possibilidade existe de alterar parâmetros durante a execução do código durante quatro períodos de tempo.

Talvez uma pega possa ser enrolada numa função e chamada no código para os períodos de tempo indicados

 
Será que existe um artigo algures como "as razões mais comuns para a lentidão da EA"? Estou a tentar compreender porque é que a EA no testador apenas voa no início, mas quanto mais longe vai, mais lento fica. Não está em fase de desenvolvimento para ser crítico (a velocidade é suficiente para o desenvolvimento de mecanismos e ferramentas básicas). Mas ainda é desconfortável que não faça sentido levar mais de uma semana, porque depois disso a velocidade tende a zero.
 
Lone_Irbis:
Será que existe um artigo algures como "as razões mais comuns para a lentidão da EA"? Estou a tentar compreender porque é que a EA no testador apenas voa no início, mas quanto mais longe vai, mais lento fica. Não está em fase de desenvolvimento para ser tão crítico (a velocidade é suficiente para o desenvolvimento de mecanismos e ferramentas básicas). Mas ainda é inconveniente que não faça sentido levar segmentos mais longos do que uma semana, porque depois disso a velocidade já tende a zero.
Muito provavelmente utiliza indicadores com cálculo de toda a história, o que aumenta até ao final do teste.
 
Lone_Irbis:
Será que existe um artigo algures como "as razões mais comuns para a lentidão da EA"? Estou a tentar compreender porque é que a EA no testador apenas voa no início, mas quanto mais longe vai, mais lento fica. Não está em fase de desenvolvimento para ser tão crítico (a velocidade é suficiente para o desenvolvimento de mecanismos e ferramentas básicas). Mas ainda é inconveniente que não faça sentido levar segmentos mais do que uma semana, porque depois disso a velocidade já tende a zero.
Como alternativa: dividir o período de teste em dois e executá-lo no provador separadamente. Desta forma, podemos determinar se há apenas menos sinais para a entrada durante o período especificado.
 
zfs:
Muito provavelmente utiliza indicadores com cálculo de toda a história, o que aumenta até ao final do teste.

Até ao momento, não utiliza quaisquer indicadores externos. Mas efectua muitos cálculos baseados na história, sim. Contudo, parece haver um limite para o número máximo de castiçais analisados, e se a razão são eles, não é claro porque é que abranda gradualmente, em vez de abrandar desde o início (parece que o intervalo é sempre tirado do momento presente).

 
Lone_Irbis:

Até ao momento, não utiliza quaisquer indicadores externos. Mas efectua muitos cálculos baseados na história, sim. No entanto, parece haver um limite para o número máximo de castiçais analisados, e se essa é a razão, não é claro porque é que abrandaria gradualmente, em vez de abrandar desde o início (parece que o segmento é sempre retirado do momento presente).

E "muitos cálculos baseados na história" somam-se a um conjunto dinâmico?
Razão: