MetaTrader 5 Strategy Tester e MQL5 Cloud Network - página 16

 
Interesting:

Será uma tarefa tão difícil fazer um gestor de agente directo para Linux (pelo menos para os mais populares)?

O problema é que um ficheiro tão simples como o metatester[64].exe (~2.5 Mb) inclui

  1. o próprio agente de ensaio, incluindo todo o subsistema de tempo de execução da MQL5, a sua caixa de areia e toda a lógica comercial do terminal
  2. Toda a GUI faz parte da visualização dos testes (esta é uma GUI Windows pura sem possibilidade de ser portada)
  3. GUI parte do gestor do agente
  4. Rede MQL5 Cloud
  5. actualizações automáticas

Empacotámos num ficheiro EXE, que não requer quaisquer outras bibliotecas/componentes adicionais, tantas funções e simplificou o trabalho com ele, que a replicação da mesma funcionalidade com a mesma qualidade sob Linux está fora de questão.
 
Renat:
O facto de termos empacotado num ficheiro EXE, que não requer quaisquer outras bibliotecas/componentes adicionais, tantas funções e simplificado o trabalho com ele, que a replicação da mesma funcionalidade com a mesma qualidade sob Linux está fora de questão.

O problema perene de cross-platform da Microsoft.

Renat:

O problema é que um ficheiro tão simples como o metatester[64].exe (~2.5 Mb) inclui

  1. o próprio agente de ensaio, incluindo todo o subsistema de tempo de execução da MQL5, a sua caixa de areia e toda a lógica comercial do terminal
  2. Toda a GUI faz parte da visualização dos testes (esta é uma GUI Windows pura sem possibilidade de ser portada)
  3. GUI parte do gestor do agente
  4. Rede MQL5 Cloud
  5. actualizações automáticas

É evidente. Não percebo porque não podem cortar algumas das funcionalidades e deixar apenas o que está disponível na MQL5 Cloud Network?

Por exemplo, não compreendo a necessidade de tal esquema do segundo item (cujo ponto principal é a impossibilidade de portar)...

 
Interesting:

O problema perene da Microsoft com a formação de cross-plataformas.

Isto é compreensível. Não percebo porque não conseguem cortar alguma da funcionalidade e deixar apenas o que funciona na MQL5 Cloud Network?

Por exemplo, não compreendo a necessidade de tal esquema do segundo item (a impossibilidade de portabilidade é o ponto principal)...

Prefiro fazer-me perguntas mais importantes:

  1. Quem precisa de um testador despojado para Linux? Sem protecções, sem suporte normal 32/64, sem arquitectura agradável e simplicidade. Os promotores não precisam certamente disso.
  2. Porque é que os promotores vão passar meio ano (mínimo) das suas vidas neste projecto a cuspir e a praguejar? Onde está o lucro do promotor?
  3. Porque irão os programadores arruinar uma arquitectura limpa, introduzindo um horror cruzado no código?

O desenvolvimento de software é um negócio impulsionado por respostas claras a questões económicas.

Aqueles que não levam em conta a economia dura vão e fazem projectos aéreos, investidores falidos, e depois... mudar de emprego e normalmente novamente em círculo :)

ps: MetaTrader 4 e MetaTrader 5 funcionam de forma bastante decente sob Linux via Wine, e asseguramos explicitamente que o terminal funciona bem em Wine (corrigimos as pequenas coisas de vez em quando).

 
Renat:

Na próxima versão, os agentes de teste não poderão trabalhar na MQL5 Cloud Network, se forem lançados sob virtualizadores ou emuladores (Virtual PC, VMWare, Virtual Box, Wine, etc.). Isto é feito para minimizar a possibilidade de corrupção das classificações de desempenho.

O modo normal de servidor de agentes em funcionamento sob virtualizadores é totalmente preservado. Isto significa que pode utilizar agentes sob qualquer forma para as suas próprias necessidades.

qual é o problema, que tipo de overclocking está a ter lugar sob virtualização?

o que importa onde estão os grãos?

realmente lamento se é possível girar a classificação , sinceramente não entendo como ...

o que é a classificação? o que é a classificação?

há uma tarefa para o núcleo - o núcleo completa a tarefa - há um tempo para o núcleo completar esta tarefa

não deve haver outros critérios

tudo isto pode ser controlado na MQL5 Cloud Network

Em termos simples

1-core diz que estou pronto

2- MQL5 Cloud Network diz ao núcleo, ir ao trabalho, definir o tempo

Trabalhos com 3 núcleos durante 3 segundos

4-core responde à rede MQL5 Cloud Network -> leve a sua tarefa

5 - caroço bem feito - fê-lo em 3 segundos - aqui estão os doces sob a forma de 0,1 cêntimos

outro núcleo

1-Core disse que estou pronto.

2- MQL5 Cloud Network - > kernel está a tempo

Trabalhos com 3 núcleos durante 30 segundos

Respostas de 4 núcleos para MQL5 Cloud Network -> leve a sua tarefa

5 - núcleo bem feito - fê-lo em 30 segundos - aqui estão os doces sob a forma de 0,1 cêntimos

é simples - quanto mais rápido e mais difícil se trabalha, mais se obtém.

A MQL5 Cloud Network não deve ter favoritos - as tarefas ser-lhes-ão atribuídas com mais frequência ...

É como na vida - os favoritos recebem encomendas mais vezes!)

o que significa que a Cloud Network - não deve apenas distribuir tarefas por lista ! mas provavelmente movendo os núcleos para as filas

para evitar a situação em que apenas os que estão no topo da lista conseguirão o emprego - e assim por diante num círculo

se assumirmos que existem 100 tarefas e cerca de 1000 núcleos

então os primeiros 100 conseguirão o trabalho

completarão as tarefas - depois, mais 100 tarefas serão colocadas em fila de espera e serão novamente entregues aos núcleos que se encontram no início da lista

e a ponte 900 será ociosa

por isso os primeiros 100 núcleos serão os mais susceptíveis de ganhar

---

bem, se o problema não for resolvido, então, infelizmente

:-(((( , depois menos 8 dos meus bons núcleos da piscina, I7 - 3 GHz, 8 gigas de núcleos

não vou deixar a máquina virtual - está sob o LINUX CentOS , não vou mudar para o windows host .

este é exactamente o anfitrião que funciona 24/7!

----

fiz propositadamente apenas numa máquina virtual e atribuí 2 dos 3 núcleos do anfitrião à máquina virtual

Tenho agora 47 núcleos na piscina - dos quais apenas estes dois últimos

estão na mesma máquina

64x 3 amd núcleos

ou seja, dos 3 núcleos físicos dois estão a ser partilhados uma segunda vez, mas de um sistema operativo diferente

Renat, não percebo bem porque é que isto seria um problema

Se ajudar a testar e a encontrar uma solução - permitindo a utilização de máquinas virtuais, ficará satisfeito

Posso fazer mais um par destes, se necessário

A propósito - dos 47 núcleos, apenas estes dois foram distribuídos 2 vezes

os outros são todos fisicamente uma vez - mesmo os de uma grande máquina i7 estão todos em máquinas virtuais, mas apenas uma vez

--

 
O problema é que não se pode cobrar "por tarefa". O pagamento vai para os recursos utilizados = desempenho da CPU (PR) * tempo.

Nesta fórmula, uma estimativa precisa do desempenho é fundamental, o que é fácil de falsear nas virtualizações.
 

Num dos computadores que instalei e executei agentes de teste, mas eles não funcionam. Mais precisamente, o tempo de CPU é periodicamente ocupado pelos serviços de metatester (até 100% por núcleo), mas o gestor dos agentes mostra zeros (tarefas e tempo; local e nuvem) e no website mql5 estes agentes têm zeros no perfil (mas os agentes são visíveis no perfil, durante uma das execuções de alguma forma um deles tinha uma tarefa e depois outra). Ao aceder a estes agentes do MetaTrader5, recebe mensagens de que eles estão ocupados.

Aqui está o conteúdo do directório MT5tester (a partir do qual corro o metatester.exe) e subdirectórios e ficheiros anexados:

MT5tester
    Tester
        Manager
            logs
                20110723.log
                20110725.log
            common.ini
    metatester.exe

Anexo estes ficheiros. Como pode ver, o directório Tester não possui os directórios de Agentes* que são normalmente criados.

Versão metatester build 479, Windows Server 2003 R2 com SP2, Enterprise Edition, inglês, 32 bit; CPU Intel Core 2 Duo T9300 2,5 Ghz; 4 GB de RAM. O directório MT5tester e todos os subdirectórios e ficheiros para todos os utilizadores (Todos) está definido para Full Control, antes disso está definido para Full Control para o utilizador que está a executar o metatester.exe (e a iniciar sessão no Windows) e para o utilizador do SYSTEM que está a executar os serviços do metatester.

Arquivos anexados:
pack.zip  2 kb
 

Os agentes estavam registados na MQL5 Cloud Network e estavam a trabalhar em tarefas da rede. Nesta altura, os agentes não podiam ser ligados como agentes remotos, pois estavam realmente ocupados.

Aqui estão as suas estatísticas incompletas (nem todos os campos estão ainda actualizados) - cerca de 63 000 tarefas foram executadas:

Intel Core2 Duo T8300 @ 2.40GHz, 3581MB


0 32483 0 2011.06.08 2011.07.25
Intel Core2 Duo T8300 @ 2.40GHz, 3581MB


0 29861 0 2011.06.08 2011.07.25


Os directórios de Agentes foram automaticamente removidos ao desinstalar estes agentes (eles limpam o seu próprio lixo). Aqui estão as linhas do registo de eliminação do agente:

RQ    0    Tester    11:12:33    MetaTester 5 build 479 (12 Jul 2011)
HQ    0    Startup    11:12:33    initialization finished
NH    0    Service    11:12:47    Service 'MetaTester-1' stop initialized
MP    0    Service    11:12:50    Service 'MetaTester-1' stopped in 3031 ms
NH    0    Service    11:12:50    Service 'MetaTester-1' successfully uninstalled
PS    0    Service    11:12:51    Service 'MetaTester-2' stop initialized
KK    0    Service    11:12:56    Service 'MetaTester-2' stopped in 5500 ms
OS    0    Service    11:12:56    Service 'MetaTester-2' successfully uninstalled


Em geral, tudo funciona como pretendido.

 
Renat:

Os agentes estavam registados na MQL5 Cloud Network e estavam a trabalhar em tarefas da rede. Nesta altura, os agentes não podiam ser ligados tão remotamente, pois estavam realmente ocupados.

...

As listas de agentes foram automaticamente apagadas durante a desinstalação destes agentes (eles limpam o seu próprio lixo). Aqui estão as linhas do registo sobre a eliminação de agentes:

...

Ou seja, outros agentes:

CPU PR Tarefas Receitas Criado em Actividade
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 0 0 2011.06.08 2011.06.08
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 2 0 2011.06.08 2011.07.22

Os directórios de Agentes nunca apareceram enquanto os serviços de metatester estavam a funcionar (sei como apagar dados quando se desinstalam).

 
zdd:

Ou seja, outros agentes:

CPU PR Tarefas Receitas Criado em Actividade
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 0 0 2011.06.08 2011.06.08
Intel Core2 Duo T9300 @ 2.50GHz, 4094MB 0 2 0 2011.06.08 2011.07.22

Os directórios de Agentes nunca apareceram enquanto os serviços de metatester estavam a funcionar (estou ciente do facto de que a desinstalação elimina os dados).

Estes são os agentes errados - olhar para as datas de criação e última actividade.

Os correctos a considerar são os agentes que citei - as suas últimas datas de actividade são exactamente as mesmas que a sua data actual e os seus registos de desinstalação.

ps: instalar novamente os agentes e olhar para os directórios e os seus registos pessoais

 
Renat:

Estes são os agentes errados - olhar para as datas de criação e última actividade.

É correcto olhar para os agentes que citei - as suas últimas datas de actividade são exactamente as mesmas que a sua data actual e os seus registos de desinstalação.

ps: instalar novamente os agentes e olhar para os directórios e os seus registos pessoais

Os agentes que citou estão a funcionar noutro computador (com um processador T8300), sem problemas com eles.

Verificação de novo (no computador com processador T9300).

1. Desinstalou os agentes. Desinstalado o directório MT5tester com todo o seu conteúdo.

2. Desinstalou todos os agentes do perfil, que estavam no computador com o T9300.

3. criei a pasta MT5proba e dei-lhe acesso total para Todos.

Copiei o ficheiro metatester.exe (build 479) nele (foi obtido por LiveUpdate em MetaTrader5). 5.

5. executou o metatester.exe, conta especificada, criou dois agentes em novos portos (um deles não começou por razões desconhecidas, por isso criou mais dois, eliminou os desnecessários). Estou a anexar o ficheiro de registo.

6. Iniciou o MetaTrader5 noutro computador, apagou todos os agentes remotos no testador de estratégia, criou dois novos agentes (endereço IP especificado, porta, palavra-passe). Seleccionou cada um deles como agente actual e realizou o teste único de um EA. O tipo de CPU foi detectado, mas o teste não foi executado.

Testador de Estratégia MetaTrader5

Eu mostro o diário de bordo:

CS      0       zddbase 15:38:19        connecting to 192.168.0.33:4001
CD      0       zddbase 15:38:19        connected
EM      0       zddbase 15:38:19        authorized (agent build 479)
II      0       Tester  15:38:19        EURUSD,M1 (MetaQuotes-Demo): testing of Experts\proba.ex5 from 2011.07.10 00:00 to 2011.07.16 00:00 to be started
NF      0       zddbase 15:38:19        common synchronization completed
HL      0       zddbase 15:38:19        3768 bytes of group info loaded
DM      0       zddbase 15:38:19        1478 bytes of tester parameters loaded
MJ      0       zddbase 15:38:19        3256 bytes of input parameters loaded
FN      0       zddbase 15:38:19        initial deposit 10000.00 USD, leverage 1:100
CE      0       zddbase 15:38:19        successfully initialized
MO      0       zddbase 15:38:19        13 Kb of total initialization data received
QF      0       zddbase 15:38:19        Intel Core2 Duo  T9300 @ 2.50 GHz, 4094 MB
FQ      2       zddbase 15:38:19        symbol EURUSD synchronization error
QD      0       zddbase 15:38:19        cannot get history EURUSD,M1
HO      0       zddbase 15:38:20        connection closed
CD      0       zddbase 15:38:34        connecting to 192.168.0.33:4002
MF      0       zddbase 15:38:35        connected
CL      0       zddbase 15:38:35        authorized (agent build 479)
GK      0       Tester  15:38:35        EURUSD,M1 (MetaQuotes-Demo): testing of Experts\proba.ex5 from 2011.07.10 00:00 to 2011.07.16 00:00 to be started
LD      0       zddbase 15:38:35        common synchronization completed
JN      0       zddbase 15:38:35        3768 bytes of group info loaded
NK      0       zddbase 15:38:35        1478 bytes of tester parameters loaded
KM      0       zddbase 15:38:35        3256 bytes of input parameters loaded
LH      0       zddbase 15:38:35        initial deposit 10000.00 USD, leverage 1:100
MS      0       zddbase 15:38:35        successfully initialized
CM      0       zddbase 15:38:35        13 Kb of total initialization data received
OD      0       zddbase 15:38:35        Intel Core2 Duo  T9300 @ 2.50 GHz, 4094 MB
LS      2       zddbase 15:38:35        symbol EURUSD synchronization error
OG      0       zddbase 15:38:35        cannot get history EURUSD,M1
PQ      0       zddbase 15:38:35        connection closed

Durante a optimização:

EF      1       Tester  15:43:50        genetic mode turned on due to 4443670 passes, to use complete algorithm decrease amount of optimized parameters
LJ      0       Tester  15:43:50        Experts\proba.ex5 on EURUSD,M1 from 2011.07.10 00:00 to 2011.07.16 00:00
NL      0       Tester  15:43:50        genetic optimization started
DK      0       Tester  15:43:50        size of initial task pack is 128
JP      0       zddbase 15:43:50        connecting to 192.168.0.33:4001
IG      0       zddbase 15:43:50        connecting to 192.168.0.33:4002
PS      0       zddbase 15:43:50        connected
NO      0       zddbase 15:43:50        connected
HE      0       zddbase 15:43:50        authorized (agent build 479)
PO      0       zddbase 15:43:50        authorized (agent build 479)
NP      0       zddbase 15:43:50        genetic pass (0, 2628127, 1) started
HI      0       zddbase 15:43:50        genetic pass (1, 2957422, 1) started
GQ      0       zddbase 15:43:50        common synchronization completed
GJ      0       zddbase 15:43:50        common synchronization completed
NN      2       zddbase 15:43:50        genetic pass (0, 2628127) tested with error "no history"
KF      0       Tester  15:43:50        genetic pass (0, 2628127) returned to queue
QR      0       zddbase 15:43:50        connection closed
PG      0       zddbase 15:43:50        connecting to 192.168.0.33:4001
HS      0       zddbase 15:43:50        connected
RQ      0       zddbase 15:43:50        authorized (agent build 479)
LJ      0       zddbase 15:43:50        genetic pass (0, 2628127, 1) started
QS      0       zddbase 15:43:50        common synchronization completed
JI      2       zddbase 15:43:50        genetic pass (1, 2957422) tested with error "no history"
GM      0       Tester  15:43:50        genetic pass (1, 2957422) returned to queue
GJ      0       zddbase 15:43:50        connection closed

Os registos mostram que o agente não conseguiu carregar o histórico. Nada mudou na árvore do directório de agentes em comparação com o que dei anteriormente (sem directórios de agentes*, sem história).

Os agentes ainda não apareceram no perfil mql5, ainda não estão a carregar a CPU (já passou 1 hora desde que começaram)...