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

 

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

Insectos, insectos, perguntas

comp, 2016.03.23 09:49

Como é que conheço o período gráfico por ChartID?ChartGetInteger não permite fazer isto numa única acção.

Até ao momento, encontrei uma solução de muleta, guardando um modelo e analisando o período em que se encontra.

Como saber normalmente?

UseChartPeriod

ChartPeriod

Devolve o valor doperíodo do gráfico especificado.

ENUM_TIMEFRAMESChartPeriod(
longchart_id=0// ID do gráfico
);

Parâmetros

chart_id=0

[ID do gráfico. 0 significa o gráfico actual.

Valor devolvido

Valor do tipoENUM_TIMEFRAMES. Se não houver tabela, 0 é devolvido.

 
Karputov Vladimir:

UseChartPeriod

Obrigado.
 

Boa tarde!

Como pode ser determinado o estado do painel de negociação de um clique (expandido ou colapsado)?

 
Diz-me como procurar perguntas sobre o tópico certo neste tópico para principiantes. O fio cresceu para uma enorme camada de perguntas e respostas, pelo que já não é possível pesquisar manualmente. Se já hesitou em fazer uma pergunta, pode já ter sido respondida aqui há muito tempo, mas a pesquisa é feita em todo o site e não nesta secção em particular "para principiantes" ?
 
Alexander:
Diz-me como procurar perguntas sobre o tópico certo neste tópico para principiantes. O fio cresceu para uma enorme camada de perguntas e respostas, pelo que a pesquisa manual já não é possível. Fazer uma pergunta já hesita, talvez já tenha sido respondida aqui há muito tempo, e a pesquisa é feita em todo o site e não nesta secção em particular "para principiantes" ?

Digite uma pesquisa no google: site de pesquisa:https://www.mql5.com/ru/forum/6343

"Pesquisável" é o que se procura.

 
Pergunta sobre a linguagem µl4 - Porque é que a função"criar objecto" não funciona durante a optimização, quando se usa um objecto para armazenar dados de várias variáveis, acaba por ser 20 vezes mais rápido do que quando se usa a função openfail->failride->failclose, o que torna a optimização e os testes muito mais lentos?
 

Boa tarde!

Não consigo perceber como processar as barras durante duas horas, digamos das 15h às 17h, para as últimas 250 sessões de negociação.

Pode dar-me uma sugestão conceptual, por favor?

mql5

 
Stairway_2_7:

Boa tarde!

Não consigo perceber como processar as barras durante duas horas, digamos das 15h às 17h, para as últimas 250 sessões de negociação.

Pode dar-me uma sugestão conceptual, por favor?

mql5

Utilize as funções com consulta de tempo

int  CopyOpen( 
   string           symbol_name,     // имя символа 
   ENUM_TIMEFRAMES  timeframe,       // период 
   datetime         start_time,      // с какой даты 
   datetime         stop_time,       // по какую дату 
   double           open_array[]     // массив для копирования цен открытия 
   );
 

Sergey,

obrigado pela resposta!

Para a minha tarefa, é mais conveniente

nulo OnStart()

{

data/hora de início =StringToTime("2016.03.25 15:00");

datetime stop =StringToTime("2016.03.25 15:55");

Taxas de MqlRRates[];

ArraySetAsSeries(taxas,verdadeiro);

int copied=CopyRates(_Símbolo,PERÍODO_M5,start,stop,rates);

if(copiado>0)

{

Imprimir ("Barras copiadas: "+copiadas");

formato de cadeia = "aberto = %G, alto = %G, baixo = %G, fechado = %G, volume = %d";

cordão para fora;

int size=fmin(copiado,10);

for(int i=0;i<size;i++)

{

out=i+": "+TimeToString(rates[i].time);

out=out+"+StringFormat(formato),

taxas[i].abertas,

taxas[i].elevadas,

taxas[i].baixas,

taxas[i].fechar,

taxas[i].tick_volume);

Imprimir(sair);

}

}

else Print("Failed to get historical data on symbol ",Symbol());

}

Como posso remover os sábados e domingos?

Mais precisamente, fazer uma operação semelhante durante os últimos, digamos, 250 dias de negociação?

 
Stairway_2_7:

Sergey,

obrigado pela resposta!

Para a minha tarefa, é mais conveniente

nulo OnStart()

{

data/hora de início =StringToTime("2016.03.25 15:00");

datetime stop =StringToTime("2016.03.25 15:55");

Taxas de MqlRRates[];

ArraySetAsSeries(taxas,verdadeiro);

int copied=CopyRates(_Símbolo,PERÍODO_M5,start,stop,rates);

if(copiado>0)

{

Imprimir ("Barras copiadas: "+copiadas");

formato de cadeia = "aberto = %G, alto = %G, baixo = %G, fechado = %G, volume = %d";

cordão para fora;

int size=fmin(copiado,10);

for(int i=0;i<size;i++)

{

out=i+": "+TimeToString(rates[i].time);

out=out+"+StringFormat(formato),

taxas[i].abertas,

taxas[i].elevadas,

taxas[i].baixas,

taxas[i].fechar,

taxas[i].tick_volume);

Imprimir(sair);

}

}

else Print("Failed to get historical data on symbol ",Symbol());

}

Como posso remover os sábados e domingos?

Para ser mais preciso, como fazer uma operação semelhante durante os últimos, digamos, 250 dias de negociação?

Tente trabalhar com esta estrutura

struct MqlDateTime 
  { 
   int year;           // год 
   int mon;            // месяц 
   int day;            // день 
   int hour;           // час 
   int min;            // минуты 
   int sec;            // секунды 
   int day_of_week;    // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота) 
   int day_of_year;    // порядковый номер в году (1 января имеет номер 0) 
  };
Razão: