以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 几个关于创新低新高的问题麻烦老师解答一下 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=52585) |
-- 作者:vermouth -- 发布时间:2013/5/29 17:02:16 -- 几个关于创新低新高的问题麻烦老师解答一下 第一个: 怎么来表示上证没有创新低或者新高 这个是我写的上证创新低的一段: sl:=CALLSTOCK(\'000001\',vtLOW,1,0); SZXD:=REF(LLV(sl,CYC),1); 是一分钟的图。不知道是否有问题。麻烦老师看下。 是不是可以通过上证创新低来比较得出上证没有创新低? 第二个: 当股指创新低的时候,怎么来表示创新低那根K线的最高点? 第三个: 当我知道股指创新低的时候,说明前面一根K线应该已经走完了。 那我用if语句的时候 “if 创新低 and 引用一根K线的最高点 then” 不知道这里的引用一个K线的最高点是不是就是穿新低之后的这根K线? 麻烦老师解答一下。谢了
|
-- 作者:jinzhe -- 发布时间:2013/5/29 17:12:49 -- 1.直接在引用公式进行判断是否创新低,再引用。你写的是错误的,因为被引用对象加上ref进行偏移,得到的不是被引用对象的偏移,得到是自身的偏移 2、valuewhen(l<ref(llv(l,周期),1),h) 3.这个是什么思路? |
-- 作者:vermouth -- 发布时间:2013/5/29 17:18:56 -- 以下是引用jinzhe在2013-5-29 17:12:49的发言:
1.直接在引用公式进行判断是否创新低,再引用。你写的是错误的,因为被引用对象加上ref进行偏移,得到的不是被引用对象的偏移,得到是自身的偏移 2、valuewhen(l<ref(llv(l,周期),1),h) 3.这个是什么思路? CYC:=BARSLAST(DATE>REF(DATE,1))+1; sl:=CALLSTOCK(\'000001\',vtLOW,1,0); SZXD:=REF(LLV(sl,CYC),1 刚才少了一个CYC 如果还不对。麻烦老师写一个吧。。。 我第三个的思路是这样的:当股指达到新低的时候上证没有达到新低。这个时候如果新低后面的那个K线的高点比前面的高点要高。我做多。 |
-- 作者:jinzhe -- 发布时间:2013/5/30 9:01:51 -- 我写的1就是表明你写的是错误的,不要ref被引用对象,直接在引用对象中进行偏移 [此贴子已经被作者于2013-5-30 9:01:58编辑过]
|
-- 作者:vermouth -- 发布时间:2013/5/30 9:08:02 -- 以下是引用jinzhe在2013-5-30 9:01:51的发言:
我写的1就是表明你写的是错误的,不要ref被引用对象,直接在引用对象中进行偏移 如果不用SZXD,直接在前面callstock这个函数那边偏离的话。我怎么来比较得出上证是否创新低呢? [此贴子已经被作者于2013-5-30 9:09:23编辑过]
|
-- 作者:jinzhe -- 发布时间:2013/5/30 9:10:21 -- 公式1: cond:l<ref(llv(l,todaybar),1);
公式2引用公式1的cond结果就行了 |
-- 作者:vermouth -- 发布时间:2013/5/30 9:34:15 -- 以下是引用jinzhe在2013-5-30 9:10:21的发言:
公式1: cond:l<ref(llv(l,todaybar),1);
公式2引用公式1的cond结果就行了 还是没有看懂。 我是要引用上证的新低。 前面应该是sl:=CALLSTOCK(\'000001\',vtLOW,1,-1);这边0改成了-1,向前引用吧。 这个cond表示出来的是创新低啊。 我如何引用到创新低呢? |
-- 作者:vermouth -- 发布时间:2013/5/30 9:40:42 -- 刚才理了一下思绪。 发现了一个致命性的错误、 我在写SZXD这段的时候其实是没有引用证劵的。所以登出来的明显是错误的。 按照老师的说法 是不是应该这么写: cond:=l<ref(llv(l,todaybar),1); SZXD:=CALLSTOCK(\'000001\',cond,1,0); 但是我看callstock这个函数里面的type的类型里面好像没有提到可以用公式来替代
|
-- 作者:jinzhe -- 发布时间:2013/5/30 9:45:13 -- 公式2引用公式1啊,不是这样引用的啊
zzzz:stkindi(\'sh000001\',\'公式1.cond\',0,1); 这样才是引用 |
-- 作者:vermouth -- 发布时间:2013/5/30 9:58:43 -- 以下是引用jinzhe在2013-5-30 9:45:13的发言:
公式2引用公式1啊,不是这样引用的啊
zzzz:stkindi(\'sh000001\',\'公式1.cond\',0,1); 这样才是引用 我的思路是这样的:当股指达到新低的时候上证没有达到新低。这个时候如果新低后面的那个K线的高点比前面的高点要高。我做多。 刚才那个我直接做了当日新低的技术指标,代码如下 //创今日新低 //nn:=BARSLAST(DATE>REF(DATE,1))+1; nn:=TODAYBAR; ll:=ref(llv(l,nn),1); 创新低:= l<ll ; SZXD:=stkindi(\'000001\',\'DD.CXD\',0,1); sl:=CALLSTOCK(\'000001\',vtLOW,1,0); CYC:=BARSLAST(DATE>REF(DATE,1))+1; XDGD:=valuewhen(l<ref(llv(l,CYC),1),h); cond:=h>XDGD; IF 创新低 and sl>szxd and time>93000 and time<15000 and cond then 开多:buy(1,1,LIMIT,CLOSE); 麻烦老师看看,好像还是有问题。麻烦老师指出来 |