以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请教问题怎么解决?谢谢 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=167132) |
-- 作者:菩提长江 -- 发布时间:2018/12/16 13:11:45 -- 请教问题怎么解决?谢谢 1时收:CALLSTOCKEX(\'RB00\',vtCLOSE,5,0,0); 4时收:CALLSTOCKEX(\'RB00\',vtCLOSE,13,0,0); 日收:CALLSTOCKEX(\'RB00\',vtCLOSE,6,0,0); 周收:CALLSTOCKEX(\'RB00\',vtCLOSE,7,0,0); 1时均:ma(1时收,2),LINETHICK2; 4时均:ma(4时收,45),LINETHICK2; 日均:ma(日收,17),LINETHICK2; 周均:ma(周收,2),LINETHICK2; 1时做多:=ref(CROSS(1时收-0.79,1时均),1) and 1时收-0.79>1时均; 1时做空:=ref(CROSS(1时均,1时收+0.79),1) and 1时均>1时收+0.79; 4时做多:=ref(CROSS(4时收,4时均),1) and 4时收>4时均; 4时做空:=ref(CROSS(4时均,4时收),1) and 4时均>4时收; 日做多:=ref(CROSS(日收,日均),1) and 日收>日均; 日做空:=ref(CROSS(日均,日收),1) and 日均>日收; 周做多:=ref(CROSS(周收-1,周均),1) and 周收-1>周均; 周做空:=ref(CROSS(周均,周收+1),1) and 周均>周收+1; 当前资金:ASSET,NOAXIS; 持仓量:=HOLDING; IF 1时做多 THEN BEGIN PLAYSOUND(HOLDING<0,\'E:\\Alarm.WAV\'); SELLSHORT(HOLDING<0,0,MARKET); BUY(HOLDING=0,仓1时%,MARKET); END IF 4时做多 THEN BEGIN PLAYSOUND(HOLDING<0,\'E:\\Alarm.WAV\'); SELLSHORT(HOLDING<0,0,MARKET); BUY(HOLDING=0,仓4时%,MARKET); END IF 日做多 THEN BEGIN PLAYSOUND(HOLDING<0,\'E:\\Alarm.WAV\'); SELLSHORT(HOLDING<0,0,MARKET); BUY(HOLDING=0,仓日%,MARKET); END IF 周做多 THEN BEGIN PLAYSOUND(HOLDING<0,\'E:\\Alarm.WAV\'); SELLSHORT(HOLDING<0,0,MARKET); BUY(HOLDING=0,仓周%,MARKET); END IF 1时做空 THEN BEGIN PLAYSOUND(HOLDING>0,\'E:\\Alarm.WAV\'); SELL(HOLDING>0,0,MARKET); BUYSHORT(HOLDING=0,仓1时%,MARKET); END IF 4时做空 THEN BEGIN PLAYSOUND(HOLDING>0,\'E:\\Alarm.WAV\'); SELL(HOLDING>0,0,MARKET); BUYSHORT(HOLDING=0,仓4时%,MARKET); END IF 日做空 THEN BEGIN PLAYSOUND(HOLDING>0,\'E:\\Alarm.WAV\'); SELL(HOLDING>0,0,MARKET); BUYSHORT(HOLDING=0,仓日%,MARKET); END IF 周做空 THEN BEGIN PLAYSOUND(HOLDING>0,\'E:\\Alarm.WAV\'); SELL(HOLDING>0,0,MARKET); BUYSHORT(HOLDING=0,仓周%,MARKET); END ------------------------------------------------------
现在遇到的问题是:一小时图表中,日线的 开仓/反手 信号在当天的第一个小时就出现了。正常正确的应该是:在 日线图表中 单独加载 日线的 开仓/反手 信号,当天日线收盘价定K才出现 信号才对。周线的 开仓/反手 信号在当周的第一个小时就出现了,正常正确的应该是:周五最后一个小时定周线K才出现信号才对。2小时、4小时问题 同理。
我如何才能实现:一小时图表中,4小时、日线、周线等跨周期的信号在正确的位置出现 开平仓信号?同时反过来,在周线图表中,我如何能够实现日线、4小时、1小时等 小周期的信号和仓位的问题?同时,在 日线图表中,能否实现 跨大小周期的 周线、4小时线、1小时的 信号和不同的仓位问题? 谢谢 |
-- 作者:FireScript -- 发布时间:2018/12/17 10:45:47 -- 你这个需求描述的太笼统了啊。 毕竟是代码问题,建议还是详细描述,比如需要用代码实现什么样的具体操作。 简单看了下代码,看到一个可能存在的问题。 1时收:CALLSTOCKEX(\'RB00\',vtCLOSE,5,0,0); 4时收:CALLSTOCKEX(\'RB00\',vtCLOSE,13,0,0); 日收:CALLSTOCKEX(\'RB00\',vtCLOSE,6,0,0); 周收:CALLSTOCKEX(\'RB00\',vtCLOSE,7,0,0); 1时均:ma(1时收,2),LINETHICK2; 4时均:ma(4时收,45),LINETHICK2; 日均:ma(日收,17),LINETHICK2; 周均:ma(周收,2),LINETHICK2; 这里的均线是想求什么均线,指定周期上的均线值?如果是这样的话,这样计算是不对的。举个例子吧: 比如你1分钟周期,你想求五分钟周期的均线,你应该新建一个均线指标,然后在1分钟上引用五分钟周期的均线指标来获取这个值,这个要用stkind函数去实现。你这样把数据引用过来计算均值是有问题的。 比如你1分钟你引用大周期的五分钟,这样你连续几个1分钟K引用到的都会是一个大周期五分钟的值,这种情况下你求的均值根本不是五分钟周期上均线值的。
[此贴子已经被作者于2018/12/17 10:46:44编辑过]
|
-- 作者:菩提长江 -- 发布时间:2018/12/17 11:48:33 -- @FireScript 你的理解是对的,能否帮忙将上述我的代码用 stkind函数 来实现?谢谢 我的目的就是:在1小时图表下,引用4小时、日线、周线 这三个大周期图表中的均线值,并且满足相对应的图表中 收盘价和均线值的关系,然后 开仓/反手,不同的周期对应不同的 开仓的 仓位。
|
-- 作者:FireScript -- 发布时间:2018/12/17 12:19:06 -- stkind的使用有专门说明帖的,你先参考下这个帖子里面的说明尝试下:
|