Baixando e analisando os dados do Dukascopy tick com os scripts Birts PHP Os dados Dukascopy estão disponíveis na web em sua forma bruta como arquivos que abrangem apenas 1 hora, de modo que torna-se evidente que algumas ferramentas são necessárias para fazer o download e analisá-lo. Antes que fosse possível obter os dados através de qualquer outro método, fiz uma série de scripts que ainda uso hoje para baixar os dados de tiques gratuitos disponíveis da Dukascopy. I8217m é um fã da simplicidade do PHP, então escolhi isso para escrever os scripts. Eles não são um código de qualidade comercial, mas eles funcionam. Você pode obter o arquivo de script PHP da página de downloads de dados de marca. Você encontrará 4 scripts dentro: um script para baixar os dados da Dukascopy, sugerentemente chamado 8220downloaddukascopydata. php8221. Como cortesia da Dukascopy, que graciosamente fornece dados gratuitos, o script não tenta baixar os arquivos que já estão no seu disco rígido. No entanto, ele ainda solicita arquivos faltantes, então, para evitar estressar seu servidor, defina as datas na matriz de moedas no início do script até a data do seu último download they8217re usando os timestamps padrão do Unix (data de época, que é, em essência, o Número de segundos desde 01.01.1970). Se você deseja converter facilmente de uma data regular para um timestamp desse tipo, você pode usar o Epoch Converter. Uma ferramenta online muito fácil de usar. Um script para processar os dados baixados, que pressupõe que ele está localizado no mesmo diretório que o script anterior e que os dados foram baixados lá (processdukascopydata. php), este precisa de alguns parâmetros, execute-o sem qualquer descrição ou check-out O próximo script. Um pequeno script de shell que processará todos os dados baixados disponíveis no formulário. bat para o Windows e o formulário. sh para o linux. Windows Download amp converter para CSV how-to Comece por visitar a seção de download do Windows PHP e buscar a versão binária mais recente como um arquivo zip. Uma vez que você tenha feito isso, desembalhe-o para c: php e também descompacte os scripts do arquivo de script que você baixou no mesmo diretório. Renomeie c: phpphp. ini-development para c: phpphp. ini. Se a sua pasta não contém um arquivo chamado php. ini-development, use php. ini-dist ou qualquer outro arquivo php. ini-something que você possa encontrar. Edite c: phpphp. ini, procure por extensionphpcurl. dll e remova o ponto e vírgula na frente da linha e adicione um 8220ext8221 na frente de 8220phpcurl. dll8221 para que pareça com isto: extensionextphpcurl. dll Salve o arquivo e saia. Se você tiver um erro de zip e sua instalação do PHP tiver um extphpzip. dll, aplique também o método acima para extensionextphpzip. dll. Dirija-se à página de download de 7-Zip e obtenha a versão da linha de comando. Descompacte e coloque 7za. exe no mesmo diretório (c: php). Clique em start-gtrun e digite cmd e clique em OK (ou, em alternativa, digite cmd e pressione enter na caixa de programas e arquivos do Windows 7vista 8220search no menu Iniciar). Digite cd php na janela de comando. Digite php downloaddukascopydata. php Tenha um café. Tenha outro café. Vão dormir. Ir trabalhar. Vá para a academia. Vá para um clube. Espere mais. I8217m não está brincando, é preciso idades. Você pode verificar o progresso observando os diretórios do par de moedas serem preenchidos. Se você receber erros estranhos, execute o processo novamente quando o 8282 terminou o 8211, ele só baixará os arquivos perdidos no primeiro passo devido a erros de rede. Se você quiser apenas baixar alguns dos pares de moedas disponíveis, você pode editar downloaddukascopydata. php e alterar a matriz no início do arquivo. Você pode alternar a ordem de download do par de moedas ou remover completamente os pares que você deseja. O número ao lado de cada par é o carimbo de data / hora do UNIX no qual iniciar o download se você deseja iniciar em um momento posterior (o padrão é a data mais antiga disponível) você pode usar o epochconverter para obter o carimbo de data / hora para a data escolhida. Quando o download terminar, supondo que você deseja obter os dados EURUSD até 01.01.2012, você deve digitar php processdukascopydata. php EURUSD 200702 201201 EURUSD. csv e a saída será colocada em EURUSD. csv. Alternativamente, você pode digitar process. bat, que processará em lote todos os dados da moeda. It8217s é, em sua maioria, seguro para ignorar o erro de spam nesta etapa. Nota: se você usar process. bat ou process. sh, talvez seja necessário atualizar as datas de término neles para obter o intervalo de dados completo. Isso deve ser, se tudo for bom, você deveria ter seus arquivos CSV no mesmo c: php E você deve estar pronto para continuar preparando seus dados de marca para o Metatrader 4. Aviso: certifique-se de ter espaço suficiente no seu disco rígido. A partir de 2012, os arquivos baixados do tick têm mais de 20 GB e, se você adicionar o tamanho dos arquivos CSV resultantes, você estará bem após a marca de 100 GB. Em primeiro lugar, observe que o meu site lida com o teste de dados de ticks, não com a importação de arquivos CSV em HST. O script CSV2FXT que processa os arquivos CSV em arquivos FXT de dados de marca gerará automaticamente os arquivos HST corretos. Se você quiser mais informações sobre isso, sugiro obter um teste TDS e ler Como preparar seus dados de ticks para o Metatrader 4 Quanto ao aumento da duração do backtest, você provavelmente teve muito menos dados em seus arquivos HST antes da importação. I8217d também aposto you8217re backtesting um EA com código virtualizado, that8217s porque demora tanto tempo. It8217ll provavelmente leva ainda mais tempo com dados de marca. Apenas para ter uma ideia se a sua EA ou alguma outra coisa, tente fazer o teste do MACD EA no mesmo par de moedas e no tempo e compare a duração. Finalmente, os dados são armazenados na pasta de dados MT4, no histórico. Para chegar lá, vá para File - Open Data Folder. PHP Forex Data Feed API Esta Forex Data API (Application Programming Interface) é uma ferramenta poderosa que lhe permite escrever aplicativos personalizados usando a linguagem de script PHP. O PHP é uma linguagem muito comum habilitada na maioria dos Webservers tornando esta API uma escolha ideal para os proprietários de sites. Use-o para criar tabelas de taxa de câmbio diária, horária, minuto ou em tempo real, integrar-se ao seu carrinho de compras online ou simplesmente recuperar as taxas de câmbio mais recentes para qualquer (ou todos) cruzamentos nos bancos de dados de moeda. Esta API PHP portátil simplifica grandemente a recuperação e análise de dados em moeda bruta. Basta ligar para as várias funções auxiliares e você vai embora. Esta API é fornecida gratuitamente a todos os clientes do ForexFeed. net. Veja um exemplo abaixo do PHP Forex Data Feed API em ação. A API lida com toda a lógica subjacente para que você possa estar funcionando em nenhum momento. Nota: este é um exemplo muito simples, usando a API de dados Forex. Este script foi projetado para ser executado em um servidor web, ele simplesmente imprime dados no navegador da tela. Você pode baixar este script (e a API) da área do cliente, ou abaixo se você estiver logado. Se você precisar de ajuda com a integração da API, poderemos ajudar. Dê-nos um grito para falar com um desenvolvedor experiente ltphp Carregar o FXFeed API requireonce (ForexFeed. class. php) Criar o ForexFeed Object fxfeed new ForexFeed (array (accesskey gt YOURACCESSKEY, símbolo gt AUDUSD, EURUSD, GBPJPY, GBPUSD, USDCAD, USDCHF , USDJPY, intervalo gt 3600. Especifique o intervalo de dados OHLC em segundos (60 1 min barras, 300 5 min, 3600 1 hora, 86400 1 dia, etc.) períodos gt 1. Especifique quantos períodos de dados recuperar, no Intervalo acima (Para cada moeda))) Solicite o Data fxfeed - gt getData () print Número de Cotações:. Fxfeed - gt getNumQuotes (). Ltbrgtltbrgtn print Copyright:. Fxfeed - gt getCopyright (). Ltbrgtn print Website:. Fxfeed - gt getWebsite (). Ltbrgtn print Licença:. Fxfeed - gt getLicense (). Ltbrgtn print Redistribuição:. Fxfeed - gt getRedistribution (). Ltbrgtn print AccessPeriod:. Fxfeed - gt getAccessPeriod (). Ltbrgtn print AccessPerPeriod:. Fxfeed - gt getAccessPerPeriod (). Ltbrgtn print AccessThisPeriod:. Fxfeed - gt getAccessThisPeriod (). Ltbrgtn print AccessRemainingThisPeriod:. Fxfeed - gt getAccessPeriodRemaining (). Ltbrgtn print AccessPeriodBegan:. Fxfeed - gt getAccessPeriodBegan (). Ltbrgtn print NextAccessPeriodStarts:. Fxfeed - gt getAccessPeriodStarts (). Ltbrgtn print ltbrgtn if (fxfeed - gt getStatus () OK) Pressione todas as citações enquanto (fxfeed - gt iterator ()) print Symbol:. Fxfeed - gt iteratorGetSymbol () imprimir Título:. Fxfeed - gt iteratorGetTitle () if (fxfeed - gt getInterval () 1) imprimir lance:. Fxfeed - gt iteratorGetBid () imprimir Perguntar:. Fxfeed - gt iteratorGetAsk () else print Time:. Fxfeed - gt iteratorGetTimestamp () imprimir Abrir:. Fxfeed - gt iteratorGetOpen () print High:. Fxfeed - gt iteratorGetHigh () print Low:. Fxfeed - gt iteratorGetLow () imprimir Fechar:. Fxfeed - gt iteratorGetClose () print ltbrgtn else print Status:. Fxfeed - gt getStatus (). Ltbrgtn print ErrorCode:. Fxfeed - gt getErrorCode (). Ltbrgtn print ErrorMessage:. Fxfeed - gt getErrorMessage (). Ltbrgtn gt
No comments:
Post a Comment