stable/docs/sql_cheatsheet.md
Pan Long e759a90b2d
Update doc for manually fix trade
The profit should be close_rate/open_rate-1   not close_rate/open_rate
2018-06-22 19:16:48 +05:30

1.9 KiB

SQL Helper

This page constains some help if you want to edit your sqlite db.

Install sqlite3

Ubuntu/Debian installation

sudo apt-get install sqlite3

Open the DB

sqlite3
.open <filepath>

Table structure

List tables

.tables

Display table structure

.schema <table_name>

Trade table structure

CREATE TABLE trades (
	id INTEGER NOT NULL,
	exchange VARCHAR NOT NULL,
	pair VARCHAR NOT NULL,
	is_open BOOLEAN NOT NULL,
	fee_open FLOAT NOT NULL,
	fee_close FLOAT NOT NULL,
	open_rate FLOAT,
	open_rate_requested FLOAT,
	close_rate FLOAT,
	close_rate_requested 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

SELECT * FROM trades;

Fix trade still open after a /forcesell

UPDATE trades
SET is_open=0, close_date=<close_date>, close_rate=<close_rate>, close_profit=close_rate/open_rate-1  
WHERE id=<trade_ID_to_update>;

Example:

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;

Insert manually a new trade

INSERT 
INTO trades (exchange, pair, is_open, fee_open, fee_close, open_rate, stake_amount, amount, open_date) 
VALUES ('BITTREX', 'BTC_<COIN>', 1, 0.0025, 0.0025, <open_rate>, <stake_amount>, <amount>, '<datetime>')

Example:

INSERT INTO trades (exchange, pair, is_open, fee_open, fee_close, open_rate, stake_amount, amount, open_date) VALUES ('BITTREX', 'BTC_ETC', 1, 0.0025, 0.0025, 0.00258580, 0.002, 0.7715262081, '2017-11-28 12:44:24.000000')

Fix wrong fees in the table

If your DB was created before PR#200 was merged (before 12/23/17).

UPDATE trades SET fee=0.0025 WHERE fee=0.005;