Files
codex_jxs_code/models/bitmart_klines.py
2026-02-21 18:25:34 +08:00

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)