以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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); 类似的公式,然后由于多脚本调用的次数过多导致最后死机,请问老师这是由于系统的限制导致的还是什么原因