本帖最后由 技术008 于 2021-10-12 17:06 编辑
pel借助python读取mongodb
[PEL] 复制代码 Py_Import MyPython40;
a:=date+19000000;
SETPYTHONVAL('date',0,a);
SETPYTHONVAL('code',1,stklabel);
//触发Python中的Handle_bar方法
FIREPYHANDLEBAR;
y1:GETPYTHONVAL('y'),colorred,LINETHICK4;
[Python] 复制代码 from PythonApi import *
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["大众商品"]
def init(context):
pass
# Pel公式中调用FIREPYHANDLEBAR函数将触发该方法的调用
def handle_bar(context):
mycol = mydb[context.code[:len(context.code)-2]]
ti = str(context.date)
myquery = { "date":ti[:4]+'-'+ti[4:6]+'-'+ti[-2:]+' 00:00:00'}
mydoc = mycol.find_one(myquery)
try:
context.y = float(mydoc['price'])
except:
context.y = 0
# exit函数会在公式结束时被调用,整个过程只会被调用一次
def exit(context):
pass
code是品种代码,作为表名存在
然后根据日期作为一个条件去读取对应日期时候得price价格
|