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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]想用数组提取高点和低点未实现

   

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


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

主题:[求助]想用数组提取高点和低点未实现

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


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

截张图,里面要有能体现你讲的信息


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

客户服务部

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

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

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


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

改了代码,最近的高点、次近的高点的值都是0。显然想要的数据没有被写入数组里????

 

RUNMODE:1;
n:=DATACOUNT;
VARIABLE:短期高点数组[n] = 0;
VARIABLE:短期低点数组[n] = 0;

IF n > 3 THEN //当数据大于3根的时候执行以下代码
BEGIN
 FOR i = 3 TO n - 1 DO  //从第三根K线开始做循环
 BEGIN
  IF H[i] <= H[i-1] AND H[i-1] >= H[i-2] THEN //如果中间的K线的高点大于等于左右相邻的K线的高点
  BEGIN
   短期高点数组[i]:=H[i-1];//则为短期高点
  END

  IF L[i] >= L[i-1] AND L[i-1] <= L[i-2] THEN//如果中间的K线的低点小于等于左右相邻的K线的低点
  BEGIN
   短期低点数组[i]:=l[i-1];//则为短期低点
  END
 END
END

FOR i=1 TO n-1 DO BEGIN
 IF 短期高点数组[i]=0 THEN REMOVEBOUND(短期高点数组,i);
 IF 短期低点数组[i]=0 THEN REMOVEBOUND(短期低点数组,i);
end


短期高点个数:UBOUND(短期高点数组),NODRAW;//判断短期高点的数量
短期低点个数:UBOUND(短期低点数组),NODRAW;//判断短期低点的数量

最近的高点:短期高点数组[短期高点个数],NODRAW;
次近的高点:短期高点数组[短期高点个数 - 1],NODRAW;


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


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

改在哪里?



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

客户服务部

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

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

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


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

最近的高点:短期高点数组[短期高点个数],NODRAW;//为啥这个数据值为0????
次近的高点:短期高点数组[短期高点个数 - 1],NODRAW;//用眼睛观察这个数据取到了_相当于想要的上一行代码取到的值
第三近的高点:短期高点数组[短期高点个数 - 2],NODRAW;//同上一行
第四近的高点:短期高点数组[短期高点个数 - 3],NODRAW;//同上一行

 


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

 

RUNMODE:1;
n:=DATACOUNT;
VARIABLE:短期高点数组[n] = 0;
VARIABLE:短期低点数组[n] = 0;

IF n > 3 THEN //当数据大于3根的时候执行以下代码
BEGIN
 FOR i = 3 TO n - 1 DO  //从第三根K线开始做循环
 BEGIN
  IF H[i] <= H[i-1] AND H[i-1] >= H[i-2] THEN //如果中间的K线的高点大于等于左右相邻的K线的高点
  BEGIN
   短期高点数组[i]:=H[i-1];//则为短期高点
  END

  IF L[i] >= L[i-1] AND L[i-1] <= L[i-2] THEN//如果中间的K线的低点小于等于左右相邻的K线的低点
  BEGIN
   短期低点数组[i]:=l[i-1];//则为短期低点
  END
 END
END

FOR i=1 TO n - 1 DO BEGIN
 IF 短期高点数组[i]=0 THEN REMOVEBOUND(短期高点数组,i);
 IF 短期低点数组[i]=0 THEN REMOVEBOUND(短期低点数组,i);
end


短期高点个数:=UBOUND(短期高点数组),NODRAW;//判断短期高点的数量
短期低点个数:=UBOUND(短期低点数组),NODRAW;//判断短期低点的数量

最近的高点:短期高点数组[短期高点个数],NODRAW;//为啥这个数据值为0????
次近的高点:短期高点数组[短期高点个数 - 1],NODRAW;//用眼睛观察这个数据取到了_相当于想要的上一行代码取到的值
第三近的高点:短期高点数组[短期高点个数 - 2],NODRAW;//同上一行
第四近的高点:短期高点数组[短期高点个数 - 3],NODRAW;//同上一行


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


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

FOR i = 3 TO n - 1 DO  //从第三根K线开始做循环
循环的结束位置改了

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


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

最近的高点:短期高点数组[短期高点个数],NODRAW;//为啥这个数据值为0????


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


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

因为你去掉了啊。本来数组一共100(n)个数据,你只计算从1到99(n-1),那么第100(n)个是不是就是初始值,就是0 了?



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

客户服务部

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

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

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


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

老师,循环不 n-1 了,就是包含所有数据了,但为啥离当前最近的第三个高点数据是0呢???? 数组里的数据应该是连续存在的,只要数组里两头有数据,中间应该也必然有数据不应是0,错误在哪里?

 


图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看

//===============================================================
RUNMODE:1;
n:=DATACOUNT;
VARIABLE:短期高点数组[n] = 0;
VARIABLE:短期低点数组[n] = 0;

IF n > 3 THEN //当数据大于3根的时候执行以下代码
BEGIN
 FOR i = 3 TO n DO  //从第三根K线开始做循环
 BEGIN
  IF H[i] <= H[i-1] AND H[i-1] >= H[i-2] THEN //如果中间的K线的高点大于等于左右相邻的K线的高点
  BEGIN
   短期高点数组[i]:=H[i-1];//则为短期高点
  END

  IF L[i] >= L[i-1] AND L[i-1] <= L[i-2] THEN//如果中间的K线的低点小于等于左右相邻的K线的低点
  BEGIN
   短期低点数组[i]:=l[i-1];//则为短期低点
  END
 END
END

FOR i=1 TO n DO BEGIN
 IF 短期高点数组[i]=0 THEN REMOVEBOUND(短期高点数组,i);
 IF 短期低点数组[i]=0 THEN REMOVEBOUND(短期低点数组,i);
end

短期高点个数:=UBOUND(短期高点数组),NODRAW;//判断短期高点的数量
短期低点个数:=UBOUND(短期低点数组),NODRAW;//判断短期低点的数量

最近的高点:短期高点数组[短期高点个数],NODRAW;
次近的高点:短期高点数组[短期高点个数 - 1],NODRAW;
第三近的高点:短期高点数组[短期高点个数 - 2],NODRAW;
第四近的高点:短期高点数组[短期高点个数 - 3],NODRAW;


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


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

截图显示第三近高点的值是0啊!?

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


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

RUNMODE:1;
n:=DATACOUNT;
VARIABLE:短期高点数组[n] = 0;
VARIABLE:短期低点数组[n] = 0;

IF n > 3 THEN //当数据大于3根的时候执行以下代码
BEGIN
 FOR i = 3 TO n DO  //从第三根K线开始做循环
 BEGIN
  IF H[i] <= H[i-1] AND H[i-1] >= H[i-2] THEN //如果中间的K线的高点大于等于左右相邻的K线的高点
  BEGIN
   短期高点数组[i]:=H[i-1];//则为短期高点
  END

  IF L[i] >= L[i-1] AND L[i-1] <= L[i-2] THEN//如果中间的K线的低点小于等于左右相邻的K线的低点
  BEGIN
   短期低点数组[i]:=l[i-1];//则为短期低点
  END
 END
END

FOR i=n downto 1 DO BEGIN
 IF 短期高点数组[i]=0 THEN REMOVEBOUND(短期高点数组,i);
 IF 短期低点数组[i]=0 THEN REMOVEBOUND(短期低点数组,i);
end

短期高点个数:=UBOUND(短期高点数组),NODRAW;//判断短期高点的数量
短期低点个数:=UBOUND(短期低点数组),NODRAW;//判断短期低点的数量

最近的高点:短期高点数组[短期高点个数],NODRAW;
次近的高点:短期高点数组[短期高点个数 - 1],NODRAW;
第三近的高点:短期高点数组[短期高点个数 - 2],NODRAW;
第四近的高点:短期高点数组[短期高点个数 - 3],NODRAW;

 



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

客户服务部

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

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

 回到顶部
总数 28 上一页 1 2 3 下一页