以文本方式查看主题

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

--  作者:hehhh0327
--  发布时间:2011/11/21 15:46:44
--  请教

    请教各位高手如何用金字塔程序把一阶、二阶高低点表示出来,一阶、二阶高低点定义如下:

    假设两个合约的价差为时间序列t1,t2……tn,样本数为n。

    一阶高点:如果ti>ti+1,ti>ti-1,那么ti就是一个一阶高点。倘若相邻的两个价差值相等,则忽略其中靠后的那个价差,在与相邻的价差比较过程中只与前者比较。

    二阶高点:如果在一个高阶高点比它左右相邻的两个一阶高点价差都大,那就把它定义为一个二阶高点。倘若相邻的两个一阶高点相等,则忽略靠后的那个一阶高点,在与相邻的一阶高点比较的过程中只与前者比较。依次类推,可以定义价差的n阶高点。

 

  


--  作者:fly
--  发布时间:2011/11/21 16:34:31
--  

大体如下,供您参考.

variable:firhigh[100]=0,scdhigh[100]=0;
........
for i=2 to datacount do
    begin


    if cc[i]>=cc[i+1] and cc[i]>cc[i-1] then //其中cc为两合约的价差
       begin
       for m=1 to i do
            begin
            firhigh[m]:=cc[i];//记录1阶高点
   
            if m<3 then exit;
            if m>=3 and firhigh[m-1]>=firhigh[m] and firhigh[m-1]<firhigh[m-2] then
            for n=1 to m do
                 begin
                 scdhigh[n]:=firhigh[m-1];//记录2阶高点
                 end
            end
     end
 end