金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3403|回复: 12

资源获取

[复制链接]

10

主题

60

帖子

60

积分

等级: 免费版

注册:
2021-11-3
曾用名:
发表于 2022-1-26 14:31 来自手机 | 显示全部楼层 |阅读模式
金字塔高级教程里何时加入python的内容,需要学习,或者哪里有资源,共享一份
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-1-26 15:19 | 显示全部楼层
这个没有,python的基础您可以百度搜下了解
软件里的使用直接看api文档就好
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

10

主题

60

帖子

60

积分

等级: 免费版

注册:
2021-11-3
曾用名:
 楼主| 发表于 2022-1-27 03:25 来自手机 | 显示全部楼层
技术008 发表于 2022-1-26 15:19
这个没有,python的基础您可以百度搜下了解
软件里的使用直接看api文档就好

基础是有的,只是在pel调用python中出现了问题,我在python模块中编写了策略,编译成功后并且调试可以有效输出数组,后来又编写了pel中引用python指标,并把之前python代码转移到python中的"我的引用"中,参考了软件自带的示例代码,分别编译pel和pyrhon代码均成功,后来应用于副图显示python变量local variable referenced before assign..,其中的变量是for 变量  in中的,尝试检查并没有发现问题,感觉单纯的研究软件自带的代码和文档的API并不能解决我的问题,在这里请教一下:
1.python代码能否在pel不引用的情况下直接作用于主/副图画线,即使用matplotlib或其他模块
2.我假设了上述方法不能实现,因此我将pyrhon代码修改成"我的引用"中pel可调用context对象函数.我的想法是利用python找出符合条件的K线数据高低点,并分别存在两个数组,然后在pel调用公式中调用这两个数组的元素,然后绘直线于主图,发现了错误,不知道我的问题出在哪.因为现在电脑没在旁边不能复制代码,用手机码了这些,期待得到解决
回复

使用道具 举报

34

主题

9006

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-1-27 08:56 | 显示全部楼层
1.不支持,python的作用主要是辅助pel,用于解决pel在算法上的短板。执行效率上python比pel低很多。python的优点只是存在大量的现成的库而已。
2.你不是为了用python而用,应该是能用pel解决的问题直接用pel。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

10

主题

60

帖子

60

积分

等级: 免费版

注册:
2021-11-3
曾用名:
 楼主| 发表于 2022-1-27 13:29 | 显示全部楼层
#下方代码名为 MyPython1
from PythonApi import *

def init(context):
    pass

def handle_bar(context):   
    #从第一组非包含数据开始
    for i in range(2,len(context.bar_high)):
        xia_xia = context.bar_high[i-1] < context.bar_high[i-2] and context.bar_low[i-1] < context.bar_low[i-2]
        shang_shang = context.bar_high[i-1] > context.bar_high[i-2] and context.bar_low[i-1] > context.bar_low[i-2]
        xia_nei = context.bar_high[i-1] < context.bar_high[i-2] and context.bar_low[i-1] > context.bar_low[i-2]
        xia_nei_shang = context.bar_high[i-1] == context.bar_high[i-2] and context.bar_low > context.bar_low[i-2]
        xia_nei_xia = context.bar_high[i-1] < context.bar_high[i-2] and context.bar_low[i-1] == context.bar_low[i-2]
        xia_wai = context.bar_high[i-1] > context.bar_high[i-2] and context.bar_low[i-1] < context.bar_low[i-2]
        xia_wai_shang = context.bar_high[i-1] == context.bar_high[i-2] and context.bar_low[i-1] < context.bar_low[i-2]
        xia_wai_xia = context.bar_high[i-1] > context.bar_high[i-2] and context.bar_low[i-1] == context.bar_low[ i-2]
        xiangdeng = context.bar_high[i-1] == context.bar_high[i-2] and context.bar_low[i-1] == context.bar_low[i-2]
        #加入两组数据用于下步判断
        if xia_nei or xia_nei_shang or xia_nei_xia or xia_wai or xia_wai_shang or xia_wai_xia or xiangdeng:
            continue
        elif xia_xia or shang_shang:
            context.zi_high.append(context.bar_high[i-2])
            context.zi_high.append(context.bar_high[i-1])
            context.zi_low.append(context.bar_low[i-2])
            context.zi_low.append(context.bar_low[i-1])
            break
    #两组数据之后添加其它数据
    for j in range(i,len(context.bar_high)):
        xia_xia1 = context.zi_high[-1] < context.zi_high[-2] and context.zi_low[-1] < context.zi_low[-2]
        shang_shang1 = context.zi_high[-1] > context.zi_high[-2] and context.zi_low[-1] > context.zi_low[-2]
        xia_nei1 = context.zi_high[-1] < context.zi_high[-2] and context.zi_low[-1] > context.zi_low[-2]
        xia_nei_shang1 = context.zi_high[-1] == context.zi_high[-2] and context.zi_low[-1] > context.zi_low[j-2]
        xia_nei_xia1 = context.zi_high[-1] < context.zi_high[-2] and context.zi_low[-1] == context.zi_low[-2]
        xia_wai1 = context.zi_high[-1] > context.zi_high[-2] and context.zi_low[-1] < context.zi_low[-2]
        xia_wai_shang1 = context.zi_high[-1] == context.zi_high[-2] and context.zi_low[-1] < context.zi_low[-2]
        xia_wai_xia1 = context.zi_high[-1] > context.zi_high[-2] and context.zi_low[-1] == context.zi_low[-2]
        xiangdeng1 = context.zi_high[-1] == context.zi_high[-2] and context.zi_low[-1] == context.zi_low[-2]
        #加入bar_high and bar_low数据
        now_xia = context.bar_high[j] < context.zi_high[-1] and context.bar_low[j] < context.zi_low[-1]
        now_nei = context.bar_high[j] < context.zi_high[-1] and context.bar_low[j] > context.zi_low[-1]
        now_nei_xia = context.bar_high[j] < context.zi_high[-1] and context.bar_low[j] == context.zi_low[-1]
        now_nei_shang = context.bar_high[j] == context.zi_high[-1] and context.bar_low[j] > context.zi_low[-1]
        now_wai = context.bar_high[j] > context.zi_high[-1] and context.bar_low[j] < context.zi_low[-1]
        now_wai_shang = context.bar_high[j] == context.zi_high[-1] and context.bar_low[j] < context.zi_low[-1]
        now_wai_nei = context.bar_high[j] > context.zi_high[-1] and context.bar_low[j] == context.zi_low[-1]
        now_shang = context.bar_high[j] > context.zi_high[-1] and context.bar_low[j] > context.zi_low[-1]
        now_xiangdeng = context.bar_high[j] == context.zi_high[-1] and context.bar_low[j] == context.zi_low[-1]
        #正式判断   
        if xia_xia1:
            if now_xia or now_shang:
                context.zi_high.append(context.bar_high[j])
                context.zi_low.append(context.bar_low[j])
            elif now_nei or now_nei_xia\
                or now_nei_shang or now_wai\
                or now_wai_shang or now_wai_nei\
                or now_xiangdeng:
                context.zi_high.append(min(context.bar_high[j],context.zi_high[-1]))
                context.zi_low.append(min(context.bar_low[j],context.zi_low[-1]))
                del context.zi_high[-2]
                del context.zi_low[-2]
            elif shang_shang1:
                if now_xia or now_shang:
                    context.zi_high.append(context.bar_high[j])
                    context.zi_low.append(context.bar_low[j])
                elif now_nei or now_nei_xia\
                    or now_nei_shang or now_wai\
                    or now_wai_shang or now_wai_nei\
                    or now_xiangdeng:
                    context.zi_high.append(max(context.bar_high[j],context.zi_high[-1]))
                    context.zi_low.append(max(context.bar_low[j],context.zi_low[-1]))
                    del context.zi_high[-2]
                    del context.zi_low[-2]
    #将数组保存至context变量中用于pel调用                             
    context.zi_high = zi_high[:]
    context.zi_low = zi_low[:]
# exit函数会在公式结束时被调用,整个过程只会被调用一次

def exit(context):
    pass


回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-1-27 13:31 | 显示全部楼层
建议不要拘泥于一定要绘图,python本身是设计是适合股票多维度使用
这种情况下是不去绘图
更何况很多时候我们要培养习惯不要看图
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

10

主题

60

帖子

60

积分

等级: 免费版

注册:
2021-11-3
曾用名:
 楼主| 发表于 2022-1-27 13:31 | 显示全部楼层
技术006 发表于 2022-1-27 08:56
1.不支持,python的作用主要是辅助pel,用于解决pel在算法上的短板。执行效率上python比pel低很多。python ...

//pel 代码名为 From MyPython1

Py_Import MyPython1;

variable:x[]:=0;
variable:y[]:=0;
x:=high;
y:=low;


SETPYTHONVAL(x,'bar_high');
SETPYTHONVAL(y,'bar_low');       


FIREPYHANDLEBAR;

zi_high:=GETPYTHONVAL('zi_high');
zi_low:=GETPYTHONVAL('zi_low');

//此处用于测试,输出一组数据到副图
out:zi_high[1];



回复

使用道具 举报

10

主题

60

帖子

60

积分

等级: 免费版

注册:
2021-11-3
曾用名:
 楼主| 发表于 2022-1-27 13:38 | 显示全部楼层
技术008 发表于 2022-1-27 13:31
建议不要拘泥于一定要绘图,python本身是设计是适合股票多维度使用
这种情况下是不去绘图
更何况很多时候 ...

您帮忙看下问题出在哪里
捕获.PNG
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-1-27 13:39 | 显示全部楼层
两个for同级了,下面一个for是上面for的内层关系吧
截图202201271339578773.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-1-27 13:40 | 显示全部楼层
这里有一个pel调用python的算是一个例子,您可以看下
类似具体代码实现上的一些问题,python这个需要用户自行解决的
https://www.weistock.com/bbs/for ... &extra=page%3D1
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 10:49 , Processed in 0.255934 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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