金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3175|回复: 11

请老师再帮忙修改个代码

[复制链接]

54

主题

130

帖子

130

积分

等级: 免费版

注册:
2021-7-10
曾用名:
发表于 2021-8-3 08:15 | 显示全部楼层 |阅读模式
if   DTIME  == 2:
        zq0='15分钟'
    elif DTIME  == 3:
        zq0='15分钟'
    elif DTIME  == 5:
        zq0='60分钟'
    elif DTIME  == 6:
        zq0='日线'

    if   N  == 2:           
        zq0='15分钟'  
    elif N  == 3:      
        zq0='15分钟'
    elif N  == 5:
        zq0='60分钟'
    elif N  == 6:
        zq0='日线'   
上面的代码回测的时候显示错误

回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-8-3 08:57 | 显示全部楼层
具体什么显示错误呢
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

54

主题

130

帖子

130

积分

等级: 免费版

注册:
2021-7-10
曾用名:
 楼主| 发表于 2021-8-3 09:03 | 显示全部楼层
运行后如图片显示
捕获.PNG
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-8-3 09:29 | 显示全部楼层
这个是python自己的报错,你自己搜搜看有没有相关信息,或者自己插入print定位下是哪里的问题
这种只能自己处理,这边没有办法了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

54

主题

130

帖子

130

积分

等级: 免费版

注册:
2021-7-10
曾用名:
 楼主| 发表于 2021-8-3 15:12 | 显示全部楼层

11111111111
def handle_bar(context):
22222222222
if cs1[-1]>0.5 and cs1[-2]<0.5:
        qs = '上升趋势'
        txt21=zq1+',卖空止盈(红)'
        txt22= "K: "+ "{:.2f}".format(SKK1[-1])
        mail(txt21,txt22)
if cs2[-1]<0.5 and cs2[-2]>0.5:
        qs = '下降趋势'           #趋势
        txt31=zq1+',买多止盈(绿)'
        txt32="K: "  +"{:.2f}".format(SKK1[-1])
        mail(txt31,txt32)

if cs7[-1] and cs8[-1] and (SKK[-1]<50 or S[-1]<50):
        txt1a=zq0+',卖出信号!!'
        txt2=qs+',最高价:'+"{:.2f}".format(HH[-1])+',K:'+"{:.2f}".format(SKK[-1])+',S:'+"{:.2f}".format(S[-1])
        mail(txt1a,txt2)
    elif cs7[-1] and cs8[-1]:
        txt1=zq0+',卖出信号'
        txt2=qs+',最高价:'+"{:.2f}".format(HH[-1])+',K:'+"{:.2f}".format(SKK[-1])+',S:'+"{:.2f}".format(S[-1])
        mail(txt1,txt2)  

这段代码运行到倒数第二行txt2=qs+',最高价:'......的时候显示qs这个参数没有。我想实现的逻辑是默认一个qs=' '为空,在运行到第一个第二个if语句的时候就把qs=' '这个参数
修改成上升趋势或者下降趋势。这个qs=' '的参数应该放到1111111的位置,还是222222的位置。谢谢
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-8-3 16:55 | 显示全部楼层
那你就在if外面找个地方给qs定义下就好了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

54

主题

130

帖子

130

积分

等级: 免费版

注册:
2021-7-10
曾用名:
 楼主| 发表于 2021-8-3 17:04 | 显示全部楼层
cs1=get_indicator(context.s1,'cs','cs1','',zq,200)
cs2=get_indicator(context.s1,'cs','cs2','',zq,200)
if cs1[-1]>0.5 and cs1[-2]<0.5:  
        qs = '上升趋势'
        txt21=zq1+',卖空止盈(红)'
        txt22= "K: "+ "{:.2f}".format(SKK1[-1])
        #mail(txt21,txt22)
    #if cs2[-1]<0.5 and cs2[-2]>0.5:
        #qs = '下降趋势'           #趋势
        #txt31=zq1+',买多止盈(绿)'
        #txt32="K: "  +"{:.2f}".format(SKK1[-1])
        # mail(txt31,txt32)
    print(cs1[-2])

我在打印输出cs1[-2]和cs2[-2]的时候一直报错,具体是什么原因,谢谢
捕获.PNG
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-8-3 17:06 | 显示全部楼层
这个就是你的数据长度没有大于2,所以要取-2元素取不到
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

54

主题

130

帖子

130

积分

等级: 免费版

注册:
2021-7-10
曾用名:
 楼主| 发表于 2021-8-3 17:11 | 显示全部楼层
具体是哪个数据长度?
是cs1=get_indicator(context.s1,'cs','cs1','',zq,200)中的这个200吗?
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2021-8-3 17:13 | 显示全部楼层
你去输出cs1看,他长度是不是能取到数据
比如一个列表只有一个元素,你对他[-2]那就报错

那个报错提示就是这类提示,至于是哪个列表的问题,这些你都要自己通过print去顶点输出看的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 04:32 , Processed in 0.240228 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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