public void onChange() {
		
		System.out.println("File has changed... Locking resource ... Processing");
		
		try {
			
			csvParser.reload();
			
			neuralnetworkexecution.getNeuralNetwork().resetWeights();
			neuralnetworkexecution.setMultiplier(new Multiplier(csvParser.getMaxValueFromColumn(mainColumnId)));
			
			if(neuralModeExecution == NeuralModeExecutionEnum.RUN_TRADING_ROBOT) {
				System.out.println("Mode : EXEC_MODE_RETURN enabled");
				
				double predictedFutureValue = neuralnetworkexecution.execGetFuturePrice();
				double lastKnownValue = csvParser.getValue(csvParser.countLines()-1, neuralnetworkexecution.getMainColumnId());
				
				System.out.println("Last = " + lastKnownValue);
				System.out.println("Future (prediction) = " + predictedFutureValue);
				
				pricesrecord.addPrice(lastKnownValue);
				
				if(lastKnownValue <= predictedFutureValue)
					tradesrecord.saveTrade("Credit-agricole", lastKnownValue, predictedFutureValue, Constants.VOLUME, "BUY");
				else
					tradesrecord.saveTrade("Credit-agricole", lastKnownValue, predictedFutureValue, Constants.VOLUME, "SELL");	
				
				tradesrecord.debug();
				
				System.out.println("Profit and Loss = " + tradesrecord.getProfitLoss());
				
			}
			else if(neuralModeExecution == NeuralModeExecutionEnum.FIND_BEST_ERROR_DISP) {
				System.out.println("Mode : EXEC_NO_RETURN enabled");
				neuralnetworkexecution.execFindBestErrorDisp();
			}
			
		}
		
		catch (Exception e) {}
		
	}