Script MQL5 para exportar preços históricos de um ativo em CSV

Inaugurando assuntos na área de finanças segue um script que fiz para exportar informações de algum ativo no Metatrader5 para o formato CSV.
Uso isto para em seguida importar no python e fazer estudos estatísticos.
O script é um INDICADOR, logo você terá que adicionar ele à janela do ativo escolhido como indicador.
Esse script é muito simples. A cada tick ele será executado, assim é bom usar ele poucas vezes para não sobrecarregar o metatrader.
O nome de saída será ATIVO-xxxxx.csv e normalmente encontra-se no diretório MQL5/Files.
O arquivo deverá ser colocado em MQL5/Indicators para que o Metatrader reconheça como um indicador adicionável.

A imagem do post é um histograma dos valores de minima do candle posterior no caso de alta e vice versa feito com arquivo csv gerado por este script e importado em python. O ativo no caso é o Mini Indice. É interessante notar que na baixa os recuos (máxima do candle posterior) ocorrem com menos frequência e intensidade e que a maioria dos recuos ficam em torno de 50-100 nos candle de altas  10-50 pontos nos de baixa.

#include <Arrays\List.mqh>


int OnInit()
{

return(INIT_SUCCEEDED);
}

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[])
{


string S = Symbol() + "-" + Period() + ".csv";

int file_handle=FileOpen(S,FILE_READ|FILE_WRITE);
FileWrite(file_handle,"low,high,open,close");


for(int i = 1; i < rates_total; i++)
{


FileWrite(file_handle,low[i]+","+high[i]+","+open[i]+","+close[i]);

}

FileClose(file_handle);

return(rates_total);
}

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s