以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 怎么样让特定数据不参与告诉的计算? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=163774) |
-- 作者:wxx212 -- 发布时间:2018/5/31 16:50:55 -- 怎么样让特定数据不参与告诉的计算? 公式一:名称:一线一级 aa:=ma(c,100); bb:=ma(c,20); KD:=cross(c,bb) and c>=aa; //开多条件 PD:=cross(aa,c); //平多条件 KK:=cross(bb,c) and c<=aa; //开空条件 PK:=cross(c,aa); //平空条件 平空:SELLSHORT(PK,1,THISCLOSE); //平空信号 开多:BUY(KD AND HOLDING=0,1,THISCLOSE); //开多信号 平多:SELL(PD,1,THISCLOSE); //平多信号 开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE); //开空信号 收益:asset/10000,noaxis,COLORMAGENTA ,LINETHICK6; 公式二:名称:一线2级 盈利2:STKINDI( \'\',\'一线一级.收益\',0,4),noaxis,COLORMAGENTA ,LINETHICK6; RSV:=(盈利2-LLV(盈利2,9))/(HHV(盈利2,9)-LLV(盈利2,9))*100; K:SMA(RSV,3,1); D:SMA(K,3,1); J:=3*K-2*D; 由于“盈利2”是引用同周期公式一中“收益”的数据,而“收益”是有一部分时间没有仓位的,在公式二中,这部分数据严重失真,怎么样才能够去掉这部分数据!!!
|
-- 作者:wxx212 -- 发布时间:2018/5/31 16:52:20 -- 由于“盈利2”是引用同周期公式一中“收益”的数据,而“收益”是有一部分时间没有仓位的,在公式二中,这部分数据参与到公式计算中,使计算结果(KDJ)严重失真,怎么样才能够去掉这部分数据!!! |
-- 作者:FireScript -- 发布时间:2018/5/31 17:10:19 -- 最好的办法是在原先代码里面做过滤,判断下holding result:if(holding=0,0,asset/10000); 最终引用,引用这个result
|
-- 作者:wxx212 -- 发布时间:2018/6/1 23:59:23 -- 这样只是满足 不持仓的时候 RESULT 取0值。在公式二中,只是把不持仓的那段数据变成0,而这个“0”依然是参与到公式二的计算中去的! 我的意思是不持仓的时候KDJ不计算,分开的两段持仓时间内的“盈利”合并成连续计算数值,就像连续月份中的计算差不多(应该没有主力月份那么繁琐)或者像5分钟周期内出现封板情况的时候,把那些封板的数据直接去掉再计算KDJ一样。 |
-- 作者:wenarm -- 发布时间:2018/6/3 21:15:10 -- 没办法,你要引用的数据属于序列变量,无法进行特定的过滤 |