Alguem pode por favor me explicar pq quando eu chamo a função InitializeNeuralNetwork no onTick o o codigo de função AddLayer da out of range
quando eu coloco 0 nao da problema, entao o problema é no i, mas eu nao tenho ideia do pq
Olá
pedro de, você está realmente chamando essas funções em OnTick()?
Se
sim, o primeiro passo que recomendo é você testar apenas em OnInit(), defindo bem a inicialização e profundidade de sua rede, deixando para
OnTick() apenas o que estiver relacionado a funções de saída, como previsão/generalização/etc.
Sds.,
Rogério Figurelli
#include "NeuralLayers.mqh" class NeuralNetwork : NeuralLayers { private: public: NeuralLayers layer[]; int neural_system_size; bool InitializeNeuralNetwork(int nsize,int &y_size_array[]){ ArrayResize(layer,nsize); if (nsize != ArraySize(y_size_array)){Print("ysize array dont has the same size of xsize int");} neural_system_size = nsize; for(int i = 0; i<nsize; i++){ AddLayer(y_size_array[i],i); } return true; } int AddLayer(int l_size,int layer_index){ layer[layer_index].network_size = neural_system_size; layer[layer_index].position = layer_index; layer[layer_index].CreateLayer(l_size); Print("layer ",layer[layer_index].position," size ",l_size," ", layer[layer_index].type); return layer_index; }
vlw Rogerio, eu digitei errado ali ja estava no oninit, acho q o problema era que o tamanho da rede era diferente do tamanho do array pra definir o tamanho das layers, botei uma checagem pra isso e arrumei
int OnInit() { //--- int size = 6; int ysize[] = {10,7,5,3,5,4}; network.InitializeNeuralNetwork(size,ysize); //--- return(INIT_SUCCEEDED); }
esse é oninit onde realmete estava o erro eu acabei n mandando aqui, vou arrumar isso e tornar o size dependente do tamanho do ysize logo pra nao ter mais esse problema, obrigado por responder
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Alguem pode por favor me explicar pq quando eu chamo a função InitializeNeuralNetwork no onTick o o codigo de função AddLayer da out of range
quando eu coloco 0 nao da problema, entao o problema é no i, mas eu nao tenho ideia do pq