Problems with Analyzer and Pandas Datafeed

Hello,
I'm new in the community so I hope this is the right place for this question:
I've downloaded a few minutes bars of BTC/USD and I was testing the Sharpe Ratio with the SMA_CrossOver strategy included with BT but it keeps giving me:
Sharpe Ratio: OrderedDict([('sharperatio', None)])

The dataframe i'm feeding Cerebro has columns :['Open', 'High', 'Low', 'Close', 'Volume', 'Datetime']
the index also is called Datetime (is set equal to the last column)
I'm on Windows but I'm using Notepad++ and launching scripts with a macro within Notepad++

I've uploaded both my (simple) script and the data over Drive
I'm worried it may be something basic or really stupid of my code but i can't find it.
If someone can help me I'd really appreciate it.
Thanks, Andrea.

Ok, not that simple: I've addself.log('Data size: '+str(self.data.line.lencount), doprint = True)
both in stop and in next and it shows the data is growing up to 300 bars.
I'm also plotting the strategy and it is opening positions:
By the way I forgot saying i'm using the defaultbt.feeds.PandasData(dataname = df, timeframe=bt.TimeFrame.Minutes)
to load the bars.

Here is the slightly modded SMA_CrossOver strategy i'm using:

#!/usr/bin/env python
# -*- coding: utf-8; py-indent-offset:4 -*-
###############################################################################
#
# Copyright (C) 2015, 2016, 2017 Daniel Rodriguez
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import backtrader as bt
import backtrader.indicators as btind
class MA_CrossOver(bt.Strategy):
'''This is a long-only strategy which operates on a moving average cross
Note:
- Although the default
Buy Logic:
- No position is open on the data
- The ``fast`` moving averagecrosses over the ``slow`` strategy to the
upside.
Sell Logic:
- A position exists on the data
- The ``fast`` moving average crosses over the ``slow`` strategy to the
downside
Order Execution Type:
- Market
'''
alias = ('SMA_CrossOver',)
params = (
# period for the fast Moving Average
('fast', 10),
# period for the slow moving average
('slow', 30),
('printlog', False),
# moving average to use
('_movav', btind.MovAv.SMA)
)
def log(self, txt, dt=None, doprint=False):
''' Logging function fot this strategy'''
if self.params.printlog or doprint:
dt = dt or self.datas[0].datetime.date(0)
print('%s, %s' % (dt.isoformat(), txt))
def __init__(self):
sma_fast = self.p._movav(period=self.p.fast)
sma_slow = self.p._movav(period=self.p.slow)
self.buysig = btind.CrossOver(sma_fast, sma_slow)
def next(self):
if self.position.size:
if self.buysig < 0:
self.sell()
elif self.buysig > 0:
self.buy()
self.log('Data size: '+str(self.data.line.lencount), doprint = True)
def stop(self):
self.log('(Fast MA Period %2d , Slow MA Period %2d) Ending Value %.2f' %
(self.params.fast, self.params.slow, self.broker.getvalue()), doprint=True)
self.log('Data size: '+str(self.data.line.lencount), doprint = True)