金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 994|回复: 2

pel引用python不成功

[复制链接]

138

主题

303

帖子

303

积分

等级: 免费版

注册:
2022-1-15
曾用名:
发表于 2024-1-16 10:09 | 显示全部楼层 |阅读模式
python引用模块中新建一个代码引用,名称:calcFsolve

from PythonApi import *
from scipy.optimize import fsolve

def init(context):
    pass

# Pel公式中调用FIREPYHANDLEBAR函数将触发该方法的调用
def handle_bar(context):
    #context.root = fsolve(equation, context.inix, args=(context.y,))
    context.root = fsolve(lambda x: equation(x, context.y), context.inix)
# exit函数会在公式结束时被调用,整个过程只会被调用一次
def exit(context):
    pass

def equation(x,y):
    return x + x**2 + x**3 + x**4 - y
/////////////////////////////////////////////////////////////////
Py_Import calcFsolve;

y:=15;
inix:=1.5;
SETPYTHONVAL('y',0,y);
SETPYTHONVAL('inix',0,inix);
FIREPYHANDLEBAR;
root:GETPYTHONVAL('root'),colorred,LINETHICK4;


用了2种写法,输出结果都为0.在pycharm中,这样写是没有问题的.


截图202401161006044994.png

回复

使用道具 举报

138

主题

303

帖子

303

积分

等级: 免费版

注册:
2022-1-15
曾用名:
 楼主| 发表于 2024-1-16 10:13 | 显示全部楼层
截图202401161013407878.png   scipy库是存在的
回复

使用道具 举报

34

主题

9006

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-1-16 10:55 | 显示全部楼层
fsolve返回的列表类型,pel引用python,不支持传递列表。
context.root = fsolve(lambda x: equation(x, context.y), context.inix)[-1]
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-16 08:48 , Processed in 0.235008 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表