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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]

   

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


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

主题:[求助]

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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2013/6/11 13:14:13
[求助]  发帖心情 Post By:2013/6/11 13:31:41    Post IP:27.36.76.254[显示全部帖子]

通过数组编写技术指标,因为循环中不方便引用值。

高手帮忙写下

目的要实现:如果当日涨幅超过6%,把该日成交量的值写在主图该日低点上
追问下面的数组的定义和使用有什么问题,本人菜鸟,勿喷。

 

RUNMODE:0;//逐K线模式运行
VARIABLE:CJL[]=0,SPJ[]=0,KPJ[]=0,j=DATACOUNT-230;//数组存放成交量 ,开盘,收盘数据,j监测230天
A:=VOL;
CJL:=A;
B:=OPEN;
KPJ:=B;
E:=CLOSE;
SPJ:=E; //给三个数组赋值

 

IF DATACOUNT-230<=0 THEN j=1; //避免少于230根日线的情况

FOR i=DATACOUNT DOWNTO j do
begin

DRAWTEXT( SPJ[i]/KPJ[i] >=1.06,LOW,'CJL[i]');//如果当天涨幅超过6%,把该日成交量的值写在主图该日低点上
end;

 

 


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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2013/6/11 13:14:13
  发帖心情 Post By:2013/6/13 15:03:13    Post IP:27.36.96.225[显示全部帖子]

主要是 数组的定义和使用不明白, 这样写可行?存在什么问题?

 

编译通过,运行说数组越界,求解释?


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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2013/6/11 13:14:13
  发帖心情 Post By:2013/6/13 15:11:22    Post IP:27.36.96.225[显示全部帖子]

其实就是想把一段时间的数据(开盘,收盘,成交量),放进数组里面,方便调用。要怎么写

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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2013/6/11 13:14:13
  发帖心情 Post By:2013/6/13 16:00:12    Post IP:27.36.96.225[显示全部帖子]

之前也看了     就是不知道 为什么会在这DRAWTEXT( SPJ[i]/KPJ[i] >=1.06,LOW,'CJL[i]');这行

 

 出现提示数组越界操作??  怎么会越界?


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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2013/6/11 13:14:13
  发帖心情 Post By:2013/6/13 16:03:52    Post IP:27.36.96.225[显示全部帖子]

RUNMODE:0;//逐K线模式运行
VARIABLE:CJL[]=0,SPJ[]=0,KPJ[]=0,j=DATACOUNT-230;//数组存放成交量 ,开盘,收盘数据,j监测230天
A:=VOL;
CJL:=A;
B:=OPEN;
KPJ:=B;
E:=CLOSE;
SPJ:=E; //给三个数组赋值

 

这个上面的应该没错吧,帮看下下面语句出了什么问题?


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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2013/6/11 13:14:13
  发帖心情 Post By:2013/6/13 18:25:06    Post IP:27.36.96.225[显示全部帖子]

多谢各位解惑。 关键是想搞清楚数组下标获得方法,和如何调用数组值。

还有一个疑问,我现在就是想取当前BL数组当前所指的位置的值 显示出来 ?BL[]数组的当前下标编号如何提取?数组要怎么调用?比方假设我以后要用到该数组BL[].

 

RUNMODE:0;
 VARIABLE:BL[]=0;
 BL:=VOL;//赋值填充
S: =UBOUND(BL); //取当前数组大小即位置
TXT:=NUMTOSTR(BL[S],0);//把当前BL[]转换文本
DRAWTEXT( C>1.05*O ,LOW,'TXT');//输出显示

 

这样写 怎么全都显示TXT,而不是想要的符合条件当时的BL[]数组的值?

 


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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2013/6/11 13:14:13
  发帖心情 Post By:2013/6/14 20:24:44    Post IP:27.36.75.10[显示全部帖子]

 感谢各位的建议,金字塔的功能强大  ,继续学习!

图片点击可在新窗口打开查看


 回到顶部