以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教老师,如何编写求距离收盘价最近的那根均线?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=82208)

--  作者:Q_Q
--  发布时间:2015/8/10 9:21:43
--  请教老师,如何编写求距离收盘价最近的那根均线?
n取值为2~30

在c之上,距离c最近的ma(c,n)n是5

在c之下,距离c最近的ma(c,n)n是18

请教5和18怎么程序编写求出,谢谢!

--  作者:jinzhe
--  发布时间:2015/8/10 9:42:15
--  

k:=10000000;
t:=-1000000000;
for i=2 to 30 do BEGIN
   if c<ma(c,i) and  c-ma(c,i)>t  then begin
       t:=c-ma(c,i);
       nn:=i;
   end
   if c>ma(c,i) and c-ma(c,i)<k  then begin
       k:=c-ma(c,i);
       ss:=i;
   end
end
sss:ss;
nnn:nn;

 

sss为ma在c之下的,nnn为ma在c之上的


--  作者:Q_Q
--  发布时间:2015/8/10 9:44:25
--  
cool,谢谢大牛jinzhe老师
--  作者:Q_Q
--  发布时间:2015/8/12 0:07:24
--  jinzhe老师再帮看看
k:=10000000; t:=-1000000000; for i=13 to 30 do BEGIN emac:=ema(c,i); if ct then begin t:=c-emac; nn:=i; end if c>ema(c,i) and c-ema(c,i)[此贴子已经被作者于2015/8/12 0:08:56编辑过]
--  作者:Q_Q
--  发布时间:2015/8/12 0:10:31
--  

k:=10000000;
t:=-1000000000;

for i=13 to 30 do BEGIN
emac:=ema(c,i);
if c<ema(c,i) and c-ema(c,i)>t then begin
t:=c-emac;
nn:=i;
end
if c>ema(c,i) and c-ema(c,i)<k then begin
k:=c-emac;
ss:=i;
end
end
下:ss,nodraw;
上:nn,nodraw;

drawnumber(ss,ema(c,ss),ss,0)colorred;
drawnumber(nn,ema(c,nn),nn,0);


图片点击可在新窗口打开查看此主题相关图片如下:newscreen11761750.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/8/12 0:11:08编辑过]

--  作者:jinzhe
--  发布时间:2015/8/12 9:11:50
--  
要序列计算,只能计算最后一根k线值
--  作者:Q_Q
--  发布时间:2015/8/12 9:35:42
--  
老师请帮想想办法,改成逐k计算的,序列计算得到的最后一根k线计算的常数无法用啊

谢谢

--  作者:jinzhe
--  发布时间:2015/8/12 9:38:55
--  
这个改不了,循环用在这里判断必须要序列的
--  作者:Q_Q
--  发布时间:2015/8/17 9:54:07
--  

循环必须逐k不能序列的怎么做啊,我需要学什么语言才可以?


--  作者:jinzhe
--  发布时间:2015/8/17 9:56:34
--  
这个只能是序列计算最后一根k线得出结果