Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:怎么样让特定数据不参与告诉的计算?

1楼
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”是引用同周期公式一中“收益”的数据,而“收益”是有一部分时间没有仓位的,在公式二中,这部分数据严重失真,怎么样才能够去掉这部分数据!!!

图片点击可在新窗口打开查看此主题相关图片如下:z755e3mstmodfg0cdm_2$g.png
图片点击可在新窗口打开查看

2楼
wxx212 发表于:2018/5/31 16:52:20
由于“盈利2”是引用同周期公式一中“收益”的数据,而“收益”是有一部分时间没有仓位的,在公式二中,这部分数据参与到公式计算中,使计算结果(KDJ)严重失真,怎么样才能够去掉这部分数据!!!
3楼
FireScript 发表于:2018/5/31 17:10:19
 最好的办法是在原先代码里面做过滤,判断下holding

result:if(holding=0,0,asset/10000);

最终引用,引用这个result
4楼
wxx212 发表于:2018/6/1 23:59:23
    这样只是满足 不持仓的时候 RESULT 取0值。在公式二中,只是把不持仓的那段数据变成0,而这个“0”依然是参与到公式二的计算中去的!
我的意思是不持仓的时候KDJ不计算,分开的两段持仓时间内的“盈利”合并成连续计算数值,就像连续月份中的计算差不多(应该没有主力月份那么繁琐)或者像5分钟周期内出现封板情况的时候,把那些封板的数据直接去掉再计算KDJ图片点击可在新窗口打开查看一样。

5楼
wenarm 发表于:2018/6/3 21:15:10
没办法,你要引用的数据属于序列变量,无法进行特定的过滤
共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01953 s, 3 queries.