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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]数组值的问题,谢谢老师!

   

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


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

主题:[求助]数组值的问题,谢谢老师!

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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
[求助]数组值的问题,谢谢老师!  发帖心情 Post By:2017/3/7 13:50:44    Post IP:60.31.255.238[只看该作者]

  
此主题相关图片如下:1.png
按此在新窗口浏览图片

 

RUNMODE:0;//运行模式为逐K线计算

VARIABLE:arrSHV[] = 0;//短期波峰数组
VARIABLE:arrSHT[] = 0;//短期波峰位置数组
VARIABLE:arrSLV[] = 0;//短期波谷数组
VARIABLE:arrSLT[] = 0;//短期波谷位置数组
//===短期波峰===================================================================================

SHIF:=H[BARPOS-2] <= H[BARPOS-1] AND H[BARPOS-1] >= H[BARPOS];//判断波峰的条件

IF SHIF THEN BEGIN
 arrSHV:=H[BARPOS-1];  //波峰值
 arrSHT:=BARPOS-1;     //波峰位置
END

SHVN:=UBOUND(arrSHV),NODRAW;//波峰个数
SHTN:=UBOUND(arrSHT),NODRAW;//波峰位置个数

SH:arrSHV;//短期波峰轨道

//检查如上代码计算结果是否正确

EXPLAIN(SHVN>0,'最近波峰:'&NUMTOSTR(arrSHV[SHVN],2)),COLORYELLOW;
EXPLAIN(SHVN>0,'次近波峰:'&NUMTOSTR(arrSHV[SHVN-1],2)),COLORRED;
EXPLAIN(SHVN>0,'第三近波峰:'&NUMTOSTR(arrSHV[SHVN-2],2)),COLORWHITE;

EXPLAIN(SHTN>0,'最近波峰周期:'&NUMTOSTR(arrSHT[SHTN],0)),COLORYELLOW;
EXPLAIN(SHTN>0,'次近波峰周期:'&NUMTOSTR(arrSHT[SHTN-1],0)),COLORRED;
EXPLAIN(SHTN>0,'第三近波峰周期:'&NUMTOSTR(arrSHT[SHTN-2],0)),COLORWHITE;

EXPLAIN(SHVN>0,'第一个波峰:'&NUMTOSTR(arrSHV[1],2)),COLORYELLOW;
EXPLAIN(SHVN>0,'第二个波峰:'&NUMTOSTR(arrSHV[2],2)),COLORRED;
EXPLAIN(SHVN>0,'第三个波峰:'&NUMTOSTR(arrSHV[3],2)),COLORWHITE;
EXPLAIN(SHVN>0,'第四个波峰:'&NUMTOSTR(arrSHV[4],2)),COLORWHITE;

EXPLAIN(SHTN>0,'第一个波峰周期:'&NUMTOSTR(arrSHT[1],0)),COLORYELLOW;
EXPLAIN(SHTN>0,'第二个波峰周期:'&NUMTOSTR(arrSHT[2],0)),COLORRED;
EXPLAIN(SHTN>0,'第三个波峰周期:'&NUMTOSTR(arrSHT[3],0)),COLORWHITE;
EXPLAIN(SHTN>0,'第四个波峰周期:'&NUMTOSTR(arrSHT[4],0)),COLORWHITE;

//===短期波谷=====================================================================================
SLIF:=L[BARPOS-2] >= L[BARPOS-1] AND L[BARPOS-1] <= L[BARPOS];//判断波谷的条件

IF SLIF THEN BEGIN
 arrSLV:=L[BARPOS-1];  //波谷值
 arrSLT:=BARPOS-1;     //波谷位置
END

SLVN:=UBOUND(arrSLV),NODRAW;//波谷个数
SLTN:=UBOUND(arrSLT),NODRAW;//波谷位置个数

SL:arrSLV;//短期波谷轨道

//检查如上代码计算结果是否正确
EXPLAIN(SLVN>0,'最近波谷:'&NUMTOSTR(arrSLV[SLVN],2)),COLORYELLOW;
EXPLAIN(SLVN>0,'次近波谷:'&NUMTOSTR(arrSLV[SLVN-1],2)),COLORRED;
EXPLAIN(SLVN>0,'第三近波谷:'&NUMTOSTR(arrSLV[SLVN-2],2)),COLORWHITE;

EXPLAIN(SLTN>0,'最近波谷周期:'&NUMTOSTR(arrSLT[SLTN],0)),COLORYELLOW;
EXPLAIN(SLTN>0,'次近波谷周期:'&NUMTOSTR(arrSLT[SLTN-1],0)),COLORRED;
EXPLAIN(SLTN>0,'第三近波谷周期:'&NUMTOSTR(arrSLT[SLTN-2],0)),COLORWHITE;

EXPLAIN(SLVN>0,'第一个波谷:'&NUMTOSTR(arrSLV[1],2)),COLORYELLOW;
EXPLAIN(SLVN>0,'第二个波谷:'&NUMTOSTR(arrSLV[2],2)),COLORRED;
EXPLAIN(SLVN>0,'第三个波谷:'&NUMTOSTR(arrSLV[3],2)),COLORWHITE;
EXPLAIN(SLVN>0,'第四个波谷:'&NUMTOSTR(arrSLV[4],2)),COLORWHITE;

EXPLAIN(SLTN>0,'第一个波谷周期:'&NUMTOSTR(arrSLT[1],0)),COLORYELLOW;
EXPLAIN(SLTN>0,'第二个波谷周期:'&NUMTOSTR(arrSLT[2],0)),COLORRED;
EXPLAIN(SLTN>0,'第三个波谷周期:'&NUMTOSTR(arrSLT[3],0)),COLORWHITE;
EXPLAIN(SLTN>0,'第四个波谷周期:'&NUMTOSTR(arrSLT[4],0)),COLORWHITE;



 


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2017/3/7 14:08:32    Post IP:180.169.30.6[只看该作者]

http://www.weistock.com/bbs/dispbbs.asp?BoardID=10&ID=30380&replyID=&skin=1

这里常规数组和序列变量之间的转换



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

客户服务部

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

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

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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
  发帖心情 Post By:2017/3/7 14:27:06    Post IP:60.31.255.238[只看该作者]

看过了,但还是不知道如何解决问题!请老师帮助,莫非需要用REMOVEBOUND(X,D),来解决问题?

删除数组的数据:
REMOVEBOUND(X,D),X为数组名称,D为数据的下标
例如:REMOVEBOUND(X,5);表示删除数组X的第5个数组数据


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2017/3/7 14:42:15    Post IP:180.169.30.6[只看该作者]

因为h[barpos-2]是一个序列变量是一个特殊的数组,在第一根k线上是没有ref(h,2)的,但是数组是会自动填充值为第一个数据。你的条件是大于等于,在第一根k线上相当于第一根k线的最高值在自己互相比较,全部满足条件。


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

客户服务部

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

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

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2017/3/7 14:46:23    Post IP:180.169.30.6[只看该作者]

无论是把条件里面的等于号去掉还是用ref替代掉[barpos],都能不在第一根k线上给数组赋值


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

客户服务部

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

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

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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
  发帖心情 Post By:2017/3/7 15:40:06    Post IP:60.31.255.238[只看该作者]

我试着在上面的代码里加了条件语句让它从K线大于3时才开始运算,也不行的,怎么办?

IF DATACOUNT > 3 THEN BEGIN

...

END


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


加好友 发短信
等级:论坛游民 帖子:108 积分:0 威望:0 精华:0 注册:2016/12/13 12:08:16
  发帖心情 Post By:2017/3/7 15:40:29    Post IP:60.31.255.238[只看该作者]

RUNMODE:0;//运行模式为逐K线计算

VARIABLE:arrSHV[] = 0;//短期波峰数组
VARIABLE:arrSHT[] = 0;//短期波峰位置数组
VARIABLE:arrSLV[] = 0;//短期波谷数组
VARIABLE:arrSLT[] = 0;//短期波谷位置数组
//===短期波峰===================================================================================
IF DATACOUNT > 3 THEN BEGIN

SHIF:=H[BARPOS-2] <= H[BARPOS-1] AND H[BARPOS-1] >= H[BARPOS];//判断波峰的条件

IF SHIF THEN BEGIN
 arrSHV:=H[BARPOS-1];  //波峰值
 arrSHT:=BARPOS-1;     //波峰位置
END

SHVN:=UBOUND(arrSHV),NODRAW;//波峰个数
SHTN:=UBOUND(arrSHT),NODRAW;//波峰位置个数

SH:arrSHV;//短期波峰轨道

//检查如上代码计算结果是否正确

EXPLAIN(SHVN>0,'最近波峰:'&NUMTOSTR(arrSHV[SHVN],2)),COLORYELLOW;
EXPLAIN(SHVN>0,'次近波峰:'&NUMTOSTR(arrSHV[SHVN-1],2)),COLORRED;
EXPLAIN(SHVN>0,'第三近波峰:'&NUMTOSTR(arrSHV[SHVN-2],2)),COLORWHITE;

EXPLAIN(SHTN>0,'最近波峰周期:'&NUMTOSTR(arrSHT[SHTN],0)),COLORYELLOW;
EXPLAIN(SHTN>0,'次近波峰周期:'&NUMTOSTR(arrSHT[SHTN-1],0)),COLORRED;
EXPLAIN(SHTN>0,'第三近波峰周期:'&NUMTOSTR(arrSHT[SHTN-2],0)),COLORWHITE;

EXPLAIN(SHVN>0,'第一个波峰:'&NUMTOSTR(arrSHV[1],2)),COLORYELLOW;
EXPLAIN(SHVN>0,'第二个波峰:'&NUMTOSTR(arrSHV[2],2)),COLORRED;
EXPLAIN(SHVN>0,'第三个波峰:'&NUMTOSTR(arrSHV[3],2)),COLORWHITE;
EXPLAIN(SHVN>0,'第四个波峰:'&NUMTOSTR(arrSHV[4],2)),COLORWHITE;

EXPLAIN(SHTN>0,'第一个波峰周期:'&NUMTOSTR(arrSHT[1],0)),COLORYELLOW;
EXPLAIN(SHTN>0,'第二个波峰周期:'&NUMTOSTR(arrSHT[2],0)),COLORRED;
EXPLAIN(SHTN>0,'第三个波峰周期:'&NUMTOSTR(arrSHT[3],0)),COLORWHITE;
EXPLAIN(SHTN>0,'第四个波峰周期:'&NUMTOSTR(arrSHT[4],0)),COLORWHITE;

//===短期波谷=====================================================================================

SLIF:=L[BARPOS-2] >= L[BARPOS-1] AND L[BARPOS-1] <= L[BARPOS];//判断波谷的条件

IF SLIF THEN BEGIN
 arrSLV:=L[BARPOS-1];  //波谷值
 arrSLT:=BARPOS-1;     //波谷位置
END

SLVN:=UBOUND(arrSLV),NODRAW;//波谷个数
SLTN:=UBOUND(arrSLT),NODRAW;//波谷位置个数

SL:arrSLV;//短期波谷轨道

//检查如上代码计算结果是否正确
EXPLAIN(SLVN>0,'最近波谷:'&NUMTOSTR(arrSLV[SLVN],2)),COLORYELLOW;
EXPLAIN(SLVN>0,'次近波谷:'&NUMTOSTR(arrSLV[SLVN-1],2)),COLORRED;
EXPLAIN(SLVN>0,'第三近波谷:'&NUMTOSTR(arrSLV[SLVN-2],2)),COLORWHITE;

EXPLAIN(SLTN>0,'最近波谷周期:'&NUMTOSTR(arrSLT[SLTN],0)),COLORYELLOW;
EXPLAIN(SLTN>0,'次近波谷周期:'&NUMTOSTR(arrSLT[SLTN-1],0)),COLORRED;
EXPLAIN(SLTN>0,'第三近波谷周期:'&NUMTOSTR(arrSLT[SLTN-2],0)),COLORWHITE;

EXPLAIN(SLVN>0,'第一个波谷:'&NUMTOSTR(arrSLV[1],2)),COLORYELLOW;
EXPLAIN(SLVN>0,'第二个波谷:'&NUMTOSTR(arrSLV[2],2)),COLORRED;
EXPLAIN(SLVN>0,'第三个波谷:'&NUMTOSTR(arrSLV[3],2)),COLORWHITE;
EXPLAIN(SLVN>0,'第四个波谷:'&NUMTOSTR(arrSLV[4],2)),COLORWHITE;

EXPLAIN(SLTN>0,'第一个波谷周期:'&NUMTOSTR(arrSLT[1],0)),COLORYELLOW;
EXPLAIN(SLTN>0,'第二个波谷周期:'&NUMTOSTR(arrSLT[2],0)),COLORRED;
EXPLAIN(SLTN>0,'第三个波谷周期:'&NUMTOSTR(arrSLT[3],0)),COLORWHITE;
EXPLAIN(SLTN>0,'第四个波谷周期:'&NUMTOSTR(arrSLT[4],0)),COLORWHITE;

END


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2017/3/7 15:42:27    Post IP:180.169.30.6[只看该作者]

barpos>3


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

客户服务部

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

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

 回到顶部