72 123
发新话题
打印

飞狐内置循环、判断等控制语句入门一(南客)

引用:
Originally posted by hx817 at 2004-12-18 03:26 PM:
  再看一例“fm:ma(c,5)”,这里的5日均价fm也是一个序列变量,可以看成下标从5开始直到datacount的数组。想想看,为什么起始下标不是从1开始,而是从5开始?我想知道K线图上倒数第2根K线对应的5日均价怎么写公 ...
hx817兄能把这些题的标准答案帖出吗?谢谢.

TOP

谢谢~ 学习

TOP

谢谢hx817

TOP

谢谢hx817

TOP

谢谢hx817

TOP

看帖学习,顶帖拿分!!!!!!!
缺口代表力量

TOP

谢谢~

谢谢~

TOP

引用:
  练习1:根据序列变量可以看成一个数组,编一个公式,求出当前股票的上市日期。
  练习2:函数barpos返回当前是第几根K线,由此,设计一个公式,在最后1根K线和倒数第10根K线处,用函数drawicon做一标记。
  练习3:画一条从上市第1天开始的水平直线,其高度等于当前股票的历史最高价。
  练习4:画一条从上市第1天开始的水平直线,其高度位于当前股票历史最高、最低价之间的一半位置。
  练习5:当前股票,2003年最高价是多少?首次出现该最高价的日期是哪天?
练习1:我好象没达到题目要求,因为DATE函数并不是序列变量,欢迎指正。
复制内容到剪贴板
代码:
上市日期:ref(date,barpos-1);
练习2:自我感觉是正确的。
复制内容到剪贴板
代码:
drawicon(barpos=datacount,c,1);
drawicon(barpos=datacount-9,c,1);
练习3、4:达不到所要求的水平直线,不知怎么修改才好?
复制内容到剪贴板
代码:
hh:=hhv(h,datacount);
ll:=llv(l,datacount);
历史最高价:hh;
中间价:(hh+ll)/2;
练习5:还没想好怎么下手?

TOP

发完贴后又想了下,终天达到练习3、4的水平直线要求了,如下:
复制内容到剪贴板
代码:
hh:=hhv(h,datacount);
ll:=llv(l,datacount);
历史最高价:hh[datacount];
中间价:(hh[datacount]+ll[datacount])/2;

TOP

练习1:总算达到题目要求,代码如下。
复制内容到剪贴板
代码:
dd:=date;
上市日期: dd[1];
练习5:还在思考中。。。

TOP

引用:
  练习5:当前股票,2003年最高价是多少?首次出现该最高价的日期是哪天?
想了半天,还是没有好办法,只能借用循环功能来实现这个要求,如下:
复制内容到剪贴板
代码:
dd:=date;yy:=year;hh:=hhv(high,0);
for i=datacount downto 1 do
  if yy[i]=2003 then break;
if yy[i]=2003 then begin
  最高:hh[i];
  for j=i downto 1 do
    if hh[j]>hh[j-1] then break;
  对应日期:dd[j];
end;

TOP

先顶再学!谢谢南客老师、817老师。

TOP

引用:
Originally posted by 欣儿 at 2005-8-23 09:24 PM:
先顶再学!谢谢南客老师、817老师。

TOP

好貼

TOP

学习

TOP

ding

TOP

谢谢!

TOP

引用:
原帖由 hx817 于 2004-12-18 15:26 发表
  再看一例“fm:ma(c,5)”,这里的5日均价fm也是一个序列变量,可以看成下标从5开始直到datacount的数组。想想看,为什么起始下标不是从1开始,而是从5开始?我想知道K线图上倒数第2根K线对应的5日均价怎么写公 ...

TOP

来学习,谢谢

TOP

半蒙半懂,哈哈!要是再细一点就好了!

TOP

先顶后看

TOP

真的太好了

TOP

谢谢!学习

TOP

谢谢你 前辈

在我认为自己是高手的时候 看到了你的帖子 我不禁感叹 原来早在那么多年前 已经有人能写出那么好的公式了

TOP

 72 123
发新话题
报警岗亭