98 lines
2.4 KiB
Python
98 lines
2.4 KiB
Python
"""
|
|
BitMart 多周期K线数据模型
|
|
包含 1分钟、3分钟、5分钟、15分钟、30分钟、1小时 K线数据表
|
|
"""
|
|
|
|
from peewee import *
|
|
from models import db
|
|
|
|
|
|
# ==================== 1分钟 K线 ====================
|
|
class BitMartETH1M(Model):
|
|
id = BigIntegerField(primary_key=True) # 时间戳(毫秒级)
|
|
open = FloatField(null=True)
|
|
high = FloatField(null=True)
|
|
low = FloatField(null=True)
|
|
close = FloatField(null=True)
|
|
|
|
class Meta:
|
|
database = db
|
|
table_name = 'bitmart_eth_1m'
|
|
|
|
|
|
# ==================== 3分钟 K线 ====================
|
|
class BitMartETH3M(Model):
|
|
id = BigIntegerField(primary_key=True)
|
|
open = FloatField(null=True)
|
|
high = FloatField(null=True)
|
|
low = FloatField(null=True)
|
|
close = FloatField(null=True)
|
|
|
|
class Meta:
|
|
database = db
|
|
table_name = 'bitmart_eth_3m'
|
|
|
|
|
|
# ==================== 5分钟 K线 ====================
|
|
class BitMartETH5M(Model):
|
|
id = BigIntegerField(primary_key=True)
|
|
open = FloatField(null=True)
|
|
high = FloatField(null=True)
|
|
low = FloatField(null=True)
|
|
close = FloatField(null=True)
|
|
|
|
class Meta:
|
|
database = db
|
|
table_name = 'bitmart_eth_5m'
|
|
|
|
|
|
# ==================== 15分钟 K线 ====================
|
|
class BitMartETH15M(Model):
|
|
id = BigIntegerField(primary_key=True)
|
|
open = FloatField(null=True)
|
|
high = FloatField(null=True)
|
|
low = FloatField(null=True)
|
|
close = FloatField(null=True)
|
|
|
|
class Meta:
|
|
database = db
|
|
table_name = 'bitmart_eth_15m'
|
|
|
|
|
|
# ==================== 30分钟 K线 ====================
|
|
class BitMartETH30M(Model):
|
|
id = BigIntegerField(primary_key=True)
|
|
open = FloatField(null=True)
|
|
high = FloatField(null=True)
|
|
low = FloatField(null=True)
|
|
close = FloatField(null=True)
|
|
|
|
class Meta:
|
|
database = db
|
|
table_name = 'bitmart_eth_30m'
|
|
|
|
|
|
# ==================== 1小时 K线 ====================
|
|
class BitMartETH1H(Model):
|
|
id = BigIntegerField(primary_key=True)
|
|
open = FloatField(null=True)
|
|
high = FloatField(null=True)
|
|
low = FloatField(null=True)
|
|
close = FloatField(null=True)
|
|
|
|
class Meta:
|
|
database = db
|
|
table_name = 'bitmart_eth_1h'
|
|
|
|
|
|
# 连接数据库并创建表
|
|
db.connect(reuse_if_open=True)
|
|
db.create_tables([
|
|
BitMartETH1M,
|
|
BitMartETH3M,
|
|
BitMartETH5M,
|
|
BitMartETH15M,
|
|
BitMartETH30M,
|
|
BitMartETH1H,
|
|
], safe=True)
|