tqsdk实盘
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
from datetime import date
|
||||
from tqsdk import TqApi, TqAuth, TqBacktest, TargetPosTask
|
||||
import pandas as pd
|
||||
from tqsdk import TqApi, TqAuth, TqBacktest, TargetPosTask, TqKq, TqSim
|
||||
|
||||
'''
|
||||
如果当前价格大于5分钟K线的MA15则开多仓
|
||||
@@ -7,13 +8,26 @@ from tqsdk import TqApi, TqAuth, TqBacktest, TargetPosTask
|
||||
回测从 2018-05-01 到 2018-10-01
|
||||
'''
|
||||
# 在创建 api 实例时传入 TqBacktest 就会进入回测模式
|
||||
api = TqApi(backtest=TqBacktest(start_dt=date(2018, 5, 1), end_dt=date(2018, 10, 1)), auth=TqAuth("emanresu", "dfgvfgdfgg"))
|
||||
api = TqApi(auth=TqAuth("emanresu", "dfgvfgdfgg"))
|
||||
# 获得 m1901 5分钟K线的引用
|
||||
klines = api.get_kline_serial("DCE.m1901", 60 * 60, data_length=15)
|
||||
klines = api.get_kline_serial("KQ.m@CZCE.MA", 60 * 60)
|
||||
# 创建 m1901 的目标持仓 task,该 task 负责调整 m1901 的仓位到指定的目标仓位
|
||||
target_pos = TargetPosTask(api, "DCE.m1901")
|
||||
target_pos = TargetPosTask(api, "KQ.m@CZCE.MA")
|
||||
|
||||
BEIJING_TZ = "Asia/Shanghai"
|
||||
print('-----------------')
|
||||
print(pd.to_datetime(klines.iloc[-1].datetime, unit="ns", utc=True).tz_convert(BEIJING_TZ))
|
||||
print(pd.to_datetime(klines.iloc[-2].datetime, unit="ns", utc=True).tz_convert(BEIJING_TZ))
|
||||
|
||||
print(klines.iloc[-1])
|
||||
print(klines.iloc[-2])
|
||||
|
||||
while True:
|
||||
api.wait_update()
|
||||
if api.is_changing(klines) and len(klines) > 2:
|
||||
target_pos.set_target_volume(5)
|
||||
|
||||
if api.is_changing(klines.iloc[-1], 'datetime'):
|
||||
|
||||
print(f'---------{pd.to_datetime(klines.iloc[-1].datetime, unit="ns", utc=True).tz_convert(BEIJING_TZ)}--------')
|
||||
print(klines.iloc[-1])
|
||||
print(klines.iloc[-2])
|
||||
# target_pos.set_target_volume(5)
|
||||
@@ -236,12 +236,12 @@ if __name__ == "__main__":
|
||||
|
||||
# 这种方式适合获取相对较短或中等长度的历史K线数据。
|
||||
df_if_backtest_daily = collect_and_save_tqsdk_data_stream(
|
||||
symbol="KQ.m@SHFE.rb",
|
||||
symbol="KQ.m@CZCE.MA",
|
||||
# symbol='SHFE.rb2510',
|
||||
# symbol='KQ.i@SHFE.bu',
|
||||
freq="min60",
|
||||
start_date_str="2022-01-01",
|
||||
end_date_str="2025-06-22",
|
||||
end_date_str="2025-07-11",
|
||||
mode="backtest", # 指定为回测模式
|
||||
tq_user=TQ_USER_NAME,
|
||||
tq_pwd=TQ_PASSWORD,
|
||||
|
||||
Reference in New Issue
Block a user