以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求助:如何找到最接近数组里某个数的值  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=98194)

--  作者:1127aaa
--  发布时间:2016/6/2 23:19:10
--  求助:如何找到最接近数组里某个数的值

preclose:CALLSTOCK(‘510050’ ,vtCLOSE ,6,-1   );//取得昨日的收盘价
VARIABLE:OP_K[30]=0; //定义一个数组

op_k[1]:=1.5; //数组第一个数字是1.5

//数组第一个数字是1.5,第二个是1.55,如此类推。
for i=2 to 30 do begin 
op_k[i]:=op_k[i-1]+0.05;
end;


n:10000;
m:0;

//对比昨日收盘价与数组组合,找到最接近昨日收盘价的数组数值。例如昨日收盘价是2.49,则m应该等于2.5
FOR i=1 TO 30 DO BEGIN 
if abs(op_k[i]-PRECLOSE)<n  THEN begin 
n:=abs(op_k[i]-PRECLOSE);
m:=op_k[i];
end 
END ;


--  作者:jinzhe
--  发布时间:2016/6/3 9:15:17
--  
FOR i=1 TO 30 DO BEGIN 
if abs(op_k[i]-close)<n then n:=op_k[i];
end