mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-02-21 11:51:05 +00:00
Deployed 66577b7 to develop in en with MkDocs 1.6.1 and mike 2.1.3
This commit is contained in:
@@ -885,6 +885,15 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#funding_ratepair" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
funding_rate(pair)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -2495,6 +2504,15 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#funding_ratepair" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
funding_rate(pair)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -3365,6 +3383,7 @@ It is also not available in <code>populate_entry_trend()</code> and <code>popula
|
||||
<li><code>ohlcv(pair, timeframe)</code> - Currently cached candle (OHLCV) data for the pair, returns DataFrame or empty DataFrame.</li>
|
||||
<li><a href="#orderbookpair-maximum"><code>orderbook(pair, maximum)</code></a> - Returns latest orderbook data for the pair, a dict with bids/asks with a total of <code>maximum</code> entries.</li>
|
||||
<li><a href="#tickerpair"><code>ticker(pair)</code></a> - Returns current ticker data for the pair. See <a href="https://github.com/ccxt/ccxt/wiki/Manual#price-tickers">ccxt documentation</a> for more details on the Ticker data structure.</li>
|
||||
<li><a href="#funding_ratepair"><code>funding_rate(pair)</code></a> - Returns current funding rate data for the pair.</li>
|
||||
<li><code>runmode</code> - Property containing the current runmode.</li>
|
||||
</ul>
|
||||
<h3 id="example-usages">Example Usages<a class="headerlink" href="#example-usages" title="Permanent link">¶</a></h3>
|
||||
@@ -3418,6 +3437,7 @@ You can check for this with <code>if dataframe.empty:</code> and handle this cas
|
||||
This should not happen when using whitelisted pairs.</p>
|
||||
</div>
|
||||
<h3 id="orderbookpair-maximum"><em>orderbook(pair, maximum)</em><a class="headerlink" href="#orderbookpair-maximum" title="Permanent link">¶</a></h3>
|
||||
<p>Retrieve the current order book for a pair.</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">dp</span><span class="o">.</span><span class="n">runmode</span><span class="o">.</span><span class="n">value</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">'live'</span><span class="p">,</span> <span class="s1">'dry_run'</span><span class="p">):</span>
|
||||
<span class="n">ob</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dp</span><span class="o">.</span><span class="n">orderbook</span><span class="p">(</span><span class="n">metadata</span><span class="p">[</span><span class="s1">'pair'</span><span class="p">],</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="n">dataframe</span><span class="p">[</span><span class="s1">'best_bid'</span><span class="p">]</span> <span class="o">=</span> <span class="n">ob</span><span class="p">[</span><span class="s1">'bids'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
|
||||
@@ -3461,6 +3481,46 @@ data returned from the exchange and add appropriate error handling / defaults.</
|
||||
<p class="admonition-title">Warning about backtesting</p>
|
||||
<p>This method will always return up-to-date / real-time values. As such, usage during backtesting / hyperopt without runmode checks will lead to wrong results, e.g. your whole dataframe will contain the same single value in all rows.</p>
|
||||
</div>
|
||||
<h3 id="funding_ratepair"><em>funding_rate(pair)</em><a class="headerlink" href="#funding_ratepair" title="Permanent link">¶</a></h3>
|
||||
<p>Retrieves the current funding rate for the pair and only works for futures pairs in the format of <code>base/quote:settle</code> (e.g. <code>ETH/USDT:USDT</code>).</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">dp</span><span class="o">.</span><span class="n">runmode</span><span class="o">.</span><span class="n">value</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">'live'</span><span class="p">,</span> <span class="s1">'dry_run'</span><span class="p">):</span>
|
||||
<span class="n">funding_rate</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dp</span><span class="o">.</span><span class="n">funding_rate</span><span class="p">(</span><span class="n">metadata</span><span class="p">[</span><span class="s1">'pair'</span><span class="p">])</span>
|
||||
<span class="n">dataframe</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s1">'current_funding_rate'</span><span class="p">]</span> <span class="o">=</span> <span class="n">funding_rate</span><span class="p">[</span><span class="s1">'fundingRate'</span><span class="p">]</span>
|
||||
<span class="n">dataframe</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s1">'next_funding_timestamp'</span><span class="p">]</span> <span class="o">=</span> <span class="n">funding_rate</span><span class="p">[</span><span class="s1">'fundingTimestamp'</span><span class="p">]</span>
|
||||
<span class="n">dataframe</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s1">'next_funding_datetime'</span><span class="p">]</span> <span class="o">=</span> <span class="n">funding_rate</span><span class="p">[</span><span class="s1">'fundingDatetime'</span><span class="p">]</span>
|
||||
</code></pre></div>
|
||||
<p>The funding rate structure is aligned with the funding rate structure from <a href="https://github.com/ccxt/ccxt/wiki/Manual#funding-rate-structure">ccxt</a>, so the result will be formatted as follows:</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="s2">"info"</span><span class="p">:</span> <span class="p">{</span>
|
||||
<span class="c1"># ... </span>
|
||||
<span class="p">},</span>
|
||||
<span class="s2">"symbol"</span><span class="p">:</span> <span class="s2">"BTC/USDT:USDT"</span><span class="p">,</span>
|
||||
<span class="s2">"markPrice"</span><span class="p">:</span> <span class="mf">110730.7</span><span class="p">,</span>
|
||||
<span class="s2">"indexPrice"</span><span class="p">:</span> <span class="mf">110782.52</span><span class="p">,</span>
|
||||
<span class="s2">"interestRate"</span><span class="p">:</span> <span class="mf">0.0001</span><span class="p">,</span>
|
||||
<span class="s2">"estimatedSettlePrice"</span><span class="p">:</span> <span class="mf">110822.67200153</span><span class="p">,</span>
|
||||
<span class="s2">"timestamp"</span><span class="p">:</span> <span class="mi">1757146321001</span><span class="p">,</span>
|
||||
<span class="s2">"datetime"</span><span class="p">:</span> <span class="s2">"2025-09-06T08:12:01.001Z"</span><span class="p">,</span>
|
||||
<span class="s2">"fundingRate"</span><span class="p">:</span> <span class="mf">5.609e-05</span><span class="p">,</span>
|
||||
<span class="s2">"fundingTimestamp"</span><span class="p">:</span> <span class="mi">1757174400000</span><span class="p">,</span>
|
||||
<span class="s2">"fundingDatetime"</span><span class="p">:</span> <span class="s2">"2025-09-06T16:00:00.000Z"</span><span class="p">,</span>
|
||||
<span class="s2">"nextFundingRate"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<span class="s2">"nextFundingTimestamp"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<span class="s2">"nextFundingDatetime"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<span class="s2">"previousFundingRate"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<span class="s2">"previousFundingTimestamp"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<span class="s2">"previousFundingDatetime"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<span class="s2">"interval"</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
<p>Therefore, using <code>funding_rate['fundingRate']</code> as demonstrated above will use the current funding rate.
|
||||
Actually available data will vary between exchanges, so this code may not work as expected across exchanges.</p>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning about backtesting</p>
|
||||
<p>Current funding-rate is not part of the historic data which means backtesting and hyperopt will not work correctly if this method is used, as the method will return up-to-date values.
|
||||
We recommend to use the historically available funding rate for backtesting (which is automatically downloaded, and is at the frequency of what the exchange provides, usually 4h or 8h).
|
||||
<code>self.dp.get_pair_dataframe(pair=metadata['pair'], timeframe='8h', candle_type="funding_rate")</code></p>
|
||||
</div>
|
||||
<h3 id="send-notification">Send Notification<a class="headerlink" href="#send-notification" title="Permanent link">¶</a></h3>
|
||||
<p>The dataprovider <code>.send_msg()</code> function allows you to send custom notifications from your strategy.
|
||||
Identical notifications will only be sent once per candle, unless the 2<sup>nd</sup> argument (<code>always_send</code>) is set to True.</p>
|
||||
|
||||
Reference in New Issue
Block a user