金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 858|回复: 4

从python模块里面返回一个数组到pel中

[复制链接]

4654

主题

4756

帖子

4781

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-6-17 14:05 | 显示全部楼层 |阅读模式
咨询下,我想从python模块里面返回一个数组到pel中使用,数组里面就是3种类型的值,0/1/2; 我应该用下面哪种方案

方案一: 先在pel里面定义一个数组,传进py,在python里面赋值,最后返回pel中使用

方案二: 在python里面直接定义list,赋值后,然后在pel里面直接获取出来使用

我从官网的文档里面没看到传递数组的用法,只看到传单值的用法

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-6-17 16:15 | 显示全部楼层
有传递数组的,参考用法2


设置一个变量至Python模块中,此变量可以在Python的context对象中获取。
用法1:
SETPYTHONVAL(NAME,TYPE,VAL);
  NAME为变量名;
  TYPE变量类型,分别为 0数值 1字符串;
  VAL为具体变量内容;


例如:
SETPYTHONVAL('pyclose',0,close);表示将当前收盘价传递至Python模块中,变量名为pyclose;

用法2:
SETPYTHONVAL(ARRAY,NAME);ARRAY为VARIABLE定义的数组名;NAME为变量名。


例如:
VARIABLE : X[10]:=0;
SETPYTHONVAL(x,'test');
表示将X数组以list形式传递到Python模块中,变量名为test。

所属函数组:特色函数


金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-6-17 16:30 | 显示全部楼层
本帖最后由 技术009 于 2025-6-17 16:42 编辑

1.这个方式 我尝试了下,但是受限于指标的执行机制,导致本地次运行更新进去的值(历史位置的值更新后,在下次运行时候才能读取到,handle方法是依序从历史K执行到最新K的),需要下一次运行时候才能把绘图效果应用上,相当于始终有一个延迟。

2.也可以单独做一个py策略,让他自行在运行池中执行,然后把值传递给超全局变量,在pel和py之间直接共享。
比如说我在py中计算出一个位置 10 是高点,15是低点。然后做下处理,把K线的位置的值 写给2个不同的超全局变量。
在pel我们直接读取这个值,判断K是否符合条件。然后pel指标需要设置成 逐K模式(不可以勾选仅刷模式)
py写超全局变量 :https://www.weistock.com/docs/Py ... 8F%98%E9%87%8F.html

不过问题也和1中提到的类似。本次的结果,至少要pel代码下次执行时候才能应用上去。

你看下那种方式更合适吧。


金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

98

主题

251

帖子

261

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
发表于 2025-9-10 16:07 | 显示全部楼层
技术009 发表于 2025-6-17 16:30
1.这个方式 我尝试了下,但是受限于指标的执行机制,导致本地次运行更新进去的值(历史位置的值更新后,在 ...

“导致本地次运行更新进去的值”你说这个问题会导致“一个延迟”,那我不通过pel传递close的数值,而是直接用pel_history_bars直接去取close的价格。完成以后再传递给pel公式,这样会有延迟吗?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-9-10 16:16 | 显示全部楼层
这个帖子之前是讨论一个设计未来统计的绘图需求的吧。本质原因是你计算的结果 需要下次运行时候才能传递给指标进行绘图。是指标执行方式的问题,和你数据怎么传递 没有关系。无论你怎么给结果,PEL指标是每次都要从头刷 才能读到最新的计算结果(比如py里计算的)。  而且这个延迟,其实仅仅是本次执行到下次执行 这种程度的延迟。一般情况下 就算是看图的指标,肉眼很可能都很难观察到。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-14 02:58 , Processed in 0.192625 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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