Resposta

Uso genético ou aleatório da CPU

26 respostas

gentmat

Cliente, bbp_participante, comunidade, 234 respostas.

Perfil da visita

8 anos atrás #113897

Estou fazendo uma pergunta de pré-venda para saber qual computador comprar para seu aplicativo: 

 

Pelo que sei (e me corrija se eu estiver errado), é melhor comprar um xeon (vários núcleos) do que uma CPU de alta velocidade de clock 

Portanto, 24 núcleos duplos intel xeon (2,8 GHZ) são melhores do que 8 núcleos (3,7 GHZ). 

 

Mas isso é verdade quando se usa o algoritmo genético, pois a multithread ajudará a avaliar todas as gerações em diferentes núcleos. 

 

Minha pergunta é a seguinte: 

 

Eu uso apenas a população aleatória (porque a genética levará a estratégias semelhantes, independentemente do que eu fizer).

 

Então, a população aleatória usa vários núcleos ou apenas a CPU com alta velocidade de clock e cache? 

As estratégias aleatórias são criadas cada uma em um núcleo diferente, como as genéticas? 

 

ou se eu tiver 24 núcleos, os 24 núcleos criarão 24 estratégias diferentes simultaneamente 

 

Obrigado 

0

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #131152

Sim, ambos os métodos podem utilizar todos os núcleos disponíveis (de acordo com a configuração Ferramenta - Opções - Desempenho)

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

8 anos atrás #131158

Sim, confirmo mais uma vez - ambos os métodos usam todos os núcleos disponíveis (desde que você os defina em Tool - Options - Performance setting) e, na SQ 3, a geração aleatória é ainda mais eficaz do que a evolução genética, pois há algumas operações genéticas simples que não são paralelizadas, 

Ele funcionará ainda melhor com a nova SQ 4.

Marcar
EstratégiaQuant arquiteto

0

gentmat

Cliente, bbp_participante, comunidade, 234 respostas.

Perfil da visita

8 anos atrás #131190

Obrigado, pessoal,

Tenho um Xeon 5650, 24 threads... Alterei as configurações para 24 threads e a média da CPU é 4% (na maior parte do tempo)

Pico máximo de 12% ou 14 (tempo médio de cerca de 0,5 segundo por estratégia, em comparação com o abaixo)

 

Meu macbook pro do final de 2014, 3,7 ghz, 1260 xeon com 8 threads, atinge o pico de 80-100% e é muito mais rápido para encontrar estratégias (0,04) em tempo médio no h4.

 

Existe algum erro que impeça o uso de vários núcleos, de modo que a CPU esteja atingindo apenas o pico de 4-10%?

0

geektrader

Customer, bbp_participant, community, 522 replies.

Perfil da visita

8 anos atrás #131298

Infelizmente, o SQ3 é muito ineficaz no uso de vários núcleos. Também posso confirmar esse comportamento. Espero que o SQ4 faça isso muito melhor.


🚀 Unlock Your Edge in Automated Forex Strategy Development 🚀

Historical Forex Data Starting From 1987, 28 Pairs, M1, 99% Error-Free, Lifetime Free Updates

0

Threshold

Cliente, bbp_participant, comunidade, 723 respostas.

Perfil da visita

8 anos atrás #131373

+1 Espero que haja mais uso da CPU. Estou com uma média de 15% de uso da CPU para xeons quadcore X2 com o SQ definido como prioridade máxima e threading máximo. Gostaria de ver o que ele pode fazer com 80+%. O computador é totalmente dedicado ao SQ.

Devo usar apenas x3 SQ?

0

nolube

Cliente, bbp_participante, comunidade, 115 respostas.

Perfil da visita

8 anos atrás #131387

+1 Espero que haja mais uso da CPU. Estou com uma média de 15% de uso da CPU para xeons quadcore X2 com o SQ definido como prioridade máxima e threading máximo. Gostaria de ver o que ele pode fazer com 80+%. O computador é totalmente dedicado ao SQ.

Devo usar apenas x3 SQ?

 

Sim, é isso que eu faço. Suas licenças são específicas para seu computador, portanto, é possível usar o mesmo código de licença três vezes no mesmo computador.

0

geektrader

Customer, bbp_participant, community, 522 replies.

Perfil da visita

8 anos atrás #131388

Eu defino os núcleos da CPU nas configurações como "1" e simplesmente abro quantas instâncias (você precisa copiá-las cada uma para seu próprio diretório - eu faço isso com um arquivo .BAT inteligente) eu tiver núcleos e executo a tarefa de geração de estratégia. Dessa forma, todos os núcleos são usados 100% do tempo.


🚀 Unlock Your Edge in Automated Forex Strategy Development 🚀

Historical Forex Data Starting From 1987, 28 Pairs, M1, 99% Error-Free, Lifetime Free Updates

0

gentmat

Cliente, bbp_participante, comunidade, 234 respostas.

Perfil da visita

8 anos atrás #131391

É verdade, mas Muitas instâncias não terão o mesmo desempenho que um aplicativo de uma instância (sou desenvolvedor).

Esperamos que o sq4 corrija isso. 

Obrigado por confirmarem que vocês obtiveram os mesmos resultados. Sugiro que, como escrevi no início, o clock da CPU seja alto e não haja muitos núcleos. 

superam o desempenho das 4 instâncias em multicore . 

0

geektrader

Customer, bbp_participant, community, 522 replies.

Perfil da visita

8 anos atrás #131392

Também sou desenvolvedor e isso nem sempre é verdade, depende de quão bem a implementação foi feita. Além disso, por meio de várias instâncias, obtenho mais diversificação nos caminhos de otimização genética que acabam em resultados diferentes, pois seguem caminhos de evolução diferentes (aleatórios). Por isso, pessoalmente, prefiro usar várias instâncias em vez de apenas uma.


🚀 Unlock Your Edge in Automated Forex Strategy Development 🚀

Historical Forex Data Starting From 1987, 28 Pairs, M1, 99% Error-Free, Lifetime Free Updates

0

Threshold

Cliente, bbp_participant, comunidade, 723 respostas.

Perfil da visita

8 anos atrás #131405

Estou executando 4 SQ agora, cada um atribuído a 2 núcleos e com uma média de uso de CPU de 85% sem perda de velocidade de geração. Só preciso de mais memória RAM, mas tenho 32 GB.

Isso está produzindo resultados muito mais rápidos. (literalmente 4x mais rápido)

0

Threshold

Cliente, bbp_participant, comunidade, 723 respostas.

Perfil da visita

8 anos atrás #131407

Também devo acrescentar que as estratégias que têm regras simples verificadas nos blocos de construção parecem gerar mais do que o dobro da velocidade daquelas sem regras simples.

0

Threshold

Cliente, bbp_participant, comunidade, 723 respostas.

Perfil da visita

8 anos atrás #131421

Acho que a ideia do GeekTrader pode ser o melhor caminho a ser seguido (muitos núcleos, RAM alta e várias instâncias do SQ) em vez de menos núcleos, frequência mais alta e execução de apenas um SQ.

A geração aleatória é de 25 mil estratégias testadas em cerca de 1 hora em cada SQ. Portanto, 4SQ x 25k= 100k gerações em 1 hora a 2,83GHZ 8 núcleos. Isso deve ser alguns milhões em um dia.

Em meu quadcore 4.1GHZ executando uma instância do SQ, levaria alguns dias para atingir apenas 1 milhão.

0

gentmat

Cliente, bbp_participante, comunidade, 234 respostas.

Perfil da visita

8 anos atrás #131445

Olá Threshold,

Obrigado pelo seu tempo e pelos testes. Acho que estão faltando muitos fatores em seu teste 

ex:

O uso de um período de tempo menor tornará o núcleo mais eficiente, e esse é o efeito do cache cpu l3, l2, de modo que o tempo para obter esses dados e sincronizá-los leva tempo.

mas se você usar h4 ou d1

Você perceberá que a CPU com clock mais alto terá um desempenho melhor do que a multi core 4 núcleos 4.1 > 8 núcleos 2.8

 

Acrescente a isso a arquitetura de geração da CPU. Você pode me informar o número de série das duas CPUs que está comparando?

 

Observação: as regras simples são mais rápidas por um motivo: o período máximo é de cerca de 40 períodos e o número entre 50

Mas regras não simples podem ser usadas como a EMA de 100 ou 150, dependendo do período máximo que você escolher, o que fará com que a CPU calcule mais velas em vez de 40 velas para trás.

Mas se você diminuir o número máximo de períodos do indicador para cerca de 50, perceberá que a velocidade será a mesma (em teoria). Em teoria, porque as BBands, por exemplo, usam cálculos mais complexos do que o rsi e assim por diante. 

0

gentmat

Cliente, bbp_participante, comunidade, 234 respostas.

Perfil da visita

8 anos atrás #131446

De qualquer forma, gostaria de lhe perguntar, já que você é um cliente antigo. Quanto tempo você leva para encontrar uma boa estratégia? Estou jogando há uma semana, mas todas as minhas estratégias falharam no teste de robustez.

0

Threshold

Cliente, bbp_participant, comunidade, 723 respostas.

Perfil da visita

8 anos atrás #131450

Acredito que 5 milhões de gerações normalmente lhe darão uma estratégia sólida quando gerada a partir de um único par (usando apenas geração aleatória), mesmo usando dados adicionais de outras corretoras. Isso depende de seus filtros, blocos de construção e do par que está sendo gerado. Alguns pares levam muitas gerações, dependendo do TF e dos blocos de construção.

A strategy built on only 1 asset will usually “fail” a robustness test when data and parameters are altered because the strategy is curve fitted, but that doesn’t mean the strategy won’t work. The Robustness test feature is very discretionary. I think if a strategy has a 15%DD in backtest, and 35%DD @ 95% confidence in RT, its definitely a pass with data and parameters altered and the EA was generated from only 1 pair. If you want more robust strategies, use multiple broker data and make sure they are all the same timezone. Broker data varies that much and your strategies will be less curve-fitted. Also don’t rely so much on robustness testing. Just put them on a demo account and see.

O quadcore de 4,1 GHz é o AMD Phenom Black Edition 975 com overclock
O outro é composto por 2 xeon e5440s.

0

Visualizando 15 respostas - 1 até 15 (de um total de 26)

1 2