メモ:
メモ一覧
更新
-- シンプルに寄らずのストップ SELECT A.YMD ,AA.BEF_75YMD ,A.BRAND_CODE ,(select MIN(Z.LOW_AMT) from EveryDay4Data Z where Z.BRAND_CODE = A.BRAND_CODE AND Z.YMD BETWEEN AA.BEF_75YMD AND AA.YMD ) AS LOW_AMT_75 FROM EveryDay4Data A INNER JOIN EigyoCalendar AA ON AA.YMD = A.YMD WHERE A.YMD = '20190117' AND A.END_AMT > 200 AND A.END_AMT = A.START_AMT AND A.HIGH_AMT = A.LOW_AMT AND A.END_AMT > A.BEFORE_AMT * 1.15 AND A.END_AMT < A.BEFORE_AMT * 1.8 -- 日々銘柄 フィボ382 SELECT SS.* ,CASE WHEN SS.FIBO61 < SS.Y_MAX THEN SS.FIBO61 ELSE W2.END_AMT END - SS.FIBO38 AS AA FROM ( SELECT S.YMD ,S.TIME_NUM ,S.BRAND_CODE ,((S.MAX - S.MIN) * 0.382) + S.MIN AS FIBO38 ,((S.MAX - S.MIN) * 0.8) + S.MIN AS FIBO61 ,MIN(W.YMD) AS W_YMD ,MIN(W.TIME_NUM) AS W_TIME_NUM ,MAX(Y.HIGH_AMT) AS Y_MAX FROM ( SELECT A.YMD ,A.BRAND_CODE ,A.END_AMT ,A.TIME_NUM ,MAX(B.HIGH_AMT) AS MAX ,MIN(B.LOW_AMT) AS MIN FROM EveryDay4Data A INNER JOIN EveryDay4Data B ON B.BRAND_CODE = A.BRAND_CODE AND B.TIME_NUM BETWEEN A.TIME_NUM -60 AND A.TIME_NUM + 10 WHERE A.YMD BETWEEN '20200101' AND '20211102' AND A.HIGH_AMT = A.LOW_AMT AND A.END_AMT > A.BEFORE_AMT * 1.15 AND A.END_AMT > 300 GROUP BY A.YMD ,A.BRAND_CODE ,A.END_AMT ,A.TIME_NUM ) S INNER JOIN EveryDay4Data X ON X.BRAND_CODE = S.BRAND_CODE AND X.HIGH_AMT = S.MAX AND X.TIME_NUM >= S.TIME_NUM - 60 INNER JOIN EveryDay4Data W ON W.BRAND_CODE = S.BRAND_CODE AND W.TIME_NUM BETWEEN X.TIME_NUM AND S.TIME_NUM + 15 AND W.LOW_AMT <= ((S.MAX - S.MIN) * 0.382) + S.MIN INNER JOIN EveryDay4Data Y ON Y.BRAND_CODE = S.BRAND_CODE AND Y.TIME_NUM BETWEEN W.TIME_NUM + 1 AND W.TIME_NUM + 5 GROUP BY S.YMD ,S.TIME_NUM ,S.BRAND_CODE ,S.MAX ,S.MIN ) SS INNER JOIN EveryDay4Data W2 ON W2.BRAND_CODE = SS.BRAND_CODE AND W2.TIME_NUM = SS.W_TIME_NUM + 5 WHERE SS.YMD < SS.W_YMD