freqtrade_origin/en/2020.6/exchanges/index.html

1341 lines
33 KiB
HTML
Raw Normal View History

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="prev" href="../utils/">
<link rel="next" href="../faq/">
<link rel="icon" href="../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.30">
<title>Exchange-specific Notes - Freqtrade</title>
<link rel="stylesheet" href="../assets/stylesheets/main.3cba04c6.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="../stylesheets/ft.extra.css">
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="blue-grey" data-md-color-accent="tear">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#exchange-specific-notes" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href=".." title="Freqtrade" class="md-header__button md-logo" aria-label="Freqtrade" data-md-component="logo">
<img src="../images/logo.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Freqtrade
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Exchange-specific Notes
</span>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="Freqtrade" class="md-nav__button md-logo" aria-label="Freqtrade" data-md-component="logo">
<img src="../images/logo.png" alt="logo">
</a>
Freqtrade
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href=".." class="md-nav__link">
<span class="md-ellipsis">
Home
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../docker/" class="md-nav__link">
<span class="md-ellipsis">
Installation Docker
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../installation/" class="md-nav__link">
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/" class="md-nav__link">
<span class="md-ellipsis">
Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../strategy-customization/" class="md-nav__link">
<span class="md-ellipsis">
Strategy Customization
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../stoploss/" class="md-nav__link">
<span class="md-ellipsis">
Stoploss
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../bot-usage/" class="md-nav__link">
<span class="md-ellipsis">
Start the bot
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-ellipsis">
Control the bot
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
Control the bot
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../telegram-usage/" class="md-nav__link">
<span class="md-ellipsis">
Telegram
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../webhook-config/" class="md-nav__link">
<span class="md-ellipsis">
Web Hook
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../rest-api/" class="md-nav__link">
<span class="md-ellipsis">
REST API
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../data-download/" class="md-nav__link">
<span class="md-ellipsis">
Data Downloading
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../backtesting/" class="md-nav__link">
<span class="md-ellipsis">
Backtesting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../hyperopt/" class="md-nav__link">
<span class="md-ellipsis">
Hyperopt
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../edge/" class="md-nav__link">
<span class="md-ellipsis">
Edge Positioning
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/" class="md-nav__link">
<span class="md-ellipsis">
Utility Subcommands
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Exchange-specific Notes
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Exchange-specific Notes
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#binance" class="md-nav__link">
<span class="md-ellipsis">
Binance
</span>
</a>
<nav class="md-nav" aria-label="Binance">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#blacklists" class="md-nav__link">
<span class="md-ellipsis">
Blacklists
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#binance-sites" class="md-nav__link">
<span class="md-ellipsis">
Binance sites
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#kraken" class="md-nav__link">
<span class="md-ellipsis">
Kraken
</span>
</a>
<nav class="md-nav" aria-label="Kraken">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#historic-kraken-data" class="md-nav__link">
<span class="md-ellipsis">
Historic Kraken data
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#bittrex" class="md-nav__link">
<span class="md-ellipsis">
Bittrex
</span>
</a>
<nav class="md-nav" aria-label="Bittrex">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#order-types" class="md-nav__link">
<span class="md-ellipsis">
Order types
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#restricted-markets" class="md-nav__link">
<span class="md-ellipsis">
Restricted markets
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#ftx" class="md-nav__link">
<span class="md-ellipsis">
FTX
</span>
</a>
<nav class="md-nav" aria-label="FTX">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#using-subaccounts" class="md-nav__link">
<span class="md-ellipsis">
Using subaccounts
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#all-exchanges" class="md-nav__link">
<span class="md-ellipsis">
All exchanges
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#random-notes-for-other-exchanges" class="md-nav__link">
<span class="md-ellipsis">
Random notes for other exchanges
</span>
</a>
<nav class="md-nav" aria-label="Random notes for other exchanges">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#getting-latest-price-incomplete-candles" class="md-nav__link">
<span class="md-ellipsis">
Getting latest price / Incomplete candles
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<label class="md-nav__link" for="__nav_16" id="__nav_16_label" tabindex="0">
<span class="md-ellipsis">
Data Analysis
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon"></span>
Data Analysis
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../data-analysis/" class="md-nav__link">
<span class="md-ellipsis">
Jupyter Notebooks
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../strategy_analysis_example/" class="md-nav__link">
<span class="md-ellipsis">
Strategy analysis
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../plotting/" class="md-nav__link">
<span class="md-ellipsis">
Plotting
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../sql_cheatsheet/" class="md-nav__link">
<span class="md-ellipsis">
SQL Cheatsheet
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../advanced-setup/" class="md-nav__link">
<span class="md-ellipsis">
Advanced Post-installation Tasks
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../strategy-advanced/" class="md-nav__link">
<span class="md-ellipsis">
Advanced Strategy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../advanced-hyperopt/" class="md-nav__link">
<span class="md-ellipsis">
Advanced Hyperopt
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../sandbox-testing/" class="md-nav__link">
<span class="md-ellipsis">
Sandbox Testing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../deprecated/" class="md-nav__link">
<span class="md-ellipsis">
Deprecated Features
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../developer/" class="md-nav__link">
<span class="md-ellipsis">
Contributors Guide
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#binance" class="md-nav__link">
<span class="md-ellipsis">
Binance
</span>
</a>
<nav class="md-nav" aria-label="Binance">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#blacklists" class="md-nav__link">
<span class="md-ellipsis">
Blacklists
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#binance-sites" class="md-nav__link">
<span class="md-ellipsis">
Binance sites
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#kraken" class="md-nav__link">
<span class="md-ellipsis">
Kraken
</span>
</a>
<nav class="md-nav" aria-label="Kraken">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#historic-kraken-data" class="md-nav__link">
<span class="md-ellipsis">
Historic Kraken data
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#bittrex" class="md-nav__link">
<span class="md-ellipsis">
Bittrex
</span>
</a>
<nav class="md-nav" aria-label="Bittrex">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#order-types" class="md-nav__link">
<span class="md-ellipsis">
Order types
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#restricted-markets" class="md-nav__link">
<span class="md-ellipsis">
Restricted markets
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#ftx" class="md-nav__link">
<span class="md-ellipsis">
FTX
</span>
</a>
<nav class="md-nav" aria-label="FTX">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#using-subaccounts" class="md-nav__link">
<span class="md-ellipsis">
Using subaccounts
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#all-exchanges" class="md-nav__link">
<span class="md-ellipsis">
All exchanges
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#random-notes-for-other-exchanges" class="md-nav__link">
<span class="md-ellipsis">
Random notes for other exchanges
</span>
</a>
<nav class="md-nav" aria-label="Random notes for other exchanges">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#getting-latest-price-incomplete-candles" class="md-nav__link">
<span class="md-ellipsis">
Getting latest price / Incomplete candles
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="exchange-specific-notes">Exchange-specific Notes<a class="headerlink" href="#exchange-specific-notes" title="Permanent link">&para;</a></h1>
<p>This page combines common gotchas and informations which are exchange-specific and most likely don't apply to other exchanges.</p>
<h2 id="binance">Binance<a class="headerlink" href="#binance" title="Permanent link">&para;</a></h2>
<div class="admonition tip">
<p class="admonition-title">Stoploss on Exchange</p>
<p>Binance supports <code>stoploss_on_exchange</code> and uses stop-loss-limit orders. It provides great advantages, so we recommend to benefit from it.</p>
</div>
<h3 id="blacklists">Blacklists<a class="headerlink" href="#blacklists" title="Permanent link">&para;</a></h3>
<p>For Binance, please add <code>"BNB/&lt;STAKE&gt;"</code> to your blacklist to avoid issues.
Accounts having BNB accounts use this to pay for fees - if your first trade happens to be on <code>BNB</code>, further trades will consume this position and make the initial BNB order unsellable as the expected amount is not there anymore.</p>
<h3 id="binance-sites">Binance sites<a class="headerlink" href="#binance-sites" title="Permanent link">&para;</a></h3>
<p>Binance has been split into 3, and users must use the correct ccxt exchange ID for their exchange, otherwise API keys are not recognized.</p>
<ul>
<li><a href="https://www.binance.com/">binance.com</a> - International users. Use exchange id: <code>binance</code>.</li>
<li><a href="https://www.binance.us/">binance.us</a> - US based users. Use exchange id: <code>binanceus</code>.</li>
<li><a href="https://www.binance.je/">binance.je</a> - Binance Jersey, trading fiat currencies. Use exchange id: <code>binanceje</code>.</li>
</ul>
<h2 id="kraken">Kraken<a class="headerlink" href="#kraken" title="Permanent link">&para;</a></h2>
<div class="admonition tip">
<p class="admonition-title">Stoploss on Exchange</p>
<p>Kraken supports <code>stoploss_on_exchange</code> and uses stop-loss-market orders. It provides great advantages, so we recommend to benefit from it, however since the resulting order is a stoploss-market order, sell-rates are not guaranteed, which makes this feature less secure than on other exchanges. This limitation is based on kraken's policy <a href="https://blog.kraken.com/post/1234/announcement-delisting-pairs-and-temporary-suspension-of-advanced-order-types/">source</a> and <a href="https://blog.kraken.com/post/1494/kraken-enables-advanced-orders-and-adds-10-currency-pairs/">source2</a> - which has stoploss-limit orders disabled.</p>
</div>
<h3 id="historic-kraken-data">Historic Kraken data<a class="headerlink" href="#historic-kraken-data" title="Permanent link">&para;</a></h3>
<p>The Kraken API does only provide 720 historic candles, which is sufficient for Freqtrade dry-run and live trade modes, but is a problem for backtesting.
To download data for the Kraken exchange, using <code>--dl-trades</code> is mandatory, otherwise the bot will download the same 720 candles over and over, and you'll not have enough backtest data.</p>
<p>Due to the heavy rate-limiting applied by Kraken, the following configuration section should be used to download data:</p>
<div class="highlight"><pre><span></span><code><span class="w"> </span><span class="nt">&quot;ccxt_async_config&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;enableRateLimit&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;rateLimit&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">3100</span>
<span class="w"> </span><span class="p">},</span>
</code></pre></div>
<h2 id="bittrex">Bittrex<a class="headerlink" href="#bittrex" title="Permanent link">&para;</a></h2>
<h3 id="order-types">Order types<a class="headerlink" href="#order-types" title="Permanent link">&para;</a></h3>
<p>Bittrex does not support market orders. If you have a message at the bot startup about this, you should change order type values set in your configuration and/or in the strategy from <code>"market"</code> to <code>"limit"</code>. See some more details on this <a href="../faq/#im-getting-the-exchange-bittrex-does-not-support-market-orders-message-and-cannot-run-my-strategy">here in the FAQ</a>.</p>
<h3 id="restricted-markets">Restricted markets<a class="headerlink" href="#restricted-markets" title="Permanent link">&para;</a></h3>
<p>Bittrex split its exchange into US and International versions.
The International version has more pairs available, however the API always returns all pairs, so there is currently no automated way to detect if you're affected by the restriction.</p>
<p>If you have restricted pairs in your whitelist, you'll get a warning message in the log on Freqtrade startup for each restricted pair.</p>
<p>The warning message will look similar to the following:</p>
<div class="highlight"><pre><span></span><code><span class="go">[...] Message: bittrex {&quot;success&quot;:false,&quot;message&quot;:&quot;RESTRICTED_MARKET&quot;,&quot;result&quot;:null,&quot;explanation&quot;:null}&quot;</span>
</code></pre></div>
<p>If you're an "International" customer on the Bittrex exchange, then this warning will probably not impact you.
If you're a US customer, the bot will fail to create orders for these pairs, and you should remove them from your whitelist.</p>
<p>You can get a list of restricted markets by using the following snippet:</p>
<div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">ccxt</span>
<span class="n">ct</span> <span class="o">=</span> <span class="n">ccxt</span><span class="o">.</span><span class="n">bittrex</span><span class="p">()</span>
<span class="n">_</span> <span class="o">=</span> <span class="n">ct</span><span class="o">.</span><span class="n">load_markets</span><span class="p">()</span>
<span class="n">res</span> <span class="o">=</span> <span class="p">[</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">x</span><span class="p">[</span><span class="s1">&#39;MarketCurrency&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">x</span><span class="p">[</span><span class="s1">&#39;BaseCurrency&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">&quot;</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">ct</span><span class="o">.</span><span class="n">publicGetMarkets</span><span class="p">()[</span><span class="s1">&#39;result&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="n">x</span><span class="p">[</span><span class="s1">&#39;IsRestricted&#39;</span><span class="p">]]</span>
<span class="nb">print</span><span class="p">(</span><span class="n">res</span><span class="p">)</span>
</code></pre></div>
<h2 id="ftx">FTX<a class="headerlink" href="#ftx" title="Permanent link">&para;</a></h2>
<div class="admonition tip">
<p class="admonition-title">Stoploss on Exchange</p>
<p>FTX supports <code>stoploss_on_exchange</code> and can use both stop-loss-market and stop-loss-limit orders. It provides great advantages, so we recommend to benefit from it.
You can use either <code>"limit"</code> or <code>"market"</code> in the <code>order_types.stoploss</code> configuration setting to decide.</p>
</div>
<h3 id="using-subaccounts">Using subaccounts<a class="headerlink" href="#using-subaccounts" title="Permanent link">&para;</a></h3>
<p>To use subaccounts with FTX, you need to edit the configuration and add the following:</p>
<div class="highlight"><pre><span></span><code><span class="nt">&quot;exchange&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;ccxt_config&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;headers&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;FTX-SUBACCOUNT&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;name&quot;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">},</span>
<span class="p">}</span>
</code></pre></div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Older versions of freqtrade may require this key to be added to <code>"ccxt_async_config"</code> as well.</p>
</div>
<h2 id="all-exchanges">All exchanges<a class="headerlink" href="#all-exchanges" title="Permanent link">&para;</a></h2>
<p>Should you experience constant errors with Nonce (like <code>InvalidNonce</code>), it is best to regenerate the API keys. Resetting Nonce is difficult and it's usually easier to regenerate the API keys.</p>
<h2 id="random-notes-for-other-exchanges">Random notes for other exchanges<a class="headerlink" href="#random-notes-for-other-exchanges" title="Permanent link">&para;</a></h2>
<ul>
<li>The Ocean (exchange id: <code>theocean</code>) exchange uses Web3 functionality and requires <code>web3</code> python package to be installed:
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>pip3<span class="w"> </span>install<span class="w"> </span>web3
</code></pre></div></li>
</ul>
<h3 id="getting-latest-price-incomplete-candles">Getting latest price / Incomplete candles<a class="headerlink" href="#getting-latest-price-incomplete-candles" title="Permanent link">&para;</a></h3>
<p>Most exchanges return current incomplete candle via their OHLCV/klines API interface.
By default, Freqtrade assumes that incomplete candle is fetched from the exchange and removes the last candle assuming it's the incomplete candle.</p>
<p>Whether your exchange returns incomplete candles or not can be checked using <a href="../developer/#Incomplete-candles">the helper script</a> from the Contributor documentation.</p>
<p>Due to the danger of repainting, Freqtrade does not allow you to use this incomplete candle.</p>
<p>However, if it is based on the need for the latest price for your strategy - then this requirement can be acquired using the <a href="../strategy-customization/#possible-options-for-dataprovider">data provider</a> from within the strategy.</p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": [], "search": "../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../assets/javascripts/bundle.fe8b6f2b.min.js"></script>
</body>
</html>