freqtrade_origin/en/2020.10/installation/index.html

1671 lines
43 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="../docker/">
<link rel="next" href="../windows_installation/">
<link rel="icon" href="../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.30">
<title>Linux/MacOS/Raspberry - 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="#installation" 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">
Linux/MacOS/Raspberry
</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_quickstart/" class="md-nav__link">
<span class="md-ellipsis">
Quickstart with Docker
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<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="true">
<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="../docker/" class="md-nav__link">
<span class="md-ellipsis">
Docker without docker-compose
</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">
Linux/MacOS/Raspberry
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Linux/MacOS/Raspberry
</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="#prerequisite" class="md-nav__link">
<span class="md-ellipsis">
Prerequisite
</span>
</a>
<nav class="md-nav" aria-label="Prerequisite">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#requirements" class="md-nav__link">
<span class="md-ellipsis">
Requirements
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#quick-start" class="md-nav__link">
<span class="md-ellipsis">
Quick start
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#easy-installation-script-linuxmacos" class="md-nav__link">
<span class="md-ellipsis">
Easy Installation Script (Linux/MacOS)
</span>
</a>
<nav class="md-nav" aria-label="Easy Installation Script (Linux/MacOS)">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#activate-your-virtual-environment" class="md-nav__link">
<span class="md-ellipsis">
Activate your virtual environment
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#custom-installation" class="md-nav__link">
<span class="md-ellipsis">
Custom Installation
</span>
</a>
<nav class="md-nav" aria-label="Custom Installation">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#install-necessary-dependencies" class="md-nav__link">
<span class="md-ellipsis">
Install necessary dependencies
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#common" class="md-nav__link">
<span class="md-ellipsis">
Common
</span>
</a>
<nav class="md-nav" aria-label="Common">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#1-install-ta-lib" class="md-nav__link">
<span class="md-ellipsis">
1. Install TA-Lib
</span>
</a>
<nav class="md-nav" aria-label="1. Install TA-Lib">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#ta-lib-manual-installation" class="md-nav__link">
<span class="md-ellipsis">
TA-Lib manual installation
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#2-setup-your-python-virtual-environment-virtualenv" class="md-nav__link">
<span class="md-ellipsis">
2. Setup your Python virtual environment (virtualenv)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#3-install-freqtrade" class="md-nav__link">
<span class="md-ellipsis">
3. Install Freqtrade
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#4-install-python-dependencies" class="md-nav__link">
<span class="md-ellipsis">
4. Install python dependencies
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#5-initialize-the-configuration" class="md-nav__link">
<span class="md-ellipsis">
5. Initialize the configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#6-run-the-bot" class="md-nav__link">
<span class="md-ellipsis">
6. Run the Bot
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#7-optional-post-installation-tasks" class="md-nav__link">
<span class="md-ellipsis">
7. (Optional) Post-installation Tasks
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#anaconda" class="md-nav__link">
<span class="md-ellipsis">
Anaconda
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#troubleshooting" class="md-nav__link">
<span class="md-ellipsis">
Troubleshooting
</span>
</a>
<nav class="md-nav" aria-label="Troubleshooting">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#macos-installation-error" class="md-nav__link">
<span class="md-ellipsis">
MacOS installation error
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</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="../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_9" >
<label class="md-nav__link" for="__nav_9" id="__nav_9_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_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<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">
<a href="../exchanges/" class="md-nav__link">
<span class="md-ellipsis">
Exchange-specific Notes
</span>
</a>
</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_17" >
<label class="md-nav__link" for="__nav_17" id="__nav_17_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_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<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="#prerequisite" class="md-nav__link">
<span class="md-ellipsis">
Prerequisite
</span>
</a>
<nav class="md-nav" aria-label="Prerequisite">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#requirements" class="md-nav__link">
<span class="md-ellipsis">
Requirements
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#quick-start" class="md-nav__link">
<span class="md-ellipsis">
Quick start
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#easy-installation-script-linuxmacos" class="md-nav__link">
<span class="md-ellipsis">
Easy Installation Script (Linux/MacOS)
</span>
</a>
<nav class="md-nav" aria-label="Easy Installation Script (Linux/MacOS)">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#activate-your-virtual-environment" class="md-nav__link">
<span class="md-ellipsis">
Activate your virtual environment
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#custom-installation" class="md-nav__link">
<span class="md-ellipsis">
Custom Installation
</span>
</a>
<nav class="md-nav" aria-label="Custom Installation">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#install-necessary-dependencies" class="md-nav__link">
<span class="md-ellipsis">
Install necessary dependencies
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#common" class="md-nav__link">
<span class="md-ellipsis">
Common
</span>
</a>
<nav class="md-nav" aria-label="Common">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#1-install-ta-lib" class="md-nav__link">
<span class="md-ellipsis">
1. Install TA-Lib
</span>
</a>
<nav class="md-nav" aria-label="1. Install TA-Lib">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#ta-lib-manual-installation" class="md-nav__link">
<span class="md-ellipsis">
TA-Lib manual installation
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#2-setup-your-python-virtual-environment-virtualenv" class="md-nav__link">
<span class="md-ellipsis">
2. Setup your Python virtual environment (virtualenv)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#3-install-freqtrade" class="md-nav__link">
<span class="md-ellipsis">
3. Install Freqtrade
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#4-install-python-dependencies" class="md-nav__link">
<span class="md-ellipsis">
4. Install python dependencies
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#5-initialize-the-configuration" class="md-nav__link">
<span class="md-ellipsis">
5. Initialize the configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#6-run-the-bot" class="md-nav__link">
<span class="md-ellipsis">
6. Run the Bot
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#7-optional-post-installation-tasks" class="md-nav__link">
<span class="md-ellipsis">
7. (Optional) Post-installation Tasks
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#anaconda" class="md-nav__link">
<span class="md-ellipsis">
Anaconda
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#troubleshooting" class="md-nav__link">
<span class="md-ellipsis">
Troubleshooting
</span>
</a>
<nav class="md-nav" aria-label="Troubleshooting">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#macos-installation-error" class="md-nav__link">
<span class="md-ellipsis">
MacOS installation error
</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="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h1>
<p>This page explains how to prepare your environment for running the bot.</p>
<p>Please consider using the prebuilt <a href="../docker/">docker images</a> to get started quickly while trying out freqtrade evaluating how it operates.</p>
<h2 id="prerequisite">Prerequisite<a class="headerlink" href="#prerequisite" title="Permanent link">&para;</a></h2>
<h3 id="requirements">Requirements<a class="headerlink" href="#requirements" title="Permanent link">&para;</a></h3>
<p>Click each one for install guide:</p>
<ul>
<li><a href="http://docs.python-guide.org/en/latest/starting/installation/">Python &gt;= 3.6.x</a></li>
<li><a href="https://pip.pypa.io/en/stable/installing/">pip</a></li>
<li><a href="https://git-scm.com/book/en/v2/Getting-Started-Installing-Git">git</a></li>
<li><a href="https://virtualenv.pypa.io/en/stable/installation.html">virtualenv</a> (Recommended)</li>
<li><a href="https://mrjbq7.github.io/ta-lib/install.html">TA-Lib</a> (install instructions below)</li>
</ul>
<p>We also recommend a <a href="../telegram-usage/#setup-your-telegram-bot">Telegram bot</a>, which is optional but recommended.</p>
<div class="admonition warning">
<p class="admonition-title">Up-to-date clock</p>
<p>The clock on the system running the bot must be accurate, synchronized to a NTP server frequently enough to avoid problems with communication to the exchanges.</p>
</div>
<h2 id="quick-start">Quick start<a class="headerlink" href="#quick-start" title="Permanent link">&para;</a></h2>
<p>Freqtrade provides the Linux/MacOS Easy Installation script to install all dependencies and help you configure the bot.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Windows installation is explained <a href="#windows">here</a>.</p>
</div>
<p>The easiest way to install and run Freqtrade is to clone the bot Github repository and then run the Easy Installation script, if it's available for your platform.</p>
<div class="admonition note">
<p class="admonition-title">Version considerations</p>
<p>When cloning the repository the default working branch has the name <code>develop</code>. This branch contains all last features (can be considered as relatively stable, thanks to automated tests). The <code>stable</code> branch contains the code of the last release (done usually once per month on an approximately one week old snapshot of the <code>develop</code> branch to prevent packaging bugs, so potentially it's more stable).</p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Python3.6 or higher and the corresponding <code>pip</code> are assumed to be available. The install-script will warn you and stop if that's not the case. <code>git</code> is also needed to clone the Freqtrade repository.</p>
</div>
<p>This can be achieved with the following commands:</p>
<div class="highlight"><pre><span></span><code>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/freqtrade/freqtrade.git
<span class="nb">cd</span><span class="w"> </span>freqtrade
<span class="c1"># git checkout stable # Optional, see (1)</span>
./setup.sh<span class="w"> </span>--install
</code></pre></div>
<p>(1) This command switches the cloned repository to the use of the <code>stable</code> branch. It's not needed if you wish to stay on the <code>develop</code> branch. You may later switch between branches at any time with the <code>git checkout stable</code>/<code>git checkout develop</code> commands.</p>
<h2 id="easy-installation-script-linuxmacos">Easy Installation Script (Linux/MacOS)<a class="headerlink" href="#easy-installation-script-linuxmacos" title="Permanent link">&para;</a></h2>
<p>If you are on Debian, Ubuntu or MacOS Freqtrade provides the script to install, update, configure and reset the codebase of your bot.</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>./setup.sh
usage:
<span class="w"> </span>-i,--install<span class="w"> </span>Install<span class="w"> </span>freqtrade<span class="w"> </span>from<span class="w"> </span>scratch
<span class="w"> </span>-u,--update<span class="w"> </span>Command<span class="w"> </span>git<span class="w"> </span>pull<span class="w"> </span>to<span class="w"> </span>update.
<span class="w"> </span>-r,--reset<span class="w"> </span>Hard<span class="w"> </span>reset<span class="w"> </span>your<span class="w"> </span>develop/stable<span class="w"> </span>branch.
<span class="w"> </span>-c,--config<span class="w"> </span>Easy<span class="w"> </span>config<span class="w"> </span>generator<span class="w"> </span><span class="o">(</span>Will<span class="w"> </span>override<span class="w"> </span>your<span class="w"> </span>existing<span class="w"> </span>file<span class="o">)</span>.
</code></pre></div>
<p>** --install **</p>
<p>With this option, the script will install the bot and most dependencies:
You will need to have git and python3.6+ installed beforehand for this to work.</p>
<ul>
<li>Mandatory software as: <code>ta-lib</code></li>
<li>Setup your virtualenv under <code>.env/</code></li>
</ul>
<p>This option is a combination of installation tasks, <code>--reset</code> and <code>--config</code>.</p>
<p>** --update **</p>
<p>This option will pull the last version of your current branch and update your virtualenv. Run the script with this option periodically to update your bot.</p>
<p>** --reset **</p>
<p>This option will hard reset your branch (only if you are on either <code>stable</code> or <code>develop</code>) and recreate your virtualenv.</p>
<p>** --config **</p>
<p>DEPRECATED - use <code>freqtrade new-config -c config.json</code> instead.</p>
<h3 id="activate-your-virtual-environment">Activate your virtual environment<a class="headerlink" href="#activate-your-virtual-environment" title="Permanent link">&para;</a></h3>
<p>Each time you open a new terminal, you must run <code>source .env/bin/activate</code>.</p>
<hr />
<h2 id="custom-installation">Custom Installation<a class="headerlink" href="#custom-installation" title="Permanent link">&para;</a></h2>
<p>We've included/collected install instructions for Ubuntu 16.04, MacOS, and Windows. These are guidelines and your success may vary with other distros.
OS Specific steps are listed first, the <a href="#common">Common</a> section below is necessary for all systems.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Python3.6 or higher and the corresponding pip are assumed to be available.</p>
</div>
<div class="tabbed-set" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><label for="__tabbed_1_1">Ubuntu 16.04</label><div class="tabbed-content">
<h4 id="install-necessary-dependencies">Install necessary dependencies<a class="headerlink" href="#install-necessary-dependencies" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>apt-get<span class="w"> </span>update
sudo<span class="w"> </span>apt-get<span class="w"> </span>install<span class="w"> </span>build-essential<span class="w"> </span>git
</code></pre></div>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">RaspberryPi/Raspbian</label><div class="tabbed-content">
<p>The following assumes the latest <a href="https://www.raspberrypi.org/downloads/raspbian/">Raspbian Buster lite image</a> from at least September 2019.
This image comes with python3.7 preinstalled, making it easy to get freqtrade up and running.</p>
<p>Tested using a Raspberry Pi 3 with the Raspbian Buster lite image, all updates applied.</p>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>apt-get<span class="w"> </span>install<span class="w"> </span>python3-venv<span class="w"> </span>libatlas-base-dev
git<span class="w"> </span>clone<span class="w"> </span>https://github.com/freqtrade/freqtrade.git
<span class="nb">cd</span><span class="w"> </span>freqtrade
bash<span class="w"> </span>setup.sh<span class="w"> </span>-i
</code></pre></div>
<div class="admonition note">
<p class="admonition-title">Installation duration</p>
<p>Depending on your internet speed and the Raspberry Pi version, installation can take multiple hours to complete.</p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The above does not install hyperopt dependencies. To install these, please use <code>python3 -m pip install -e .[hyperopt]</code>.
We do not advise to run hyperopt on a Raspberry Pi, since this is a very resource-heavy operation, which should be done on powerful machine.</p>
</div>
</div>
</div>
<h3 id="common">Common<a class="headerlink" href="#common" title="Permanent link">&para;</a></h3>
<h4 id="1-install-ta-lib">1. Install TA-Lib<a class="headerlink" href="#1-install-ta-lib" title="Permanent link">&para;</a></h4>
<p>Use the provided ta-lib installation script</p>
<div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>./build_helpers/install_ta-lib.sh
</code></pre></div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This will use the ta-lib tar.gz included in this repository.</p>
</div>
<h5 id="ta-lib-manual-installation">TA-Lib manual installation<a class="headerlink" href="#ta-lib-manual-installation" title="Permanent link">&para;</a></h5>
<p>Official webpage: <a href="https://mrjbq7.github.io/ta-lib/install.html">https://mrjbq7.github.io/ta-lib/install.html</a></p>
<div class="highlight"><pre><span></span><code>wget<span class="w"> </span>http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar<span class="w"> </span>xvzf<span class="w"> </span>ta-lib-0.4.0-src.tar.gz
<span class="nb">cd</span><span class="w"> </span>ta-lib
sed<span class="w"> </span>-i.bak<span class="w"> </span><span class="s2">&quot;s|0.00000001|0.000000000000000001 |g&quot;</span><span class="w"> </span>src/ta_func/ta_utility.h
./configure<span class="w"> </span>--prefix<span class="o">=</span>/usr/local
make
sudo<span class="w"> </span>make<span class="w"> </span>install
<span class="nb">cd</span><span class="w"> </span>..
rm<span class="w"> </span>-rf<span class="w"> </span>./ta-lib*
</code></pre></div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>An already downloaded version of ta-lib is included in the repository, as the sourceforge.net source seems to have problems frequently.</p>
</div>
<h4 id="2-setup-your-python-virtual-environment-virtualenv">2. Setup your Python virtual environment (virtualenv)<a class="headerlink" href="#2-setup-your-python-virtual-environment-virtualenv" title="Permanent link">&para;</a></h4>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This step is optional but strongly recommended to keep your system organized</p>
</div>
<div class="highlight"><pre><span></span><code>python3<span class="w"> </span>-m<span class="w"> </span>venv<span class="w"> </span>.env
<span class="nb">source</span><span class="w"> </span>.env/bin/activate
</code></pre></div>
<h4 id="3-install-freqtrade">3. Install Freqtrade<a class="headerlink" href="#3-install-freqtrade" title="Permanent link">&para;</a></h4>
<p>Clone the git repository:</p>
<div class="highlight"><pre><span></span><code>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/freqtrade/freqtrade.git
<span class="nb">cd</span><span class="w"> </span>freqtrade
git<span class="w"> </span>checkout<span class="w"> </span>stable
</code></pre></div>
<h4 id="4-install-python-dependencies">4. Install python dependencies<a class="headerlink" href="#4-install-python-dependencies" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code>python3<span class="w"> </span>-m<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>--upgrade<span class="w"> </span>pip
python3<span class="w"> </span>-m<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>-e<span class="w"> </span>.
</code></pre></div>
<h4 id="5-initialize-the-configuration">5. Initialize the configuration<a class="headerlink" href="#5-initialize-the-configuration" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code><span class="c1"># Initialize the user_directory</span>
freqtrade<span class="w"> </span>create-userdir<span class="w"> </span>--userdir<span class="w"> </span>user_data/
<span class="c1"># Create a new configuration file</span>
freqtrade<span class="w"> </span>new-config<span class="w"> </span>--config<span class="w"> </span>config.json
</code></pre></div>
<blockquote>
<p><em>To edit the config please refer to <a href="../configuration/">Bot Configuration</a>.</em></p>
</blockquote>
<h4 id="6-run-the-bot">6. Run the Bot<a class="headerlink" href="#6-run-the-bot" title="Permanent link">&para;</a></h4>
<p>If this is the first time you run the bot, ensure you are running it in Dry-run <code>"dry_run": true,</code> otherwise it will start to buy and sell coins.</p>
<div class="highlight"><pre><span></span><code>freqtrade<span class="w"> </span>trade<span class="w"> </span>-c<span class="w"> </span>config.json
</code></pre></div>
<p><em>Note</em>: If you run the bot on a server, you should consider using <a href="../docker/">Docker</a> or a terminal multiplexer like <code>screen</code> or <a href="https://en.wikipedia.org/wiki/Tmux"><code>tmux</code></a> to avoid that the bot is stopped on logout.</p>
<h4 id="7-optional-post-installation-tasks">7. (Optional) Post-installation Tasks<a class="headerlink" href="#7-optional-post-installation-tasks" title="Permanent link">&para;</a></h4>
<p>On Linux, as an optional post-installation task, you may wish to setup the bot to run as a <code>systemd</code> service or configure it to send the log messages to the <code>syslog</code>/<code>rsyslog</code> or <code>journald</code> daemons. See <a href="../advanced-setup/#advanced-logging">Advanced Logging</a> for details.</p>
<hr />
<h3 id="anaconda">Anaconda<a class="headerlink" href="#anaconda" title="Permanent link">&para;</a></h3>
<p>Freqtrade can also be installed using Anaconda (or Miniconda).</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This requires the <a href="#1-install-ta-lib">ta-lib</a> C-library to be installed first. See below.</p>
</div>
<div class="highlight"><pre><span></span><code>conda<span class="w"> </span>env<span class="w"> </span>create<span class="w"> </span>-f<span class="w"> </span>environment.yml
</code></pre></div>
<hr />
<h2 id="troubleshooting">Troubleshooting<a class="headerlink" href="#troubleshooting" title="Permanent link">&para;</a></h2>
<h3 id="macos-installation-error">MacOS installation error<a class="headerlink" href="#macos-installation-error" title="Permanent link">&para;</a></h3>
<p>Newer versions of MacOS may have installation failed with errors like <code>error: command 'g++' failed with exit status 1</code>.</p>
<p>This error will require explicit installation of the SDK Headers, which are not installed by default in this version of MacOS.
For MacOS 10.14, this can be accomplished with the below command.</p>
<div class="highlight"><pre><span></span><code>open<span class="w"> </span>/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
</code></pre></div>
<p>If this file is inexistent, then you're probably on a different version of MacOS, so you may need to consult the internet for specific resolution details.</p>
<hr />
<p>Now you have an environment ready, the next step is
<a href="../configuration/">Bot Configuration</a>.</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>
<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>