以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=52949)

--  作者: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;

 

 


--  作者:jinzhe
--  发布时间:2013/6/13 9:54:55
--  
如果只是需要如果当日涨幅超过6%,把该日成交量的值写在主图该日低点上完成这个目标的话,那么只需要用自定义函数

--  作者:多,额
--  发布时间:2013/6/13 12:56:48
--  
金字塔有数组吗?
--  作者:jackey_xw
--  发布时间:2013/6/13 15:03:13
--  

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

 

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


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

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

 

可参考该帖


--  作者:jackey_xw
--  发布时间:2013/6/13 16:00:12
--  

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

 

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


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

 

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


--  作者:王锋
--  发布时间:2013/6/13 17:27:34
--  
DRAWTEXT 是没法在循环函数中重复进行绘图输出的,不知道你这么写的用意是什么,如果是逐K线模式运行,那么不必要使用循环的,因为每根K线都会执行一遍公式的
--  作者: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[]数组的值?