金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 路遥

求老师帮忙检验下代码有无问题,为什么一直没有触发,帮忙修正,

[复制链接]

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-8-7 08:57 | 显示全部楼层
cond1和cond11这些不是写在当前公式的,而是新建一个公式名字叫A然后代码放进去引用

然后你加载k线图上看有没有信号呢,看下这几个引用过来条件是否满足
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

47

帖子

47

积分

Rank: 1

等级: 新手上路

注册:
2024-6-15
曾用名:
 楼主| 发表于 2024-8-7 09:21 | 显示全部楼层
我知道,cond1跟cond11是另行新建的,我只是把三个公式都写上了。主要还是这个公式运行没反应,
cond2:cross(ma(close,20),close);
if stkindi('','A.cond11',0,5,0) and stkindi('','A.cond1',0,6,0) then buy(1,1,marketr);
if stkindi('','A.cond22',0,5,0) then sell(1,holding,marketr);

需求效果,在日线收盘价大于20日均线的情况下,K线1小时周期线突破20日均线时触发买入,跌破20日均线时触发止损。谢谢
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-8-7 09:23 | 显示全部楼层
a1:stkindi('','A.cond11',0,5,0);
这样输出看条件引用过来是什么呢,是否满足
要学会去输出条件看
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

47

帖子

47

积分

Rank: 1

等级: 新手上路

注册:
2024-6-15
曾用名:
 楼主| 发表于 2024-8-8 11:25 | 显示全部楼层
老师,公式没问题,我在K线图上看到了买入卖出信号,就是不知道回测怎么没结果的,可能没设置好参数。那现在我想调换下数据,这里的stkindi('','A.cond11',0,5,0) and stkindi('','A.cond1',0,6,0) ,里面的5和6代表的分析周期后面的数字吗(见截图),如果我想换成10分钟,15分钟,30分钟,1小时,日线,分别用什么数字代替呢,公式学习0基础,还请老师不吝赐教,感谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-8-8 11:33 | 显示全部楼层
用法:
STKINDI(STKLABEL,INDINAME,CO,PERIOD[,Num])
  STKLABEL 指定品种代码,如为空表示当前品种,指定品种时推荐使用市场+代码的格式,例如SH600000,ZJIF00等.
  INDINAME 调用的指标、交易系统 (被引用变量必须是以:做变量的线输出类型)
  CO 坐标轴类型 0交易日坐标 1自然日 2交易交易时间
  PERIOD 周期类型,有效值范围为((-1)-24),依次表示:
    -1:当前主图周期、0:分笔成交、1:1分钟、2:5分钟、3:15分钟、4:30分钟、5:60分钟、
6:日、7:周、8:月、9:年、10:多日、11:多分钟、12:多秒、


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

使用道具 举报

6

主题

47

帖子

47

积分

Rank: 1

等级: 新手上路

注册:
2024-6-15
曾用名:
 楼主| 发表于 2024-8-12 12:16 | 显示全部楼层
老师,您好,请问这个公式
A:
cond1:c>ma(close,42);
cond11:cross(close,ma(close,20);
cond22:cross(ma(close,20),close);
B:
if stkindi('','A.cond11',0,2,0) and stkindi('','A.cond1',0,5,0) then buy(1,1,marketr);
if stkindi('','A.cond22',0,2,0) then sell(1,holding,marketr);在复盘K线中,是有明确的开仓平仓的点位,但程序化图表交易启动时,为啥触发条件了也没开仓啊,是什么情况呢
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-8-12 12:21 | 显示全部楼层
跨周期引用你盘中看到的信号和盘后复盘看到是不一样的,就像日线你盘中看到日线是一直变的,盘后复盘日线就是固定以后的日线了
if stkindi('','A.cond11',0,2,-1) and stkindi('','A.cond1',0,5,-1) then buy(1,1,marketr);


你可以所有跨周期最后一个参数全部写-1.表示向前引用
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

47

帖子

47

积分

Rank: 1

等级: 新手上路

注册:
2024-6-15
曾用名:
 楼主| 发表于 2024-8-13 11:14 | 显示全部楼层
老师,您好,公式修改后,现在能触发成交了,非常感谢,然后就是建仓的仓位怎么控制,我看公式if stkindi('','A.cond11',0,5,0) and stkindi('','A.cond1',0,6,0) then buy(1,1,marketr);if stkindi('','A.cond22',0,5,0) then sell(1,0,marketr);里写的是1,是不是代办开1手呢,可实际我看到它开了2手,后来又开了1手,变3手了,如图


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-8-13 11:15 | 显示全部楼层
不是手数是第二个位置参数
buy(1,2,marketr);

这里2表示2手,你写30%就是百分比仓位
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

47

帖子

47

积分

Rank: 1

等级: 新手上路

注册:
2024-6-15
曾用名:
 楼主| 发表于 2024-8-15 20:13 | 显示全部楼层
老师您好,以下代码在回测的时候,发现有时候只运行出多头或空头,并没有如公式所展示的那样,多空都做的情况,包括K线回盘的时候,也发现只有一种形态,要么是多头,要么是空头,还请帮忙看看是不是公式有问题谢谢
cond1:c>ma(close,20);
cond11:cross(close,ma(close,20);
cond22:cross(ma(close,20),close);
if stkindi('','A.cond11',0,5,-1) then buy(1,1,marketr);
if stkindi('','A.cond22',0,5,-1) then sell(1,0,marketr);
if stkindi('','A.cond22',0,5,-1) then buyshort(1,1,marketr);
if stkindi('','A.cond11',0,5,-1) then sellshort(1,0,marketr);
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-23 09:02 , Processed in 0.078987 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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