Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]

1楼
jackey_xw 发表于:2013/6/11 13:31:41

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

高手帮忙写下

目的要实现:如果当日涨幅超过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;

 

 

2楼
jinzhe 发表于:2013/6/13 9:54:55
如果只是需要如果当日涨幅超过6%,把该日成交量的值写在主图该日低点上完成这个目标的话,那么只需要用自定义函数
3楼
多,额 发表于:2013/6/13 12:56:48
金字塔有数组吗?
4楼
jackey_xw 发表于:2013/6/13 15:03:13

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

 

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

5楼
jackey_xw 发表于:2013/6/13 15:11:22
其实就是想把一段时间的数据(开盘,收盘,成交量),放进数组里面,方便调用。要怎么写
6楼
fly 发表于:2013/6/13 15:33:15

http://www.weistock.com/bbs/dispbbs.asp?BoardID=2&ID=30365&skin=0

 

可参考该帖

7楼
jackey_xw 发表于:2013/6/13 16:00:12

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

 

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

8楼
jackey_xw 发表于:2013/6/13 16:03:52

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; //给三个数组赋值

 

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

9楼
王锋 发表于:2013/6/13 17:27:34
DRAWTEXT 是没法在循环函数中重复进行绘图输出的,不知道你这么写的用意是什么,如果是逐K线模式运行,那么不必要使用循环的,因为每根K线都会执行一遍公式的
10楼
jackey_xw 发表于:2013/6/13 18:25:06

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

还有一个疑问,我现在就是想取当前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[]数组的值?

 

共13 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 3 queries.