freqtrade_origin/en/2023.8/exchanges/index.html

2186 lines
65 KiB
HTML

<!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="canonical" href="https://www.freqtrade.io/2023.8/exchanges/">
<link rel="prev" href="../plotting/">
<link rel="next" href="../data-analysis/">
<link rel="icon" href="../images/logo.png">
<meta name="generator" content="mkdocs-1.5.2, mkdocs-material-9.2.1">
<title>Exchange-specific Notes - Freqtrade</title>
<link rel="stylesheet" href="../assets/stylesheets/main.0e669242.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.85d0ee34.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">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<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>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="blue-grey" data-md-color-accent="tear" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>
</label>
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="blue-grey" data-md-color-accent="tear" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5m0 8a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3Z"/></svg>
</label>
</form>
<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">
<a href="javascript:void(0)" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7 0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91 1.61 0 2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08Z"/></svg>
</a>
<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" 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>
<div class="md-header__source">
<a href="https://github.com/freqtrade/freqtrade" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</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">
<!-- Main navigation -->
<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>
<div class="md-nav__source">
<a href="https://github.com/freqtrade/freqtrade" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
<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_quickstart/" class="md-nav__link">
<span class="md-ellipsis">
Quickstart with Docker
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
Installation
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Installation
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../installation/" class="md-nav__link">
<span class="md-ellipsis">
Linux/MacOS/Raspberry
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../windows_installation/" class="md-nav__link">
<span class="md-ellipsis">
Windows
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../bot-basics/" class="md-nav__link">
<span class="md-ellipsis">
Freqtrade Basics
</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="../strategy-callbacks/" class="md-nav__link">
<span class="md-ellipsis">
Strategy Callbacks
</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="../plugins/" class="md-nav__link">
<span class="md-ellipsis">
Plugins
</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_11" >
<label class="md-nav__link" for="__nav_11" id="__nav_11_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_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<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="../rest-api/" class="md-nav__link">
<span class="md-ellipsis">
REST API & FreqUI
</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>
</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="../lookahead-analysis/" class="md-nav__link">
<span class="md-ellipsis">
Lookahead analysis
</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 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">
FreqAI
</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>
FreqAI
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../freqai/" class="md-nav__link">
<span class="md-ellipsis">
Introduction
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../freqai-configuration/" class="md-nav__link">
<span class="md-ellipsis">
Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../freqai-parameter-table/" class="md-nav__link">
<span class="md-ellipsis">
Parameter table
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../freqai-feature-engineering/" class="md-nav__link">
<span class="md-ellipsis">
Feature engineering
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../freqai-running/" class="md-nav__link">
<span class="md-ellipsis">
Running FreqAI
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../freqai-reinforcement-learning/" class="md-nav__link">
<span class="md-ellipsis">
Reinforcement Learning
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../freqai-developers/" class="md-nav__link">
<span class="md-ellipsis">
Developer guide
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../leverage/" class="md-nav__link">
<span class="md-ellipsis">
Short / Leverage
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/" class="md-nav__link">
<span class="md-ellipsis">
Utility Sub-commands
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../plotting/" class="md-nav__link">
<span class="md-ellipsis">
Plotting
</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="#exchange-configuration" class="md-nav__link">
Exchange configuration
</a>
<nav class="md-nav" aria-label="Exchange configuration">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#sample-exchange-configuration" class="md-nav__link">
Sample exchange configuration
</a>
</li>
<li class="md-nav__item">
<a href="#setting-rate-limits" class="md-nav__link">
Setting rate limits
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#binance" class="md-nav__link">
Binance
</a>
<nav class="md-nav" aria-label="Binance">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#binance-blacklist-recommendation" class="md-nav__link">
Binance Blacklist recommendation
</a>
</li>
<li class="md-nav__item">
<a href="#binance-sites" class="md-nav__link">
Binance sites
</a>
</li>
<li class="md-nav__item">
<a href="#binance-rsa-keys" class="md-nav__link">
Binance RSA keys
</a>
</li>
<li class="md-nav__item">
<a href="#binance-futures" class="md-nav__link">
Binance Futures
</a>
<nav class="md-nav" aria-label="Binance Futures">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#binance-futures-settings" class="md-nav__link">
Binance futures settings
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#kraken" class="md-nav__link">
Kraken
</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">
Historic Kraken data
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#bittrex" class="md-nav__link">
Bittrex
</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">
Order types
</a>
</li>
<li class="md-nav__item">
<a href="#volume-pairlist" class="md-nav__link">
Volume pairlist
</a>
</li>
<li class="md-nav__item">
<a href="#restricted-markets" class="md-nav__link">
Restricted markets
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#kucoin" class="md-nav__link">
Kucoin
</a>
<nav class="md-nav" aria-label="Kucoin">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#kucoin-blacklists" class="md-nav__link">
Kucoin Blacklists
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#huobi" class="md-nav__link">
Huobi
</a>
</li>
<li class="md-nav__item">
<a href="#okx-former-okex" class="md-nav__link">
OKX (former OKEX)
</a>
</li>
<li class="md-nav__item">
<a href="#gateio" class="md-nav__link">
Gate.io
</a>
</li>
<li class="md-nav__item">
<a href="#bybit" class="md-nav__link">
Bybit
</a>
</li>
<li class="md-nav__item">
<a href="#all-exchanges" class="md-nav__link">
All exchanges
</a>
</li>
<li class="md-nav__item">
<a href="#random-notes-for-other-exchanges" class="md-nav__link">
Random notes for other exchanges
</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">
Getting latest price / Incomplete candles
</a>
</li>
<li class="md-nav__item">
<a href="#advanced-freqtrade-exchange-configuration" class="md-nav__link">
Advanced Freqtrade Exchange configuration
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_21" >
<label class="md-nav__link" for="__nav_21" id="__nav_21_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_21_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_21">
<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="../advanced-backtesting/" class="md-nav__link">
<span class="md-ellipsis">
Backtest analysis
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_22" >
<label class="md-nav__link" for="__nav_22" id="__nav_22_label" tabindex="0">
<span class="md-ellipsis">
Advanced Topics
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_22_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_22">
<span class="md-nav__icon md-icon"></span>
Advanced Topics
</label>
<ul class="md-nav__list" data-md-scrollfix>
<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="../trade-object/" class="md-nav__link">
<span class="md-ellipsis">
Trade Object
</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="../producer-consumer/" class="md-nav__link">
<span class="md-ellipsis">
Producer/Consumer mode
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../edge/" class="md-nav__link">
<span class="md-ellipsis">
Edge Positioning
</span>
</a>
</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">
<a href="../sql_cheatsheet/" class="md-nav__link">
<span class="md-ellipsis">
SQL Cheat-sheet
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../strategy_migration/" class="md-nav__link">
<span class="md-ellipsis">
Strategy migration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../updating/" class="md-nav__link">
<span class="md-ellipsis">
Updating Freqtrade
</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>
<!-- Table of contents -->
<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="#exchange-configuration" class="md-nav__link">
Exchange configuration
</a>
<nav class="md-nav" aria-label="Exchange configuration">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#sample-exchange-configuration" class="md-nav__link">
Sample exchange configuration
</a>
</li>
<li class="md-nav__item">
<a href="#setting-rate-limits" class="md-nav__link">
Setting rate limits
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#binance" class="md-nav__link">
Binance
</a>
<nav class="md-nav" aria-label="Binance">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#binance-blacklist-recommendation" class="md-nav__link">
Binance Blacklist recommendation
</a>
</li>
<li class="md-nav__item">
<a href="#binance-sites" class="md-nav__link">
Binance sites
</a>
</li>
<li class="md-nav__item">
<a href="#binance-rsa-keys" class="md-nav__link">
Binance RSA keys
</a>
</li>
<li class="md-nav__item">
<a href="#binance-futures" class="md-nav__link">
Binance Futures
</a>
<nav class="md-nav" aria-label="Binance Futures">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#binance-futures-settings" class="md-nav__link">
Binance futures settings
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#kraken" class="md-nav__link">
Kraken
</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">
Historic Kraken data
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#bittrex" class="md-nav__link">
Bittrex
</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">
Order types
</a>
</li>
<li class="md-nav__item">
<a href="#volume-pairlist" class="md-nav__link">
Volume pairlist
</a>
</li>
<li class="md-nav__item">
<a href="#restricted-markets" class="md-nav__link">
Restricted markets
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#kucoin" class="md-nav__link">
Kucoin
</a>
<nav class="md-nav" aria-label="Kucoin">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#kucoin-blacklists" class="md-nav__link">
Kucoin Blacklists
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#huobi" class="md-nav__link">
Huobi
</a>
</li>
<li class="md-nav__item">
<a href="#okx-former-okex" class="md-nav__link">
OKX (former OKEX)
</a>
</li>
<li class="md-nav__item">
<a href="#gateio" class="md-nav__link">
Gate.io
</a>
</li>
<li class="md-nav__item">
<a href="#bybit" class="md-nav__link">
Bybit
</a>
</li>
<li class="md-nav__item">
<a href="#all-exchanges" class="md-nav__link">
All exchanges
</a>
</li>
<li class="md-nav__item">
<a href="#random-notes-for-other-exchanges" class="md-nav__link">
Random notes for other exchanges
</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">
Getting latest price / Incomplete candles
</a>
</li>
<li class="md-nav__item">
<a href="#advanced-freqtrade-exchange-configuration" class="md-nav__link">
Advanced Freqtrade Exchange configuration
</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 Information which are exchange-specific and most likely don't apply to other exchanges.</p>
<h2 id="exchange-configuration">Exchange configuration<a class="headerlink" href="#exchange-configuration" title="Permanent link">&para;</a></h2>
<p>Freqtrade is based on <a href="https://github.com/ccxt/ccxt">CCXT library</a> that supports over 100 cryptocurrency
exchange markets and trading APIs. The complete up-to-date list can be found in the
<a href="https://github.com/ccxt/ccxt/tree/master/python">CCXT repo homepage</a>.
However, the bot was tested by the development team with only a few exchanges.
A current list of these can be found in the "Home" section of this documentation.</p>
<p>Feel free to test other exchanges and submit your feedback or PR to improve the bot or confirm exchanges that work flawlessly..</p>
<p>Some exchanges require special configuration, which can be found below.</p>
<h3 id="sample-exchange-configuration">Sample exchange configuration<a class="headerlink" href="#sample-exchange-configuration" title="Permanent link">&para;</a></h3>
<p>A exchange configuration for "binance" would look as follows:</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;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;binance&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;key&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;your_exchange_key&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;secret&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;your_exchange_secret&quot;</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;ccxt_async_config&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
<span class="w"> </span><span class="c1">// ... </span>
</code></pre></div>
<h3 id="setting-rate-limits">Setting rate limits<a class="headerlink" href="#setting-rate-limits" title="Permanent link">&para;</a></h3>
<p>Usually, rate limits set by CCXT are reliable and work well.
In case of problems related to rate-limits (usually DDOS Exceptions in your logs), it's easy to change rateLimit settings to other values.</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;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;kraken&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;key&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;your_exchange_key&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;secret&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;your_exchange_secret&quot;</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="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;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>
<p>This configuration enables kraken, as well as rate-limiting to avoid bans from the exchange.
<code>"rateLimit": 3100</code> defines a wait-event of 3.1s between each call. This can also be completely disabled by setting <code>"enableRateLimit"</code> to false.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Optimal settings for rate-limiting depend on the exchange and the size of the whitelist, so an ideal parameter will vary on many other settings.
We try to provide sensible defaults per exchange where possible, if you encounter bans please make sure that <code>"enableRateLimit"</code> is enabled and increase the <code>"rateLimit"</code> parameter step by step.</p>
</div>
<h2 id="binance">Binance<a class="headerlink" href="#binance" title="Permanent link">&para;</a></h2>
<div class="admonition warning">
<p class="admonition-title">Server location and geo-ip restrictions</p>
<p>Please be aware that binance restrict api access regarding the server country. The currents and non exhaustive countries blocked are United States, Malaysia (Singapour), Ontario (Canada). Please go to <a href="https://www.binance.com/en/terms">binance terms &gt; b. Eligibility</a> to find up to date list.</p>
</div>
<p>Binance supports <a href="../configuration/#understand-order_time_in_force">time_in_force</a>.</p>
<div class="admonition tip">
<p class="admonition-title">Stoploss on Exchange</p>
<p>Binance supports <code>stoploss_on_exchange</code> and uses <code>stop-loss-limit</code> orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange.
On futures, Binance supports both <code>stop-limit</code> as well as <code>stop-market</code> orders. You can use either <code>"limit"</code> or <code>"market"</code> in the <code>order_types.stoploss</code> configuration setting to decide which type to use.</p>
</div>
<h3 id="binance-blacklist-recommendation">Binance Blacklist recommendation<a class="headerlink" href="#binance-blacklist-recommendation" title="Permanent link">&para;</a></h3>
<p>For Binance, it is suggested to add <code>"BNB/&lt;STAKE&gt;"</code> to your blacklist to avoid issues, unless you are willing to maintain enough extra <code>BNB</code> on the account or unless you're willing to disable using <code>BNB</code> for fees.
Binance accounts may use <code>BNB</code> for fees, and if a trade happens to be on <code>BNB</code>, further trades may consume this position and make the initial BNB trade 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 2, 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>
</ul>
<h3 id="binance-rsa-keys">Binance RSA keys<a class="headerlink" href="#binance-rsa-keys" title="Permanent link">&para;</a></h3>
<p>Freqtrade supports binance RSA API keys.</p>
<p>We recommend to use them as environment variable.</p>
<div class="highlight"><pre><span></span><code><span class="nb">export</span><span class="w"> </span><span class="nv">FREQTRADE__EXCHANGE__SECRET</span><span class="o">=</span><span class="s2">&quot;</span><span class="k">$(</span>cat<span class="w"> </span>./rsa_binance.private<span class="k">)</span><span class="s2">&quot;</span>
</code></pre></div>
<p>They can however also be configured via configuration file. Since json doesn't support multi-line strings, you'll have to replace all newlines with <code>\n</code> to have a valid json file.</p>
<div class="highlight"><pre><span></span><code><span class="c1">// ...</span>
<span class="w"> </span><span class="nt">&quot;key&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&lt;someapikey&gt;&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;secret&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;-----BEGIN PRIVATE KEY-----\nMIIEvQIBABACAFQA&lt;...&gt;s8KX8=\n-----END PRIVATE KEY-----&quot;</span>
<span class="c1">// ...</span>
</code></pre></div>
<h3 id="binance-futures">Binance Futures<a class="headerlink" href="#binance-futures" title="Permanent link">&para;</a></h3>
<p>Binance has specific (unfortunately complex) <a href="https://www.binance.com/en/support/faq/4f462ebe6ff445d4a170be7d9e897272">Futures Trading Quantitative Rules</a> which need to be followed, and which prohibit a too low stake-amount (among others) for too many orders.
Violating these rules will result in a trading restriction.</p>
<p>When trading on Binance Futures market, orderbook must be used because there is no price ticker data for futures.</p>
<div class="highlight"><pre><span></span><code> &quot;entry_pricing&quot;: {
&quot;use_order_book&quot;: true,
&quot;order_book_top&quot;: 1,
&quot;check_depth_of_market&quot;: {
&quot;enabled&quot;: false,
&quot;bids_to_ask_delta&quot;: 1
}
},
&quot;exit_pricing&quot;: {
&quot;use_order_book&quot;: true,
&quot;order_book_top&quot;: 1
},
</code></pre></div>
<h4 id="binance-futures-settings">Binance futures settings<a class="headerlink" href="#binance-futures-settings" title="Permanent link">&para;</a></h4>
<p>Users will also have to have the futures-setting "Position Mode" set to "One-way Mode", and "Asset Mode" set to "Single-Asset Mode".
These settings will be checked on startup, and freqtrade will show an error if this setting is wrong.</p>
<p><img alt="Binance futures settings" src="../assets/binance_futures_settings.png" /></p>
<p>Freqtrade will not attempt to change these settings.</p>
<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 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 which type to use.</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>
<div class="admonition warning">
<p class="admonition-title">Downloading data from kraken</p>
<p>Downloading kraken data will require significantly more memory (RAM) than any other exchange, as the trades-data needs to be converted into candles on your machine.
It will also take a long time, as freqtrade will need to download every single trade that happened on the exchange for the pair / timerange combination, therefore please be patient.</p>
</div>
<div class="admonition warning">
<p class="admonition-title">rateLimit tuning</p>
<p>Please pay attention that rateLimit configuration entry holds delay in milliseconds between requests, NOT requests\sec rate.
So, in order to mitigate Kraken API "Rate limit exceeded" exception, this configuration should be increased, NOT decreased.</p>
</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>
<p>Bittrex also does not support <code>VolumePairlist</code> due to limited / split API constellation at the moment.
Please use <code>StaticPairlist</code>. Other pairlists (other than <code>VolumePairlist</code>) should not be affected.</p>
<h3 id="volume-pairlist">Volume pairlist<a class="headerlink" href="#volume-pairlist" title="Permanent link">&para;</a></h3>
<p>Bittrex does not support the direct usage of VolumePairList. This can however be worked around by using the advanced mode with <code>lookback_days: 1</code> (or more), which will emulate 24h volume.</p>
<p>Read more in the <a href="../plugins/#volumepairlist-advanced-mode">pairlist documentation</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">lm</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="n">p</span> <span class="k">for</span> <span class="n">p</span><span class="p">,</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">lm</span><span class="o">.</span><span class="n">items</span><span class="p">()</span> <span class="k">if</span> <span class="s1">&#39;US&#39;</span> <span class="ow">in</span> <span class="n">x</span><span class="p">[</span><span class="s1">&#39;info&#39;</span><span class="p">][</span><span class="s1">&#39;prohibitedIn&#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="kucoin">Kucoin<a class="headerlink" href="#kucoin" title="Permanent link">&para;</a></h2>
<p>Kucoin requires a passphrase for each api key, you will therefore need to add this key into the configuration so your exchange section looks as follows:</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;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;kucoin&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;key&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;your_exchange_key&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;secret&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;your_exchange_secret&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;password&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;your_exchange_api_key_password&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="c1">// ...</span>
<span class="p">}</span>
</code></pre></div>
<p>Kucoin supports <a href="../configuration/#understand-order_time_in_force">time_in_force</a>.</p>
<div class="admonition tip">
<p class="admonition-title">Stoploss on Exchange</p>
<p>Kucoin 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 which type of stoploss shall be used.</p>
</div>
<h3 id="kucoin-blacklists">Kucoin Blacklists<a class="headerlink" href="#kucoin-blacklists" title="Permanent link">&para;</a></h3>
<p>For Kucoin, it is suggested to add <code>"KCS/&lt;STAKE&gt;"</code> to your blacklist to avoid issues, unless you are willing to maintain enough extra <code>KCS</code> on the account or unless you're willing to disable using <code>KCS</code> for fees.
Kucoin accounts may use <code>KCS</code> for fees, and if a trade happens to be on <code>KCS</code>, further trades may consume this position and make the initial <code>KCS</code> trade unsellable as the expected amount is not there anymore.</p>
<h2 id="huobi">Huobi<a class="headerlink" href="#huobi" title="Permanent link">&para;</a></h2>
<div class="admonition tip">
<p class="admonition-title">Stoploss on Exchange</p>
<p>Huobi supports <code>stoploss_on_exchange</code> and uses <code>stop-limit</code> orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange.</p>
</div>
<h2 id="okx-former-okex">OKX (former OKEX)<a class="headerlink" href="#okx-former-okex" title="Permanent link">&para;</a></h2>
<p>OKX requires a passphrase for each api key, you will therefore need to add this key into the configuration so your exchange section looks as follows:</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;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;okx&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;key&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;your_exchange_key&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;secret&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;your_exchange_secret&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;password&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;your_exchange_api_key_password&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="c1">// ...</span>
<span class="p">}</span>
</code></pre></div>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>OKX only provides 100 candles per api call. Therefore, the strategy will only have a pretty low amount of data available in backtesting mode.</p>
</div>
<div class="admonition warning">
<p class="admonition-title">Futures</p>
<p>OKX Futures has the concept of "position mode" - which can be "Buy/Sell" or long/short (hedge mode).
Freqtrade supports both modes (we recommend to use Buy/Sell mode) - but changing the mode mid-trading is not supported and will lead to exceptions and failures to place trades.
OKX also only provides MARK candles for the past ~3 months. Backtesting futures prior to that date will therefore lead to slight deviations, as funding-fees cannot be calculated correctly without this data.</p>
</div>
<h2 id="gateio">Gate.io<a class="headerlink" href="#gateio" title="Permanent link">&para;</a></h2>
<div class="admonition tip">
<p class="admonition-title">Stoploss on Exchange</p>
<p>Gate.io supports <code>stoploss_on_exchange</code> and uses <code>stop-loss-limit</code> orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange..</p>
</div>
<p>Gate.io allows the use of <code>POINT</code> to pay for fees. As this is not a tradable currency (no regular market available), automatic fee calculations will fail (and default to a fee of 0).
The configuration parameter <code>exchange.unknown_fee_rate</code> can be used to specify the exchange rate between Point and the stake currency. Obviously, changing the stake-currency will also require changes to this value.</p>
<h2 id="bybit">Bybit<a class="headerlink" href="#bybit" title="Permanent link">&para;</a></h2>
<p>Futures trading on bybit is currently supported for USDT markets, and will use isolated futures mode.
Users with unified accounts (there's no way back) can create a Sub-account which will start as "non-unified", and can therefore use isolated futures.
On startup, freqtrade will set the position mode to "One-way Mode" for the whole (sub)account. This avoids making this call over and over again (slowing down bot operations), but means that changes to this setting may result in exceptions and errors</p>
<p>As bybit doesn't provide funding rate history, the dry-run calculation is used for live trades as well.</p>
<p>API Keys for live futures trading (Subaccount on non-unified) must have the following permissions:
* Read-write
* Contract - Orders
* Contract - Positions</p>
<p>We do strongly recommend to limit all API keys to the IP you're going to use it from.</p>
<div class="admonition tip">
<p class="admonition-title">Stoploss on Exchange</p>
<p>Bybit (futures only) supports <code>stoploss_on_exchange</code> and uses <code>stop-loss-limit</code> orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange.
On futures, Bybit supports both <code>stop-limit</code> as well as <code>stop-market</code> orders. You can use either <code>"limit"</code> or <code>"market"</code> in the <code>order_types.stoploss</code> configuration setting to decide which type to use.</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:</li>
</ul>
<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>
<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>
<h3 id="advanced-freqtrade-exchange-configuration">Advanced Freqtrade Exchange configuration<a class="headerlink" href="#advanced-freqtrade-exchange-configuration" title="Permanent link">&para;</a></h3>
<p>Advanced options can be configured using the <code>_ft_has_params</code> setting, which will override Defaults and exchange-specific behavior.</p>
<p>Available options are listed in the exchange-class as <code>_ft_has_default</code>.</p>
<p>For example, to test the order type <code>FOK</code> with Kraken, and modify candle limit to 200 (so you only get 200 candles per API call):</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;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;kraken&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;_ft_has_params&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;order_time_in_force&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;GTC&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;FOK&quot;</span><span class="p">],</span>
<span class="w"> </span><span class="nt">&quot;ohlcv_candle_limit&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">200</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="c1">//...</span>
<span class="p">}</span>
</code></pre></div>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Please make sure to fully understand the impacts of these settings before modifying them.</p>
</div>
</article>
</div>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../plotting/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Plotting" rel="prev">
<div class="md-footer__button md-icon">
<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>
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
Previous
</span>
<div class="md-ellipsis">
Plotting
</div>
</div>
</a>
<a href="../data-analysis/" class="md-footer__link md-footer__link--next" aria-label="Next: Jupyter Notebooks" rel="next">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
Jupyter Notebooks
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
</div>
</a>
</nav>
<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>
<!-- Place this tag in your head or just before your close body tag. -->
<script async defer src="https://buttons.github.io/buttons.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
</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": ["content.code.annotate", "search.share", "content.code.copy", "navigation.top", "navigation.footer"], "search": "../assets/javascripts/workers/search.dfff1995.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.78eede0e.min.js"></script>
<script src="../javascripts/config.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</body>
</html>