mirror of
https://github.com/freqtrade/freqtrade.git
synced 2025-12-02 01:53:05 +00:00
Deployed 70a25f9 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="#check_delistingpair" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
check_delisting(pair)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -2504,6 +2513,15 @@
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#check_delistingpair" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
check_delisting(pair)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -2784,9 +2802,9 @@ Some common patterns for this are listed in the <a href="#common-mistakes-when-d
|
||||
</div>
|
||||
<details class="hint">
|
||||
<summary>Lookahead and recursive analysis</summary>
|
||||
<p>Freqtrade includes two helpful commands to help assess common lookahead (using future data) and
|
||||
recursive bias (variance in indicator values) issues. Before running a strategy in dry or live more,
|
||||
you should always use these commands first. Please check the relevant documentation for
|
||||
<p>Freqtrade includes two helpful commands to help assess common lookahead (using future data) and
|
||||
recursive bias (variance in indicator values) issues. Before running a strategy in dry or live more,
|
||||
you should always use these commands first. Please check the relevant documentation for
|
||||
<a href="../lookahead-analysis/">lookahead</a> and <a href="../recursive-analysis/">recursive</a> analysis.</p>
|
||||
</details>
|
||||
<h3 id="dataframe">Dataframe<a class="headerlink" href="#dataframe" title="Permanent link">¶</a></h3>
|
||||
@@ -2927,7 +2945,7 @@ This is capped to 5 total calls to avoid overloading the exchange, or make freqt
|
||||
<p>Edit the method <code>populate_entry_trend()</code> in your strategy file to update your entry strategy.</p>
|
||||
<p>It's important to always return the dataframe without removing/modifying the columns <code>"open", "high", "low", "close", "volume"</code>, otherwise these fields would contain something unexpected. The strategy may then produce invalid values, or cease to work entirely.</p>
|
||||
<p>This method will also define a new column, <code>"enter_long"</code> (<code>"enter_short"</code> for shorts), which needs to contain <code>1</code> for entries, and <code>0</code> for "no action". <code>enter_long</code> is a mandatory column that must be set even if the strategy is shorting only.</p>
|
||||
<p>You can name your entry signals by using the <code>"enter_tag"</code> column, which can help debug and assess your strategy later. </p>
|
||||
<p>You can name your entry signals by using the <code>"enter_tag"</code> column, which can help debug and assess your strategy later.</p>
|
||||
<p>Sample from <code>user_data/strategies/sample_strategy.py</code>:</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">populate_entry_trend</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataframe</span><span class="p">:</span> <span class="n">DataFrame</span><span class="p">,</span> <span class="n">metadata</span><span class="p">:</span> <span class="nb">dict</span><span class="p">)</span> <span class="o">-></span> <span class="n">DataFrame</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
@@ -3175,7 +3193,7 @@ to avoid hammering the exchange with too many requests and risk being blocked.</
|
||||
<details class="note">
|
||||
<summary>Alternative candle types</summary>
|
||||
<p>Informative_pairs can also provide a 3<sup>rd</sup> tuple element defining the candle type explicitly.
|
||||
Availability of alternative candle-types will depend on the trading-mode and the exchange.
|
||||
Availability of alternative candle-types will depend on the trading-mode and the exchange.
|
||||
In general, spot pairs cannot be used in futures markets, and futures candles can't be used as informative pairs for spot bots.
|
||||
Details about this may vary, if they do, this can be found in the exchange documentation.</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">informative_pairs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
@@ -3383,6 +3401,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="#check_delistingpair"><code>check_delisting(pair)</code></a> - Return Datetime of the pair delisting schedule if any, otherwise return None</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>
|
||||
@@ -3481,6 +3500,21 @@ 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="check_delistingpair"><em>check_delisting(pair)</em><a class="headerlink" href="#check_delistingpair" title="Permanent link">¶</a></h3>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">custom_exit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pair</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">trade</span><span class="p">:</span> <span class="n">Trade</span><span class="p">,</span> <span class="n">current_time</span><span class="p">:</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">current_rate</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">current_profit</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
||||
<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">delisting_dt</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">check_delisting</span><span class="p">(</span><span class="n">pair</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">delisting_dt</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="s2">"delist"</span>
|
||||
</code></pre></div>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Availabiity of delisting information</p>
|
||||
<p>This method is only available for certain exchanges and will return <code>None</code> in cases this is not available or if the pair is not scheduled for delisting.</p>
|
||||
</div>
|
||||
<div class="admonition warning">
|
||||
<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>
|
||||
|
||||
Reference in New Issue
Block a user