Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 1284

 
Maxim Dmitrievsky:

No meu 1º artigo "rápido" salvamento e carregamento via binário. No 2º artigo carregamento lento via desserialização, salvar velocidade não parece sofrer


Talvez os arquivos sejam pequenos lá. Mas se são 300 Mb de que estás a falar, provavelmente haverá uma diferença notável

 
elibrarius:

Talvez haja arquivos pequenos. E se são 300 mb de que estava a falar, provavelmente haverá uma diferença perceptível.

Se poupar em ANSI, é metade do que em unicode. Bem, há carregamento direto na estrutura da floresta, na minha opinião, eu não sei como mais rápido.

pelo menos é mais rápido agora, como no 1º artigo, estou bem com ele agora.

int setRDF=FileOpen("RDFBufsize"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_bufsize=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNclasses"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_nclasses=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_ntrees=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNvars"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_nvars=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFMtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_BIN|FILE_ANSI|FILE_COMMON);
      FileReadArray(setRDF,RDF.m_trees);
      FileClose(setRDF);

O último é o mais pesado, que você tem que escrever/ler em um binário

 
Maxim Dmitrievsky:

Se poupar em ANSI, é metade do que em unicode. Bem, há carregamento direto na estrutura da floresta, na minha opinião, eu não sei como mais rápido.

pelo menos agora é mais rápido, como no 1º artigo, estou bem com ele agora.

Por último - o mais pesado, que é necessário para escrever/ler o binário.

É mais ou menos como eu imaginava)
Mas deveria ser ainda mais rápido em binário e o tamanho do arquivo é muito menor. E se a matriz de dados for convertida em um flutuador antes de salvar, o tamanho se tornará duas vezes menor.
Mas ainda não percebi porque funcionaria.

setRDF=FileOpen("RDFMtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_BIN|FILE_ANSI|FILE_COMMON);

Você lê e escreve dados binários no arquivo de texto. E antes disso, está escrito em forma de texto. A MQL parece ser capaz de combinar estas funções de alguma forma. Seria mais lógico fazê-lo desta forma.

FILE_READ|FILE_WRITE|FILE_BIN|FILE_COMMON
salvar e ler.
 
elibrarius:

É mais ou menos como eu imaginava)
Mas o binário deve ser ainda mais rápido e o tamanho do arquivo será muitas vezes menor. E se convertermos a matriz de dados para flutuar antes de salvar, o tamanho se tornará duas vezes menor.
Mas ainda não percebi porque funcionaria.

Você lê os dados binários no arquivo de texto. Mas antes disso está escrito como texto. A MQL parece ser capaz de combinar estas funções de alguma forma. Seria mais lógico fazê-lo desta forma.

salvar e ler.

A extensão não importa aqui, você pode usar qualquer extensão. O principal é a bandeira|FILE_BIN.

 
Maxim Dmitrievsky:

A extensão não importa aqui, você pode usar qualquer extensão. O principal é a bandeira|FILE_BIN.

Não reparei nos nomes diferentes dos ficheiros. Podes salvá-los todos em um.
 
elibrarius:
ah - não notei que os nomes dos arquivos são diferentes. Você pode salvar tudo em um.

pode ser em 1, os outros quase não têm efeito no desempenho, apenas o último com a estrutura florestal, o mais pesado. O resto está lá por 1 termo

 
Maxim Dmitrievsky:

pode ser em 1, os outros quase não têm efeito no desempenho, apenas o último com a estrutura florestal, o mais pesado. O resto está lá por 1 termo

então você pode ficar confuso neste monte de arquivos)
E 1 arquivo para 1 modelo é mais conveniente
 
Elibrarius:
então você pode ficar confuso neste monte de arquivos)
E 1 arquivo para 1 modelo é mais conveniente.

Bem, sim, os outros arquivos são simples: número de árvores, número de características, número de classes e número de amostras. Se os conhece de antemão, nem precisa de os salvar. Eu só coloquei o que estava no padrão, e salvar apenas a estrutura com splits, bem, ainda contar amostras varia.

 
elibrarius:

Não há tempo - isso é verdade. Mesmo a leitura do fórum distrai de coisas mais úteis. E você está a falar em preparar uma libertação... São algumas horas para fazer tudo corretamente e fornecer e explicar, e depois pedir apoio))).

Você é um programador - como programador fico muito mais confortável quando está claro o quê e porquê. Entra no código. Você pode descobrir a função de construção de árvores em algumas horas e enfiar a limitação do número de amostras e tudo o que quiser dentro dela.

Fui fazer a pré-análise dos preditores.

Eu não sou um programador, então trabalhar com código requer muito esforço, mas em geral, eu entendo a posição.

 
Aleksey Vyazmikin:

Eu não sou um programador, então trabalhar com código requer muito esforço, mas em geral a posição é entendida.

Não se sinta muito mal). O fato de você ter 5 produtos (ou talvez você não os tenha escrito?) e muitos sinais (provavelmente de seus próprios Expert Advisors), que permitem que você viva dos lucros em Forex.

Eu ainda estou em busca e vivo de outra coisa.