欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]所有的条件都成立了,请问为何调试的时候所有的参数都是0 。。连全局变量在声明的时候 都赋值成1了,调试的时候还是0. 请帮忙看看,谢谢。

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3056人关注过本帖树形打印复制链接

主题:[求助]所有的条件都成立了,请问为何调试的时候所有的参数都是0 。。连全局变量在声明的时候 都赋值成1了,调试的时候还是0. 请帮忙看看,谢谢。

帅哥哟,离线,有人找我吗?
clant
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:93 积分:30 威望:0 精华:0 注册:2013/5/2 0:16:41
[求助]所有的条件都成立了,请问为何调试的时候所有的参数都是0 。。连全局变量在声明的时候 都赋值成1了,调试的时候还是0. 请帮忙看看,谢谢。  发帖心情 Post By:2013/6/20 11:01:10    Post IP:222.66.40.34[只看该作者]

所有的条件都成立了,请问为何调试的时候 所有的参数 gao ,di, ,nn1 都是0. 

不应该啊,连全局变量在声明的时候 都赋值成1了,调试的时候还是0.

郁闷啊。

 

请帮忙看看,谢谢。

 

//-----变量声明----
GLOBALVARIABLE:gao=1,di=1;


variable:nn1[1]=0,nn2[1]=0;

 

//--------存储高低点值------

IF MACD>0.5 AND VA2 AND VA2!=UU and gao=1 then nn1[gao]=MACD;
IF MACD>0.5 AND VA2 AND VA2!=UU and gao!=1 then gao=gao+1;
IF MACD>0.5 AND VA2 AND VA2!=UU then SETUBOUND(nn1,gao),nn1[gao]=MACD;
nn3:nn1;

 

 

 

 

源码如下:

 

//----MACD-----
DIF:EMA((CLOSE+h+l)/3,12)-EMA((CLOSE+h+l)/3,26);
DEA:EMA(DIF,9);
MACD:DIF;
STICKLINE(MACD>=0,MACD,0 ,5,0) ,COLORred;
STICKLINE(MACD<0,MACD,0 ,5,0 ),COLORGREEN;
STICKLINE(MACD>0 AND MACD<REF(MACD,1),MACD,0,5,0),COLORYELLOW;
STICKLINE(MACD<0 AND MACD<REF(MACD,1),MACD,0,5,0),COLORBLUE;

//------高低点计算------
VA1:=HHVBARS(MACD,BARSLAST(MACD<0)+1);
VA2:=CROSS(BACKSET(CROSS(0,MACD),REF(VA1,1)+2),0.5);
VA3:=LLVBARS(MACD,BARSLAST(MACD>0)+1);
VA4:=CROSS(BACKSET(CROSS(MACD,0),REF(VA3,1)+2),0.5);
QG:=CROSS(BACKSET(CROSS(0,MACD) OR (ISLASTBAR AND MACD>0),REF(VA1,1)+2),0.5);
前高:DRAWLINE(VA2,MACD,REF(VA2,1),REF(MACD,1),1),COLORMAGENTA;
终点:=IF(ISLASTBAR AND MACD>0 AND MACD=HHV(MACD,BARSLAST(MACD<0)),1,IF(FILTERX(QG,BARSCOUNT(C)),2,DRAWNULL));
UU:=(终点=1 OR 终点=2) AND MACD>0;

//--------获取MACD前高---------
DRAWTEXT(MACD>0.5 AND VA2 AND VA2!=UU,(MACD/10)*9,'前'),COLORWHITE;
DRAWTEXT(MACD>0.5 AND VA2 AND VA2!=UU,MACD/10,'高'),COLORWHITE;

//--------获取MACD前低---------
DRAWTEXT(MACD<-0.5 AND VA4 AND VA4!=UU,(MACD/10)*9,'前'),COLORWHITE;
DRAWTEXT(MACD<-0.5 AND VA4 AND VA4!=UU,MACD/10,'低'),COLORWHITE;

 

 

 

//-----变量声明----
GLOBALVARIABLE:gao=1,di=1;
variable:nn1[1]=0,nn2[1]=0;

//--------存储高低点值------

IF MACD>0.5 AND VA2 AND VA2!=UU and gao=1 then nn1[gao]=MACD;
IF MACD>0.5 AND VA2 AND VA2!=UU and gao!=1 then gao=gao+1;
IF MACD>0.5 AND VA2 AND VA2!=UU then SETUBOUND(nn1,gao),nn1[gao]=MACD;
nn3:nn1;


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2013/6/20 11:06:44    Post IP:58.246.57.26[只看该作者]

IF MACD>0.5 AND VA2 AND VA2!=UU and gao!=1 then gao=gao+1;
最后的是判断,不是赋值,

要改成gao:=gao+1;



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
clant
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:93 积分:30 威望:0 精华:0 注册:2013/5/2 0:16:41
  发帖心情 Post By:2013/6/20 11:10:38    Post IP:222.66.40.34[只看该作者]

谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
clant
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:93 积分:30 威望:0 精华:0 注册:2013/5/2 0:16:41
  发帖心情 Post By:2013/6/20 11:14:19    Post IP:222.66.40.34[只看该作者]

该成gao:=gao+1;了,运行后还是0。

 

连GLOBALVARIABLE:gao:=1,di:=1;这个全局变量也是0.。

 

郁闷啊


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
请老师写个公式  发帖心情 Post By:2013/6/20 11:17:50    Post IP:58.246.57.26[只看该作者]

用超全局变量是为了什么目的?



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
clant
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:93 积分:30 威望:0 精华:0 注册:2013/5/2 0:16:41
  发帖心情 Post By:2013/6/20 11:25:12    Post IP:222.66.40.34[只看该作者]

记录  MACD>0.5 AND VA2 AND VA2!=UU  条件满足时的次数, 并扩充 数组变量 variable:nn1容量,    并将macd值 存入数组变量variable:nn1。
 
 
超全局变量GLOBALVARIABLE:gao:=1,  是用于记录 MACD>0.5 AND VA2 AND VA2!=UU  条件满足时 的次数。
IF MACD>0.5 AND VA2 AND VA2!=UU and gao!=1 then gao=gao+1;
 
 
 
并用于扩充 数组变量 variable:nn1的容量。 SETUBOUND(nn1,gao),
IF MACD>0.5 AND VA2 AND VA2!=UU then    SETUBOUND(nn1,gao),    nn1[gao]:=MACD;
 
 并将macd值 存入扩充后的 数组变量variable:nn1。
nn1[gao]:=MACD;

[此贴子已经被作者于2013/6/20 11:26:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
clant
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:93 积分:30 威望:0 精华:0 注册:2013/5/2 0:16:41
  发帖心情 Post By:2013/6/20 11:36:51    Post IP:222.66.40.34[只看该作者]

超全局变量GLOBALVARIABLE:gao:=1。明明在声明的时候已经初始化成1,单步调试运行到这里,居然是0.

 回到顶部