- CalendarCountryById
- CalendarEventById
- CalendarValueById
- CalendarCountries
- CalendarEventByCountry
- CalendarEventByCurrency
- CalendarValueHistoryByEvent
- CalendarValueHistory
- CalendarValueLastByEvent
- CalendarValueLast
CalendarValueHistoryByEvent
Obtém um array de valores de todos os eventos no intervalo de tempo especificado, segundo o ID do evento.
int CalendarValueHistoryByEvent(
|
Parâmetros
event_id
[in] ID do evento.
values[]
[out] Matriz de tipo MqlCalendarValue para obter valores de eventos. Veja um exemplo de processamento de eventos de calendário.
datetime_from
[in] Data de início do intervalo de tempo a partir do qual os eventos são selecionados pelo ID definido, enquanto datetime_from < datetime_to.
datetime_to=0
[in] Data final do intervalo de tempo a partir do qual os eventos são selecionados pelo ID definido. Se não for especificado o parâmetro datetime_to (ou é igual a 0), serão retornados todos os valores de evento da data especificada datetime_from, disponível no banco de dados do Calendário, incluindo os valores dos eventos planejados para o futuro.
Valor retornado
Retorna true em caso de sucesso, caso contrário, fals. Para obter informações de erro, chame a função GetLastError(). Possíveis erros:
- 4001 ERR_INTERNAL_ERROR (erro geral de tempo de execução),
- 4004 ERR_NOT_ENOUGH_MEMORY (memória insuficiente para execução da solicitação),
- 5401 ERR_CALENDAR_TIMEOUT (excedido tempo limite de solicitação),
- 5400 ERR_CALENDAR_MORE_DATA (tamanho de array insuficiente para obter descrições de todos os valores, portanto, eles recebem apenas o que contêm).
- falha ao executar ArrayResize()
Se, para o valor de evento, não houver algum dos campos abaixo
struct MqlCalendarValue
|
o valor do campo ausente será retornado como INT64_MIN (-9223372036854775808). Veja o exemplo abaixo para valores de campo revised_prev_value.
Observação
Todas as funções para trabalhar com o Calendário Econômico usam o horário do servidor de negociação (TimeTradeServer). Isso significa que o tempo na estrutura MqlCalendarValue e os parâmetros de tempo de entrada nas funções CalendarValueHistoryByEvent/CalendarValueHistory são definidos no fuso horário do servidor de negociação e não no horário local do usuário.
A estrutura MqlCalendarValue disponibiliza método para obter e verificar valores a partir dos campos actual_value, forecast_value, prev_value e revised_prev_value. Se o valor do campo não estiver definido, ele armazenará o valor LONG_MIN (-9223372036854775808).
Deve-se ter em mente que os valores nestes campos são armazenados multiplicados por um fator de um milhão. Isso significa que quando as funções CalendarValueById, CalendarValueHistoryByEvent, CalendarValueHistory, CalendarValueLastByEvent e CalendarValueLast recebem valores em MqlCalendarValue, é necessário verificar se os valores LONG_MIN desses campos são iguais; e se no campo estiver definido o valor, para obter o valor deve-se dividir o valor do campo por 1000 000 (um milhão). Outra maneira de obter valores é verificar e obter valores por funções da própria estrutura MqlCalendarValue.
Exemplo:
//+------------------------------------------------------------------+
|
Veja também
CalendarCountries, CalendarEventByCountry, CalendarValueHistory, CalendarEventById, CalendarValueById