擅长:python、mysql、java
<p><em>backtrader</em>不是<code>pandas</code>,也不被认为是<code>Dataframe</code>。在</p>
<p>从你的例子来看:</p>
<pre><code>def next(self):
...
minr = datas[0].min()
...
</code></pre>
<p>它实际上应该是<code>self.datas[0]</code>或更好的<code>self.data0</code>或{<cd5>},这简化了事情,但这不是重点。在</p>
<p>关键点在这里</p>
^{pr2}$
<p>第一个:</p>
<ul>
<li>当你指的是<code>self.datas[0]</code>并用它做某事时,你指的是<code>close</code>价格。为什么?因为这个行业很久以前就解决了这个问题,而且它还可以开发不必引用特定领域的通用指标(当你有<em>指标</em>关于<em>指标</em>的指标时,很明显,通用性才是必由之路)</li>
</ul>
<p>第二:</p>
<ul>
<li><p>显然,你要求的是整个系列的最低要求。在</p>
<p>所设想的指标有一个回溯期,不需要(通常,但你可以)回顾整个系列。</p></li>
</ul>
<p>第三:</p>
<ul>
<li>即使您使用了<code>Dataframe</code>作为输入,backtrader</em>在内部并不能处理这个结构(这是有意识的设计决策),并且每个构成价格条或指标输出的元素都是单独的数组。在</li>
</ul>
<p>不。<em>backtrader</em>不是一个<code>Dataframe</code>,也不打算作为一个。您总是可以将所需的<em>行分割为</em>并从中创建一个<code>Dataframe</code>或{<cd11>}。在</p>
<p>请参见:<a href="https://www.backtrader.com/docu/concepts.html" rel="nofollow noreferrer">Backtrader Documentation - Platform Concepts</a>和部分:<em>切片</em></p>