以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 程序错误求助 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=146557) |
-- 作者:zxzasd456 -- 发布时间:2017/1/11 16:39:20 -- 程序错误求助 老师您好,我现在由于写了一个比较复杂的策略,调用到了4个标的物,且通过了近十几个脚本运行,导致在开盘时无法正确运行,毕盘时可以运行,这是因为什么原因?应该如何修改,倘若我现在有一个A公式 我是否有办法一次性调用一个公式中的两个参数吗?当前通过开三个程序是可以正常运行的,而合并至一个脚本中无法运行,是否有办法解决,倘若无法修改,如何将自建脚本中的值输出。
|
-- 作者:jinzhe -- 发布时间:2017/1/11 17:01:49 -- 实在是讲的太抽象,不懂你到底说了什么 |
-- 作者:jinzhe -- 发布时间:2017/1/11 17:05:02 -- 你要把代码贴一下,我测试下问题在哪里 |
-- 作者:zxzasd456 -- 发布时间:2017/1/11 17:15:47 -- 大概就是有一个脚本调用其他四个我自己写的脚本,这些脚本又调用了另外一些脚本,由于调用次数太多,每次运行这个程序的时候系统会卡住,但是如果毕盘之后是可以运行的,代码数量太多无法粘贴 |
-- 作者:jinzhe -- 发布时间:2017/1/11 17:21:09 -- 脚本指的是插件宏之类的吗 |
-- 作者:zxzasd456 -- 发布时间:2017/1/11 17:22:03 -- 公式 |
-- 作者:zxzasd456 -- 发布时间:2017/1/11 17:24:54 -- 用STKINDI(A.z)STKINDI(A.x)来调用另外一个公式里的值 |
-- 作者:jinzhe -- 发布时间:2017/1/11 17:26:12 -- 你多贴几个实际的代码例子出来 |
-- 作者:zxzasd456 -- 发布时间:2017/1/11 17:27:46 -- {多空91} input:统计分钟数(26,1,100),增减倍数(3,1,100); input:周期1(1,1,20,1),周期2(26,1,100,1); input:宽度(8,0,20,1); {多空差1} //VARIABLE:压力支撑=0,压力支撑1=0,区间=0; VARIABLE:数值=0,数值1=0; if BARSTATUS=1 then BEGIN
数值:=l;
数值1:=h; end //以下文字为构建2分钟多空差1的数据,为原来的双线上的多空差红色和绿色线; t1:=mod(todaybar,2); //求余数; t:=if(t1=0,2,t1); llv9:=llv(l,16+t),linethick0; hhv9:=hhv(h,16+t),linethick0; cl:=(c-llv9)/(hhv9-llv9)*100,linethick0; sma5r:=STKINDI(\'\',\'J.sma5r\',0,11,0); 做多力度:=(cl+4*sma5r)/5-8; hhv36:=hhv(h,2*35+t),linethick0; llv36:=llv(l,2*35+t),linethick0; ch:=(HHv36 - CLOSE) / (HHV36 - LLV36) * 100; sma2r:=STKINDI(\'\',\'J.sma2r\',0,11,0); 做空力度:=(ch+sma2r)/2; 多空差:=做多力度-做空力度; //以上文字为构建2分钟多空差1的数据,为原来的双线上的多空差红色和绿色线; //以下文字为计算多空91线的依据; 多空91均值:=sum(多空差,if(BARSCOUNT(CLOSE)<52,BARSCOUNT(CLOSE),52));// (原来在1分钟上的均值为26*2(构建的周期K线数字)=52); 增减:=(多空91均值-ref(多空91均值,1))*3; //以上文字为计算多空91线的依据; 金叉:=cross(多空差,0); 死叉:=cross(0,多空差); 金叉1:=cross(增减,0); 死叉1:=cross(0,增减); if 金叉 then begin
数值:=l;
//DRAWNUMBER(1,数值,数值,1),colorred;
end
if 死叉 then BEGIN
数值:=h;
//DRAWNUMBER(1,数值,数值,1),colorgreen;
end if 金叉1 then begin
数值1:=l;
//DRAWNUMBER(1,数值1,数值1,1),COLORyellow;
end
if 死叉1 then BEGIN
数值1:=h;
//DRAWNUMBER(1,数值1,数值1,1),COLORyellow;
end PARTLINE(多空差>0,数值),colorred,LINEDOT; PARTLINE(多空差<=0,数值),colorgreen,LINEDOT; PARTLINE(增减>0,数值1),COLORF00FF0,LINEDOT; PARTLINE(增减<0,数值1),COLORCYAN,LINEDOT; if 死叉 then begin//5分钟多空差空间 1F2F多空差线:=H;//5分钟多空差空间 end//5分钟多空差空间 if 金叉 then begin//5分钟多空差空间 1F2F多空差线:=L;//5分钟多空差空间 end//5分钟多空差空间
if 死叉1 then begin//5分钟多空差空间 1F2F多空91线:=H;//5分钟多空差空间 end//5分钟多空差空间 if 金叉1 then begin//5分钟多空差空间 1F2F多空91线:=L;//5分钟多空差空间 end//5分钟多空差空间 1F2F多空差线1:=1F2F多空差线; 1F2F多空91线1:=1F2F多空91线; 比如有比较多的这种代码一起构成一个系统
|
-- 作者:zxzasd456 -- 发布时间:2017/1/11 17:29:22 -- 上述代码中调用STKINDI(\'\',\'J.sma5r\',0,11,0); 类似的公式,然后由于多脚本调用的次数过多导致最后死机,请问老师这是由于系统的限制导致的还是什么原因 |