/
prices.go
65 lines (50 loc) · 2.59 KB
/
prices.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package models
import (
"time"
"github.com/diadata-org/diadata/pkg/dia"
log "github.com/sirupsen/logrus"
)
func (db *DB) SetPriceZSET(symbol string, exchange string, price float64, t time.Time) error {
db.SaveFilterInflux(dia.FilterKing, symbol, exchange, price, t)
key := getKeyFilterZSET(getKey(dia.FilterKing, symbol, exchange))
log.Debug("SetPriceZSET ", key)
return db.setZSETValue(key, price, time.Now().Unix(), Window30d)
}
func (db *DB) GetPrice(symbol string, exchange string) (float64, error) {
key := getKeyFilterSymbolAndExchangeZSET(dia.FilterKing, symbol, exchange)
v, _, err := db.getZSETLastValue(key)
return v, err
}
func (db *DB) GetPriceYesterday(symbol string, exchange string) (float64, error) {
return db.getZSETValue(getKeyFilterZSET(getKey(dia.FilterKing, symbol, exchange)), time.Now().Unix()-WindowYesterday)
}
func (db *DB) GetPrice1h(symbol string, exchange string) (float64, error) {
return db.getZSETValue(getKeyFilterZSET(getKey(dia.FilterKing, symbol, exchange)), time.Now().Unix()-Window1h)
}
func (db *DB) GetPrice7d(symbol string, exchange string) (float64, error) {
return db.getZSETValue(getKeyFilterZSET(getKey(dia.FilterKing, symbol, exchange)), time.Now().Unix()-Window7d)
}
func (db *DB) GetPrice14d(symbol string, exchange string) (float64, error) {
return db.getZSETValue(getKeyFilterZSET(getKey(dia.FilterKing, symbol, exchange)), time.Now().Unix()-Window14d)
}
func (db *DB) GetPrice30d(symbol string, exchange string) (float64, error) {
return db.getZSETValue(getKeyFilterZSET(getKey(dia.FilterKing, symbol, exchange)), time.Now().Unix()-Window30d)
}
func (db *DB) GetTradePriceBefore(symbol string, exchange string, timestamp time.Time) (*dia.Trade, error) {
return db.GetTradeInflux(symbol, exchange, timestamp)
}
func (db *DB) GetTradePrice1h(symbol string, exchange string) (*dia.Trade, error) {
return db.GetTradePriceBefore(symbol, exchange, time.Now().Add(-1 * time.Hour))
}
func (db *DB) GetTradePrice24h(symbol string, exchange string) (*dia.Trade, error) {
return db.GetTradePriceBefore(symbol, exchange, time.Now().Add(-24 * time.Hour))
}
func (db *DB) GetTradePrice7d(symbol string, exchange string) (*dia.Trade, error) {
return db.GetTradePriceBefore(symbol, exchange, time.Now().Add(-7 * 24 * time.Hour))
}
func (db *DB) GetTradePrice14d(symbol string, exchange string) (*dia.Trade, error) {
return db.GetTradePriceBefore(symbol, exchange, time.Now().Add(-14 * 24 * time.Hour))
}
func (db *DB) GetTradePrice30d(symbol string, exchange string) (*dia.Trade, error) {
return db.GetTradePriceBefore(symbol, exchange, time.Now().Add(-30 * 24 * time.Hour))
}