一次添加一个数据,新数据将影响已有数据分析结果,如何进行设计?

我做的是股票数据分析。
只关注股票的最高价和最低价。
以三根K线关系,可以分为下降序列,就是3个K线一个比一个低。上升序列,一个比一个高。顶分型,中间高两边低,底分型,中间低两边高。如图:
下降序列:

 |
  |

上升序列:
  |
     |
    |
    顶分型:
     |
    | |
    底分型:
    | |
     |
    假设已经有了3根初始的K线,容易判断出当前属于什么类型。
    接下来会添加一根K线的数据。然后分析这4根K线会如何组合。
    比如底分型,如果新加K线呈上升态势,是一种。但如果新加K线和前面的两根又组合成了顶分型,也就是4根K线,变成了:
    | |
     | |
    如果前面3根组合,是底分型,如果后面3根组合,是顶分型。到底如何选择,要继续看后续添加的K线数据。
    再加入第5根K线。
    如果相对第4根K线是下降的,则图形组合成:
    | |
     | |
        |
    就是第一根K线暂时没有分析价值,2,3,4根K线组合成顶分型,5是下降序列的第一个。
    继续再加入第6根K线。如果第六比第五低,则继续是下降序列的一部分。如果第六比第五高,
    那么此事最后3根又组合成了底分型,签名的3根又失去了分析意义。
    只是举一个这么样的例子,规则很复杂,可能出现的情况很多。总结起来,就是每次新加一个数据,将会使得前面的分析结果完全放弃掉重新来过。

    那么我的主要目的是什么呢?就是能找到符合条件的顶和底,两者能连起来。假设找到一个合适的底了,那么我就要找到能与之匹配的顶。在找的过程中,新加入的数据往往破坏掉前面的分析结果,比如又出现了一个新的底。



    类似这样的情况,有什么好的设计方式?

根据你的描述,设计方式就是:只分析最近三根。

http://download.csdn.net/album/detail/1021

我只是以股票数据作为例子说明这种情况。
一般的数据分析模式,都是得到一个数据,分析之后得到一个对象,根据数据不同,可能是不同的对象。然后再得到一个数据,或者根据上一个数据的不同,需要得到一系列数据,产生出又一个对象,数据分析完毕之后,转换成一系列的对象。然后这些对象再自己处理数据。

但是有这种情况
先得到一个数据,分析之后得到一个对象,然后又得到一个数据,这个数据可能导致前面产生的对象需要破解,将原有数据与新数据重新组合产生新的对象。然后又得到一个数据,又需要将此数据与前面的对象打破然后重组成新的对象。

好比C++语言的分析过程:
先得到int
分析得到是一个关键字。
int1
分析得到是一个符号
int1 x
分析得到是一个变量
int1 x(
分析得到是一个函数