coding:gbk
导入常用库
import pandas as pd
import numpy as np
import talib
示例说明:本策略,通过计算快慢双均线,在金叉时买入,死叉时做卖出
def init(C):
#line1和line2分别为两条均线期数
C.lined1=14 #日快线参数
C.lined2=156 #日慢线参数
C.accountid = "testS"
def handlebar(C):
当前k线日期
sk=['300308.SZ']
bar_date = timetag_to_datetime(C.get_bar_timetag(C.barpos), '%Y%m%d%H%M%S')
回测不需要订阅最新行情 使用本地数据速度更快. 如果回测多个品种 需要手动下载对应周期历史数据 主图品种显示在界面时已经订阅了行情 直接取就可以
local_data = C.get_market_data_ex(['close'],
stock_code=sk,
period='1d',
start_time='20220101',
end_time='20240222',
count=156,
dividend_type='front',
fill_data=True,
subscribe=True)
close_list =list(sorted_keys)
close_list=local_data[sk[0]]['close']
print (close_list)
lined1_mean = close_list.rolling(window=C.lined1).mean()
lined2_mean = close_list.rolling(window=C.lined2).mean()
lined1_mean = round(np.mean(close_list[-C.lined1:]),2)
lined2_mean = round(np.mean(close_list[-C.lined2:]),2)
print(f"{bar_date} 短均线{lined1_mean} 长均线{lined2_mean}")
print (len(close_list))
得到的156均线119.03,而实际应为113.41 |