Eu não sei sobre a MQL4, mas quando eu estava correndo uma corrida em C++, notei que o código que você corre primeiro é mais lento que o segundo. Certamente, é preciso tempo para alocar a memória primeiro. Normalmente 5% mais lento.
2012.03.23 13:40:50 teste EURUSD,H1: matriz global: 1406 milissegundos.
2012.03.23 13:40:50 teste EURUSD,H1: matriz local: 1344 milissegundos.
agora faz sentido: as variáveis globais demoram um pouco mais, as locais mais rápido; embora eu achasse que não fazia diferença, eu deveria medi-lo na função chamada, talvez haja alguma outra diferença
2012.03.23 13:40:50 teste EURUSD,H1: matriz global: 1406 milissegundos.
2012.03.23 13:40:50 teste EURUSD,H1: matriz local: 1344 milissegundos.
agora faz sentido: as variáveis globais demoram um pouco mais, as locais mais rápido; embora eu achasse que não fazia diferença, eu deveria medi-lo na função chamada, talvez haja alguma outra diferença
Acho que se você trocá-las, os resultados permanecerão os mesmos.
mudou, e copiou start() para func(), depois que as impressões começam func() :
2012, 03.23 14:11:15 teste EURUSD,H1: matriz local: 1313 milissegundos.
2012.03.23 14:11:15 teste EURUSD,H1: matriz global: 1359 milissegundos.
2012.03.23 14:11:15 teste EURUSD,H1: função de chamada.....
2012.03.23 14:11:18 teste EURUSD,H1: ação ph-, matriz local: 1312 milissegundos.
2012.03.23 14:11:18 teste EURUSD,H1: f-ction, matriz global: 1328 milissegundos.
Por uma questão de especulação, o endereço da variável local é contado a partir do ponto de chamada da função, o endereço da variável global é contado a partir do ponto de chamada do programa, ou seja, para acessar a variável global, mais uma ação (adicionar um offset) deve ser realizada.
Zhunko: Você já trocou o global e o local? Agora o local é seguido primeiro pelo global. Deveria ser invertido.
Eu o fiz, mas os resultados não mudaram, e também declarei uma matriz em uma função separada, chamada de função e comparei-a a uma chamada de matriz global
alsu, essa é uma suposição lógica, mas minhas experiências me levaram a uma idéia engraçada: o mql4 é para lamas, você a declara da maneira que quiser, como dizem no jogo. ))). Talvez eu faça algumas experiências com o mql5 se não me esquecer, é apenas discutir o desempenho do MT5, talvez algo se torne claro.
no diário de bordo:
2012.03.23 13:40:50 teste EURUSD,H1: matriz global: 1406 milissegundos.
2012.03.23 13:40:50 teste EURUSD,H1: matriz local: 1344 milissegundos.
agora faz sentido: as variáveis globais demoram um pouco mais, as locais mais rápido; embora eu achasse que não fazia diferença, eu deveria medi-lo na função chamada, talvez haja alguma outra diferença
no diário de bordo:
2012.03.23 13:40:50 teste EURUSD,H1: matriz global: 1406 milissegundos.
2012.03.23 13:40:50 teste EURUSD,H1: matriz local: 1344 milissegundos.
agora faz sentido: as variáveis globais demoram um pouco mais, as locais mais rápido; embora eu achasse que não fazia diferença, eu deveria medi-lo na função chamada, talvez haja alguma outra diferença
mudou, e copiou start() para func(), depois de pprinnts start func() :
2012, 03.23 14:11:15 teste EURUSD,H1: matriz local: 1313 milissegundos.
2012.03.23 14:11:15 teste EURUSD,H1: matriz global: 1359 milissegundos.
2012.03.23 14:11:15 teste EURUSD,H1: função de chamada.....
2012.03.23 14:11:18 teste EURUSD,H1: ação ph-, matriz local: 1312 milissegundos.
2012.03.23 14:11:18 teste EURUSD,H1: f-ction, matriz global: 1328 milissegundos.
mudou, e copiou start() para func(), depois que as impressões começam func() :
2012, 03.23 14:11:15 teste EURUSD,H1: matriz local: 1313 milissegundos.
2012.03.23 14:11:15 teste EURUSD,H1: matriz global: 1359 milissegundos.
2012.03.23 14:11:15 teste EURUSD,H1: função de chamada.....
2012.03.23 14:11:18 teste EURUSD,H1: ph-ação, matriz local: 1312 milissegundos.
2012.03.23 14:11:18 teste EURUSD,H1: f-ction, matriz global: 1328 milissegundos.
mudou, e copiou start() para func(), depois que as impressões começam func() :
2012, 03.23 14:11:15 teste EURUSD,H1: matriz local: 1313 milissegundos.
2012.03.23 14:11:15 teste EURUSD,H1: matriz global: 1359 milissegundos.
2012.03.23 14:11:15 teste EURUSD,H1: função de chamada.....
2012.03.23 14:11:18 teste EURUSD,H1: ação ph-, matriz local: 1312 milissegundos.
2012.03.23 14:11:18 teste EURUSD,H1: f-ction, matriz global: 1328 milissegundos.
Eu o fiz, mas os resultados não mudaram, e também declarei uma matriz em uma função separada, chamada de função e comparei-a a uma chamada de matriz global
alsu, essa é uma suposição lógica, mas minhas experiências me levaram a uma idéia engraçada: o mql4 é para lamas, você a declara da maneira que quiser, como dizem no jogo. ))). Talvez eu faça algumas experiências com o mql5 se não me esquecer, é apenas discutir o desempenho do MT5, talvez algo se torne claro.
Por acaso ninguém portou FANN para o mql? http://leenissen.dk/fann/wp/download/, ou código similar ao mql com NS.
ZS: Eu não consigo encontrar um NS pronto por busca e google, eu conectei um .dll com FANN, ele funciona muito bem, mas eu gostaria dele sem .dll.
Por acaso ninguém portou FANN para o mql? http://leenissen.dk/fann/wp/download/, ou código similar ao mql com NS.
ZS: Eu não consigo encontrar um NS pronto por busca e google, eu conectei um .dll com FANN, ele funciona muito bem, mas eu gostaria dele sem .dll.
É melhor treinar a rede em software especializado. É muito mais rápido. E é melhor utilizá-lo em código