freqtrade_origin/en/2021.6/installation/index.html

1356 lines
49 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/2021.6/installation/">
<link rel="icon" href="../images/logo.png">
<meta name="generator" content="mkdocs-1.2.1, mkdocs-material-7.1.8">
<title>Linux/MacOS/Raspberry - Freqtrade</title>
<link rel="stylesheet" href="../assets/stylesheets/main.ca7ac06f.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.f1a3b89f.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
<style>:root{--md-text-font-family:"Roboto";--md-code-font-family:"Roboto Mono"}</style>
<link rel="stylesheet" href="../stylesheets/ft.extra.css">
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="blue-grey" data-md-color-accent="tear">
<script>function __prefix(e){return new URL("..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<script>var palette=__get("__palette");if(null!==palette&&"object"==typeof palette.color)for(var key in 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="#installation" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" 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>
<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="M7 10a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2 2 2 0 0 1 2-2m10-3a5 5 0 0 1 5 5 5 5 0 0 1-5 5H7a5 5 0 0 1-5-5 5 5 0 0 1 5-5h10M7 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3h10a3 3 0 0 0 3-3 3 3 0 0 0-3-3H7z"/></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 dark mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 10a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2 2 2 0 0 1 2-2m10-3a5 5 0 0 1 5 5 5 5 0 0 1-5 5H7a5 5 0 0 1-5-5 5 5 0 0 1 5-5h10M7 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3h10a3 3 0 0 0 3-3 3 3 0 0 0-3-3H7z"/></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" data-md-state="active" 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>
<button type="reset" class="md-search__icon md-icon" 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>
</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"></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"><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 id="widget-wrapper">
</div>
<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"><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">
Home
</a>
</li>
<li class="md-nav__item">
<a href="../docker_quickstart/" class="md-nav__link">
Quickstart with Docker
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" checked>
<label class="md-nav__link" for="__nav_3">
Installation
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Installation" data-md-level="1">
<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 md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
Linux/MacOS/Raspberry
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
Linux/MacOS/Raspberry
</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="#information" class="md-nav__link">
Information
</a>
</li>
<li class="md-nav__item">
<a href="#requirements" class="md-nav__link">
Requirements
</a>
<nav class="md-nav" aria-label="Requirements">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#install-guide" class="md-nav__link">
Install guide
</a>
</li>
<li class="md-nav__item">
<a href="#install-code" class="md-nav__link">
Install code
</a>
<nav class="md-nav" aria-label="Install code">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#install-necessary-dependencies" class="md-nav__link">
Install necessary dependencies
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../windows_installation/" class="md-nav__link">
Windows
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../bot-basics/" class="md-nav__link">
Freqtrade Basics
</a>
</li>
<li class="md-nav__item">
<a href="../configuration/" class="md-nav__link">
Configuration
</a>
</li>
<li class="md-nav__item">
<a href="../strategy-customization/" class="md-nav__link">
Strategy Customization
</a>
</li>
<li class="md-nav__item">
<a href="../plugins/" class="md-nav__link">
Plugins
</a>
</li>
<li class="md-nav__item">
<a href="../stoploss/" class="md-nav__link">
Stoploss
</a>
</li>
<li class="md-nav__item">
<a href="../bot-usage/" class="md-nav__link">
Start the bot
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
<label class="md-nav__link" for="__nav_10">
Control the bot
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Control the bot" data-md-level="1">
<label class="md-nav__title" for="__nav_10">
<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">
Telegram
</a>
</li>
<li class="md-nav__item">
<a href="../rest-api/" class="md-nav__link">
REST API & FreqUI
</a>
</li>
<li class="md-nav__item">
<a href="../webhook-config/" class="md-nav__link">
Web Hook
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../data-download/" class="md-nav__link">
Data Downloading
</a>
</li>
<li class="md-nav__item">
<a href="../backtesting/" class="md-nav__link">
Backtesting
</a>
</li>
<li class="md-nav__item">
<a href="../hyperopt/" class="md-nav__link">
Hyperopt
</a>
</li>
<li class="md-nav__item">
<a href="../utils/" class="md-nav__link">
Utility Sub-commands
</a>
</li>
<li class="md-nav__item">
<a href="../plotting/" class="md-nav__link">
Plotting
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_16" type="checkbox" id="__nav_16" >
<label class="md-nav__link" for="__nav_16">
Data Analysis
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Data Analysis" data-md-level="1">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon"></span>
Data Analysis
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../data-analysis/" class="md-nav__link">
Jupyter Notebooks
</a>
</li>
<li class="md-nav__item">
<a href="../strategy_analysis_example/" class="md-nav__link">
Strategy analysis
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../exchanges/" class="md-nav__link">
Exchange-specific Notes
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_18" type="checkbox" id="__nav_18" >
<label class="md-nav__link" for="__nav_18">
Advanced Topics
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Advanced Topics" data-md-level="1">
<label class="md-nav__title" for="__nav_18">
<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">
Advanced Post-installation Tasks
</a>
</li>
<li class="md-nav__item">
<a href="../edge/" class="md-nav__link">
Edge Positioning
</a>
</li>
<li class="md-nav__item">
<a href="../strategy-advanced/" class="md-nav__link">
Advanced Strategy
</a>
</li>
<li class="md-nav__item">
<a href="../advanced-hyperopt/" class="md-nav__link">
Advanced Hyperopt
</a>
</li>
<li class="md-nav__item">
<a href="../sandbox-testing/" class="md-nav__link">
Sandbox Testing
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../faq/" class="md-nav__link">
FAQ
</a>
</li>
<li class="md-nav__item">
<a href="../sql_cheatsheet/" class="md-nav__link">
SQL Cheat-sheet
</a>
</li>
<li class="md-nav__item">
<a href="../updating/" class="md-nav__link">
Updating Freqtrade
</a>
</li>
<li class="md-nav__item">
<a href="../deprecated/" class="md-nav__link">
Deprecated Features
</a>
</li>
<li class="md-nav__item">
<a href="../developer/" class="md-nav__link">
Contributors Guide
</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="#information" class="md-nav__link">
Information
</a>
</li>
<li class="md-nav__item">
<a href="#requirements" class="md-nav__link">
Requirements
</a>
<nav class="md-nav" aria-label="Requirements">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#install-guide" class="md-nav__link">
Install guide
</a>
</li>
<li class="md-nav__item">
<a href="#install-code" class="md-nav__link">
Install code
</a>
<nav class="md-nav" aria-label="Install code">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#install-necessary-dependencies" class="md-nav__link">
Install necessary dependencies
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/freqtrade/freqtrade/edit/master/docs/installation.md" title="Edit this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
</a>
<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>The freqtrade documentation describes various ways to install freqtrade</p>
<ul>
<li><a href="../docker_quickstart/">Docker images</a> (separate page)</li>
<li><a href="#script-installation">Script Installation</a></li>
<li><a href="#manual-installation">Manual Installation</a></li>
<li><a href="#installation-with-conda">Installation with Conda</a></li>
</ul>
<p>Please consider using the prebuilt <a href="../docker_quickstart/">docker images</a> to get started quickly while evaluating how freqtrade works.</p>
<hr />
<h2 id="information">Information<a class="headerlink" href="#information" title="Permanent link">&para;</a></h2>
<p>For Windows installation, please use the <a href="../windows_installation/">windows installation guide</a>.</p>
<p>The easiest way to install and run Freqtrade is to clone the bot Github repository and then run the <code>./setup.sh</code> 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.7 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.<br />
Also, python headers (<code>python&lt;yourversion&gt;-dev</code> / <code>python&lt;yourversion&gt;-devel</code>) must be available for the installation to complete successfully.</p>
</div>
<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>
<hr />
<h2 id="requirements">Requirements<a class="headerlink" href="#requirements" title="Permanent link">&para;</a></h2>
<p>These requirements apply to both <a href="#script-installation">Script Installation</a> and <a href="#manual-installation">Manual Installation</a>.</p>
<h3 id="install-guide">Install guide<a class="headerlink" href="#install-guide" title="Permanent link">&para;</a></h3>
<ul>
<li><a href="http://docs.python-guide.org/en/latest/starting/installation/">Python &gt;= 3.7.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 <a href="#install-ta-lib">below</a>)</li>
</ul>
<h3 id="install-code">Install code<a class="headerlink" href="#install-code" title="Permanent link">&para;</a></h3>
<p>We've included/collected install instructions for Ubuntu, 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.7 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">Debian/Ubuntu</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>
<p>```bash</p>
<h1 id="update-repository">update repository<a class="headerlink" href="#update-repository" title="Permanent link">&para;</a></h1>
<p>sudo apt-get update</p>
<h1 id="install-packages">install packages<a class="headerlink" href="#install-packages" title="Permanent link">&para;</a></h1>
<p>sudo apt install -y python3-pip python3-venv python3-dev python3-pandas git
```</p>
</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>.
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>
<p>```bash
sudo apt-get install python3-venv libatlas-base-dev cmake</p>
<h1 id="use-pywheelsorg-to-speed-up-installation">Use pywheels.org to speed up installation<a class="headerlink" href="#use-pywheelsorg-to-speed-up-installation" title="Permanent link">&para;</a></h1>
<p>sudo echo "[global]\nextra-index-url=<a href="https://www.piwheels.org/simple">https://www.piwheels.org/simple</a>" &gt; tee /etc/pip.conf</p>
<p>git clone <a href="https://github.com/freqtrade/freqtrade.git">https://github.com/freqtrade/freqtrade.git</a>
cd freqtrade</p>
<p>bash setup.sh -i
```</p>
<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.
Due to this, we recommend to use the pre-build docker-image for Raspberry, by following the <a href="../docker_quickstart/">Docker quickstart documentation</a></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>
<hr />
<h2 id="freqtrade-repository">Freqtrade repository<a class="headerlink" href="#freqtrade-repository" title="Permanent link">&para;</a></h2>
<p>Freqtrade is an open source crypto-currency trading bot, whose code is hosted on <code>github.com</code></p>
<p>```bash</p>
<h1 id="download-develop-branch-of-freqtrade-repository">Download <code>develop</code> branch of freqtrade repository<a class="headerlink" href="#download-develop-branch-of-freqtrade-repository" title="Permanent link">&para;</a></h1>
<p>git clone <a href="https://github.com/freqtrade/freqtrade.git">https://github.com/freqtrade/freqtrade.git</a></p>
<h1 id="enter-downloaded-directory">Enter downloaded directory<a class="headerlink" href="#enter-downloaded-directory" title="Permanent link">&para;</a></h1>
<p>cd freqtrade</p>
<h1 id="your-choice-1-novice-user">your choice (1): novice user<a class="headerlink" href="#your-choice-1-novice-user" title="Permanent link">&para;</a></h1>
<p>git checkout stable</p>
<h1 id="your-choice-2-advanced-user">your choice (2): advanced user<a class="headerlink" href="#your-choice-2-advanced-user" title="Permanent link">&para;</a></h1>
<p>git checkout develop
```</p>
<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 (2) <code>develop</code> branch.</p>
<p>You may later switch between branches at any time with the <code>git checkout stable</code>/<code>git checkout develop</code> commands.</p>
<hr />
<h2 id="script-installation">Script Installation<a class="headerlink" href="#script-installation" title="Permanent link">&para;</a></h2>
<p>First of the ways to install Freqtrade, is to use provided the Linux/MacOS <code>./setup.sh</code> script, which install all dependencies and help you configure the bot.</p>
<p>Make sure you fulfill the <a href="#requirements">Requirements</a> and have downloaded the <a href="#freqtrade-repository">Freqtrade repository</a>.</p>
<h3 id="use-setupsh-install-linuxmacos">Use /setup.sh -install (Linux/MacOS)<a class="headerlink" href="#use-setupsh-install-linuxmacos" title="Permanent link">&para;</a></h3>
<p>If you are on Debian, Ubuntu or MacOS, freqtrade provides the script to install freqtrade.</p>
<p>```bash</p>
<h1 id="-install-install-freqtrade-from-scratch">--install, Install freqtrade from scratch<a class="headerlink" href="#-install-install-freqtrade-from-scratch" title="Permanent link">&para;</a></h1>
<p>./setup.sh -i
```</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> to activate your virtual environment.</p>
<p>```bash</p>
<h1 id="then-activate-your-env">then activate your .env<a class="headerlink" href="#then-activate-your-env" title="Permanent link">&para;</a></h1>
<p>source ./.env/bin/activate
```</p>
<h3 id="congratulations">Congratulations<a class="headerlink" href="#congratulations" title="Permanent link">&para;</a></h3>
<p><a href="#you-are-ready">You are ready</a>, and run the bot</p>
<h3 id="other-options-of-setupsh-script">Other options of /setup.sh script<a class="headerlink" href="#other-options-of-setupsh-script" title="Permanent link">&para;</a></h3>
<p>You can as well update, configure and reset the codebase of your bot with <code>./script.sh</code></p>
<p>```bash</p>
<h1 id="-update-command-git-pull-to-update">--update, Command git pull to update.<a class="headerlink" href="#-update-command-git-pull-to-update" title="Permanent link">&para;</a></h1>
<p>./setup.sh -u</p>
<h1 id="-reset-hard-reset-your-developstable-branch">--reset, Hard reset your develop/stable branch.<a class="headerlink" href="#-reset-hard-reset-your-developstable-branch" title="Permanent link">&para;</a></h1>
<p>./setup.sh -r
```</p>
<p>```
<strong> --install </strong></p>
<p>With this option, the script will install the bot and most dependencies:
You will need to have git and python3.7+ 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 and <code>--reset</code></p>
<p><strong> --update </strong></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><strong> --reset </strong></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>
<hr />
<h2 id="manual-installation">Manual Installation<a class="headerlink" href="#manual-installation" title="Permanent link">&para;</a></h2>
<p>Make sure you fulfill the <a href="#requirements">Requirements</a> and have downloaded the <a href="#freqtrade-repository">Freqtrade repository</a>.</p>
<h3 id="install-ta-lib">Install TA-Lib<a class="headerlink" href="#install-ta-lib" title="Permanent link">&para;</a></h3>
<h4 id="ta-lib-script-installation">TA-Lib script installation<a class="headerlink" href="#ta-lib-script-installation" title="Permanent link">&para;</a></h4>
<p><code>bash
sudo ./build_helpers/install_ta-lib.sh</code></p>
<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>
<p><code>bash
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar xvzf ta-lib-0.4.0-src.tar.gz
cd ta-lib
sed -i.bak "s|0.00000001|0.000000000000000001 |g" src/ta_func/ta_utility.h
./configure --prefix=/usr/local
make
sudo make install
cd ..
rm -rf ./ta-lib*</code></p>
<h4 id="setup-python-virtual-environment-virtualenv">Setup Python virtual environment (virtualenv)<a class="headerlink" href="#setup-python-virtual-environment-virtualenv" title="Permanent link">&para;</a></h4>
<p>You will run freqtrade in separated <code>virtual environment</code></p>
<p>```bash</p>
<h1 id="create-virtualenv-in-directory-freqtradeenv">create virtualenv in directory /freqtrade/.env<a class="headerlink" href="#create-virtualenv-in-directory-freqtradeenv" title="Permanent link">&para;</a></h1>
<p>python3 -m venv .env</p>
<h1 id="run-virtualenv">run virtualenv<a class="headerlink" href="#run-virtualenv" title="Permanent link">&para;</a></h1>
<p>source .env/bin/activate
```</p>
<h4 id="install-python-dependencies">Install python dependencies<a class="headerlink" href="#install-python-dependencies" title="Permanent link">&para;</a></h4>
<p><code>bash
python3 -m pip install --upgrade pip
python3 -m pip install -e .</code></p>
<h3 id="congratulations_1">Congratulations<a class="headerlink" href="#congratulations_1" title="Permanent link">&para;</a></h3>
<p><a href="#you-are-ready">You are ready</a>, and run the bot</p>
<h4 id="optional-post-installation-tasks">(Optional) Post-installation Tasks<a class="headerlink" href="#optional-post-installation-tasks" title="Permanent link">&para;</a></h4>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If you run the bot on a server, you should consider using <a href="../docker_quickstart/">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>
</div>
<p>On Linux with software suite <code>systemd</code>, as an optional post-installation task, you may wish to setup the bot to run as a <code>systemd service</code> 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 />
<h2 id="installation-with-conda">Installation with Conda<a class="headerlink" href="#installation-with-conda" title="Permanent link">&para;</a></h2>
<p>Freqtrade can also be installed with Miniconda or Anaconda. We recommend using Miniconda as it's installation footprint is smaller. Conda will automatically prepare and manage the extensive library-dependencies of the Freqtrade program.</p>
<h3 id="what-is-conda">What is Conda?<a class="headerlink" href="#what-is-conda" title="Permanent link">&para;</a></h3>
<p>Conda is a package, dependency and environment manager for multiple programming languages: <a href="https://docs.conda.io/projects/conda/en/latest/index.html">conda docs</a></p>
<h3 id="installation-with-conda_1">Installation with conda<a class="headerlink" href="#installation-with-conda_1" title="Permanent link">&para;</a></h3>
<h4 id="install-conda">Install Conda<a class="headerlink" href="#install-conda" title="Permanent link">&para;</a></h4>
<p><a href="https://conda.io/projects/conda/en/latest/user-guide/install/linux.html#install-linux-silent">Installing on linux</a></p>
<p><a href="https://conda.io/projects/conda/en/latest/user-guide/install/windows.html">Installing on windows</a></p>
<p>Answer all questions. After installation, it is mandatory to turn your terminal OFF and ON again.</p>
<h4 id="freqtrade-download">Freqtrade download<a class="headerlink" href="#freqtrade-download" title="Permanent link">&para;</a></h4>
<p>Download and install freqtrade.</p>
<p>```bash</p>
<h1 id="download-freqtrade">download freqtrade<a class="headerlink" href="#download-freqtrade" title="Permanent link">&para;</a></h1>
<p>git clone <a href="https://github.com/freqtrade/freqtrade.git">https://github.com/freqtrade/freqtrade.git</a></p>
<h1 id="enter-downloaded-directory-freqtrade">enter downloaded directory 'freqtrade'<a class="headerlink" href="#enter-downloaded-directory-freqtrade" title="Permanent link">&para;</a></h1>
<p>cd freqtrade <br />
```</p>
<h4 id="freqtrade-install-conda-environment">Freqtrade install: Conda Environment<a class="headerlink" href="#freqtrade-install-conda-environment" title="Permanent link">&para;</a></h4>
<p>Prepare conda-freqtrade environment, using file <code>environment.yml</code>, which exist in main freqtrade directory</p>
<p><code>bash
conda env create -n freqtrade-conda -f environment.yml</code></p>
<div class="admonition note">
<p class="admonition-title">Creating Conda Environment</p>
<p>The conda command <code>create -n</code> automatically installs all nested dependencies for the selected libraries, general structure of installation command is:</p>
<p>```bash</p>
<h1 id="choose-your-own-packages">choose your own packages<a class="headerlink" href="#choose-your-own-packages" title="Permanent link">&para;</a></h1>
<p>conda env create -n [name of the environment] [python version] [packages]</p>
<h1 id="point-to-file-with-packages">point to file with packages<a class="headerlink" href="#point-to-file-with-packages" title="Permanent link">&para;</a></h1>
<p>conda env create -n [name of the environment] -f [file]
```</p>
</div>
<h4 id="enterexit-freqtrade-conda-environment">Enter/exit freqtrade-conda environment<a class="headerlink" href="#enterexit-freqtrade-conda-environment" title="Permanent link">&para;</a></h4>
<p>To check available environments, type</p>
<p><code>bash
conda env list</code></p>
<p>Enter installed environment</p>
<p>```bash</p>
<h1 id="enter-conda-environment">enter conda environment<a class="headerlink" href="#enter-conda-environment" title="Permanent link">&para;</a></h1>
<p>conda activate freqtrade-conda</p>
<h1 id="exit-conda-environment-dont-do-it-now">exit conda environment - don't do it now<a class="headerlink" href="#exit-conda-environment-dont-do-it-now" title="Permanent link">&para;</a></h1>
<p>conda deactivate
```</p>
<p>Install last python dependencies with pip</p>
<p><code>bash
python3 -m pip install --upgrade pip
python3 -m pip install -e .</code></p>
<h3 id="congratulations_2">Congratulations<a class="headerlink" href="#congratulations_2" title="Permanent link">&para;</a></h3>
<p><a href="#you-are-ready">You are ready</a>, and run the bot</p>
<h3 id="important-shortcuts">Important shortcuts<a class="headerlink" href="#important-shortcuts" title="Permanent link">&para;</a></h3>
<p>```bash</p>
<h1 id="list-installed-conda-environments">list installed conda environments<a class="headerlink" href="#list-installed-conda-environments" title="Permanent link">&para;</a></h1>
<p>conda env list</p>
<h1 id="activate-base-environment">activate base environment<a class="headerlink" href="#activate-base-environment" title="Permanent link">&para;</a></h1>
<p>conda activate</p>
<h1 id="activate-freqtrade-conda-environment">activate freqtrade-conda environment<a class="headerlink" href="#activate-freqtrade-conda-environment" title="Permanent link">&para;</a></h1>
<p>conda activate freqtrade-conda</p>
<h1 id="deactivate-any-conda-environments">deactivate any conda environments<a class="headerlink" href="#deactivate-any-conda-environments" title="Permanent link">&para;</a></h1>
<p>conda deactivate <br />
```</p>
<h3 id="further-info-on-anaconda">Further info on anaconda<a class="headerlink" href="#further-info-on-anaconda" title="Permanent link">&para;</a></h3>
<div class="admonition info">
<p class="admonition-title">New heavy packages</p>
<p>It may happen that creating a new Conda environment, populated with selected packages at the moment of creation takes less time than installing a large, heavy library or application, into previously set environment.</p>
</div>
<div class="admonition warning">
<p class="admonition-title">pip install within conda</p>
<p>The documentation of conda says that pip should NOT be used within conda, because internal problems can occur.
However, they are rare. <a href="https://www.anaconda.com/blog/using-pip-in-a-conda-environment">Anaconda Blogpost</a></p>
<p>Nevertheless, that is why, the <code>conda-forge</code> channel is preferred:</p>
<ul>
<li>more libraries are available (less need for <code>pip</code>)</li>
<li><code>conda-forge</code> works better with <code>pip</code></li>
<li>the libraries are newer</li>
</ul>
</div>
<p>Happy trading!</p>
<hr />
<h2 id="you-are-ready">You are ready<a class="headerlink" href="#you-are-ready" title="Permanent link">&para;</a></h2>
<p>You've made it this far, so you have successfully installed freqtrade.</p>
<h3 id="initialize-the-configuration">Initialize the configuration<a class="headerlink" href="#initialize-the-configuration" title="Permanent link">&para;</a></h3>
<p>```bash</p>
<h1 id="step-1-initialize-user-folder">Step 1 - Initialize user folder<a class="headerlink" href="#step-1-initialize-user-folder" title="Permanent link">&para;</a></h1>
<p>freqtrade create-userdir --userdir user_data</p>
<h1 id="step-2-create-a-new-configuration-file">Step 2 - Create a new configuration file<a class="headerlink" href="#step-2-create-a-new-configuration-file" title="Permanent link">&para;</a></h1>
<p>freqtrade new-config --config config.json
```</p>
<p>You are ready to run, read <a href="../configuration/">Bot Configuration</a>, remember to start with <code>dry_run: True</code> and verify that everything is working.</p>
<p>To learn how to setup your configuration, please refer to the <a href="../configuration/">Bot Configuration</a> documentation page.</p>
<h3 id="start-the-bot">Start the Bot<a class="headerlink" href="#start-the-bot" title="Permanent link">&para;</a></h3>
<p><code>bash
freqtrade trade --config config.json --strategy SampleStrategy</code></p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>You should read through the rest of the documentation, backtest the strategy you're going to use, and use dry-run before enabling trading with real money.</p>
</div>
<hr />
<h2 id="troubleshooting">Troubleshooting<a class="headerlink" href="#troubleshooting" title="Permanent link">&para;</a></h2>
<h3 id="common-problem-command-not-found">Common problem: "command not found"<a class="headerlink" href="#common-problem-command-not-found" title="Permanent link">&para;</a></h3>
<p>If you used (1)<code>Script</code> or (2)<code>Manual</code> installation, you need to run the bot in virtual environment. If you get error as below, make sure venv is active.</p>
<p>```bash</p>
<h1 id="if">if:<a class="headerlink" href="#if" title="Permanent link">&para;</a></h1>
<p>bash: freqtrade: command not found</p>
<h1 id="then-activate-your-env_1">then activate your .env<a class="headerlink" href="#then-activate-your-env_1" title="Permanent link">&para;</a></h1>
<p>source ./.env/bin/activate
```</p>
<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>
<p><code>bash
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg</code></p>
<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>
<h3 id="macos-installation-error-with-python-39">MacOS installation error with python 3.9<a class="headerlink" href="#macos-installation-error-with-python-39" title="Permanent link">&para;</a></h3>
<p>When using python 3.9 on macOS, it's currently necessary to install some os-level modules to allow dependencies to compile.
The errors you'll see happen during installation and are related to the installation of <code>tables</code> or <code>blosc</code>.</p>
<p>You can install the necessary libraries with the following command:</p>
<p><code>bash
brew install hdf5 c-blosc</code></p>
<p>After this, please run the installation (script) again.</p>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer">
<a href="../docker_quickstart/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Quickstart with Docker" 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">
<div class="md-ellipsis">
<span class="md-footer__direction">
Previous
</span>
Quickstart with Docker
</div>
</div>
</a>
<a href="../windows_installation/" class="md-footer__link md-footer__link--next" aria-label="Next: Windows" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
Next
</span>
Windows
</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-footer-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>
<!-- Load binance SDK -->
<script async defer src="https://public.bnbstatic.com/static/js/broker-sdk/broker-sdk@1.0.0.min.js"></script>
<script>
window.onload = function () {
var sidebar = document.getElementById('widget-wrapper')
var newDiv = document.createElement("div");
newDiv.id = "widget";
try {
sidebar.prepend(newDiv);
window.binanceBrokerPortalSdk.initBrokerSDK('#widget', {
apiHost: 'https://www.binance.com',
brokerId: 'R4BD3S82',
slideTime: 4e4,
});
} catch(err) {
console.log(err)
}
}
</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": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../assets/javascripts/workers/search.b0710199.min.js", "version": {"provider": "mike"}}</script>
<script src="../assets/javascripts/bundle.76f349be.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>