2018-01-02 02:17:10 +00:00
|
|
|
# SQL Helper
|
|
|
|
This page constains some help if you want to edit your sqlite db.
|
|
|
|
|
|
|
|
## Install sqlite3
|
|
|
|
**Ubuntu/Debian installation**
|
|
|
|
```bash
|
|
|
|
sudo apt-get install sqlite3
|
|
|
|
```
|
|
|
|
|
|
|
|
## Open the DB
|
|
|
|
```bash
|
|
|
|
sqlite3
|
|
|
|
.open <filepath>
|
|
|
|
```
|
|
|
|
|
|
|
|
## Table structure
|
|
|
|
|
|
|
|
### List tables
|
|
|
|
```bash
|
|
|
|
.tables
|
|
|
|
```
|
|
|
|
|
|
|
|
### Display table structure
|
|
|
|
```bash
|
|
|
|
.schema <table_name>
|
|
|
|
```
|
|
|
|
|
|
|
|
### Trade table structure
|
|
|
|
```sql
|
|
|
|
CREATE TABLE trades (
|
|
|
|
id INTEGER NOT NULL,
|
|
|
|
exchange VARCHAR NOT NULL,
|
|
|
|
pair VARCHAR NOT NULL,
|
|
|
|
is_open BOOLEAN NOT NULL,
|
|
|
|
fee FLOAT NOT NULL,
|
|
|
|
open_rate FLOAT,
|
|
|
|
close_rate FLOAT,
|
|
|
|
close_profit FLOAT,
|
|
|
|
stake_amount FLOAT NOT NULL,
|
|
|
|
amount FLOAT,
|
|
|
|
open_date DATETIME NOT NULL,
|
|
|
|
close_date DATETIME,
|
|
|
|
open_order_id VARCHAR,
|
|
|
|
PRIMARY KEY (id),
|
|
|
|
CHECK (is_open IN (0, 1))
|
|
|
|
);
|
|
|
|
```
|
|
|
|
|
|
|
|
## Get all trades in the table
|
|
|
|
|
|
|
|
```sql
|
|
|
|
SELECT * FROM trades;
|
|
|
|
```
|
|
|
|
|
|
|
|
## Fix trade still open after a /forcesell
|
|
|
|
|
|
|
|
```sql
|
|
|
|
UPDATE trades
|
|
|
|
SET is_open=0, close_date=<close_date>, close_rate=<close_rate>, close_profit=close_rate/open_rate
|
|
|
|
WHERE id=<trade_ID_to_update>;
|
|
|
|
```
|
|
|
|
|
|
|
|
**Example:**
|
|
|
|
```sql
|
|
|
|
UPDATE trades
|
|
|
|
SET is_open=0, close_date='2017-12-20 03:08:45.103418', close_rate=0.19638016, close_profit=0.0496
|
|
|
|
WHERE id=31;
|
|
|
|
```
|
|
|
|
|
2018-01-14 06:54:22 +00:00
|
|
|
## Insert manually a new trade
|
|
|
|
|
|
|
|
```sql
|
|
|
|
INSERT
|
|
|
|
INTO trades (exchange, pair, is_open, fee, open_rate, stake_amount, amount, open_date)
|
|
|
|
VALUES ('BITTREX', 'BTC_<COIN>', 1, 0.0025, <open_rate>, <stake_amount>, <amount>, '<datetime>')
|
|
|
|
```
|
|
|
|
|
|
|
|
**Example:**
|
|
|
|
```sql
|
|
|
|
INSERT INTO trades (exchange, pair, is_open, fee, open_rate, stake_amount, amount, open_date) VALUES ('BITTREX', 'BTC_ETC', 1, 0.0025, 0.00258580, 0.002, 0.7715262081, '2017-11-28 12:44:24.000000')
|
|
|
|
```
|
2018-01-02 02:17:10 +00:00
|
|
|
|
|
|
|
## Fix wrong fees in the table
|
|
|
|
If your DB was created before
|
|
|
|
[PR#200](https://github.com/gcarq/freqtrade/pull/200) was merged
|
|
|
|
(before 12/23/17).
|
|
|
|
|
|
|
|
```sql
|
|
|
|
UPDATE trades SET fee=0.0025 WHERE fee=0.005;
|
|
|
|
```
|