什么是分析和识别烛台的最有效方法?

时间:2014-07-21 08:19:05

标签: sql algorithm graph-algorithm

烛台(图表)是用于技术分析通常市场走势的工具。在市场或特定股权中:

open: opening price
close: closing price
high: highest price for the day
low: lowest price for the day

蜡烛由下图所示: Candlestick

现在有各种模式(2个或更多烛台)代表价格可能转向(逆转)或继续(延续)。这些模式也表明在某种模式之后最可能或通常的方向。

作为一个例子,这是一个bullish three inside up,表明看涨逆转: bullish three inside up

这是一个大的向下运动蜡烛(大的意思是身体至少是尾巴长度的两倍)。接着是一个轻微的向上移动,整个蜡烛可以适合前一个蜡烛的男孩(称为harami:怀孕的日语单词)。然后是向上运动,其中收盘价跌破第二个收盘价。

请注意,在这种情况下,我们要确保蜡烛的形状是规则的(即not hammers, hanging men, shooting star, inverted hammer, doji, spinning tops or marubozu)。 我们可以通过确保打开和关闭不相等来隔离,并且关闭/打开不等于顶部或底部。

数据集:

id      date        close       high        low         open
2284003 2014-07-14  25159.00    25391.00    25113.00    25074.00
2284864 2014-07-15  25227.00    25330.00    25044.00    25159.00
2285309 2014-07-16  25208.00    25463.00    25096.00    25227.00
2285310 2014-07-17  25365.00    25365.00    25031.00    25208.00
2287630 2014-07-18  25334.00    25383.00    24983.00    25365.00

返回识别算法......

  1. 识别第一支蜡烛(羽绒体长度是尾巴长度的两倍) 我将使用SQL:
  2. SELECT * FROM tbl WHERE (close < open) AND ((open - close) > 2 * ((high - open) + (low - close)))

    1. 现在我确定这可以在一个查询中完成,但我会假设此蜡烛的日期,打开和关闭记录在变量dtopcl中分别。所以我们发现蜡烛落在参数范围内。
    2. SELECT * FROM tbl WHERE date = DATE_ADD(dt, INTERVAL 1 DAY) AND (close > open) AND (high > close) AND (low < open) AND (high < op) AND (low > cl)

      1. 最后我们找到了最后一支蜡烛。 SELECT * FROM tbl WHERE date = DATE_ADD(dt2, INTERVAL 1 DAY) AND (close > open) AND (high > close) AND (low < open) AND (close > cl2) AND (close > cl)
      2. 现在我有一些效率问题: 1.我不保存开放,并使用前一天的收盘作为我需要改变的开放当然。 2.在大型数据集上,这可能需要很长时间。 3.有更有效的方法吗? (我不受mySQL约束,但我习惯了它。)

1 个答案:

答案 0 :(得分:1)

将表加入自身

SELECT * 
FROM tbl t1 
     join tbl t2 ON (t1.date=DATE_ADD(t2.date, INTERVAL 1 DAY))
WHERE
  t1.date>=start_date
and t1.date<end_date
-- plus all the candle restrictions here  --

您可以将t1的所有关闭/开启/高/低与来自t2的下一个日期值进行比较