您先看下bi的返回取值是否正确,另外您这是引用外部的dll?这个是您自己写的吗,软件不同同样的源码返回不一样很正常的。
| 本帖最后由 benyip 于 2014-3-10 21:56 编辑 bi:="chanzw@STROKE"(DataPeriod,p,显示笔,0,0); duan:="chanzw@SEGMENT"(DataPeriod,p,0,0,0); //(DataPeriod, 新笔, 显示笔, 缓存,显示最后未完成段); //分笔 if 显示笔>0 Then DRAWLINE(bi=1000000, H,bi=-1000000,L,0),colorcyan,linedot; DRAWLINE(bi=-1000000,L,bi=1000000, H,0),colorFFFF,linedot; //分段 DRAWLINE(duan<0 and duan>-1000000,L,duan>0 and duan<1000000, H,0),colorff,linethick2; DRAWLINE(duan>0 and duan<1000000, H,duan<0 and duan>-1000000,L,0),colorff6633,linethick2; benyip:缠论理论 nttz:缓存机制 本版特点: 0、dll公式; 1、逐行模式; 2、缓存机制-浏览过的品种、周期会缓存指标数据(即使关掉窗口); 3、增量计算-只做新数据的计算,类似逐根模式(逐行模式下一般情况都要从头重新计算); 4、当所有窗口都没有运行公式,即dll卸载后,所有的缓存数据才清除; 5、指标值括号里的表示段的序号,即第几段,括号外的是对应的macd值; 6、支持多线程。(说明:非缓存时没用到全局,所以不用担心冲突;缓存时有线程互斥保护) 未来方向(待续): 1、理论其余部分的实现; 2、缓存数据落地保存。 注意事项(待续): 1、因为会缓存数据,所以建议用于有关全市场所有品种功能时考虑内存问题。例如选股,如果是一次性操作,建议采用不使用缓存机制,即将公式缓存参数改为0。 2、尽量按课程原文算法制作,有些朋友有自己的解释不按课程的,不多解释,不喜勿下,只回答和课程有冲突的地方。 3、最后K是根据每tick动态计算的,但不是最终结果,缓存的数据是已完成K的划分。
| ||||