Knocks/BackEnd/Knoks.PriceDB/Stored Procedures/USP_CRT_GetData.sql

470 lines
11 KiB
Transact-SQL

CREATE PROCEDURE [dbo].[USP_CRT_GetData]
@pair varchar(50),
@start DATETIME,
@end DATETIME,
@resolution varchar(10)
AS
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
/*
---- Example :
Exec [USP_CRT_GetData] 'EURUSD','2015-06-01', '2015-06-05','1'
*/
IF @resolution = '5'
Begin
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_5Minutes]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '5Minutes'
End
ELSE IF @resolution = '15'
Begin
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_15Minutes]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '15Minutes'
End
ELSE IF @resolution = '30'
Begin
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_30Minutes]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '30Minutes'
End
ELSE IF @resolution = '60'
Begin
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_1Hour]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '1Hour'
End
ELSE IF @resolution = '120'
Begin
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_2Hours]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '2Hours'
End
ELSE IF @resolution = '240'
Begin
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_4Hours]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '4Hours'
End
ELSE IF @resolution = '480'
Begin
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_8Hours]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '8Hours'
End
ELSE IF @resolution = 'D'
Begin
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_1Day]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '1Day'
End
ELSE IF @resolution = 'W'
Begin
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_1Week]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '1Week'
End
ELSE IF @resolution = 'M'
Begin
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_1Month]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '1Month'
End
ELSE
Begin
---- 1 Minute
SELECT
[CRTD_Period] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [CRT_Data_1Minute]
WHERE [CRTD_Period] >= @start
AND [CRTD_Period] <= @end
AND [CRTD_PairSymbol] = @pair
ORDER BY [CRTD_Period]
SELECT
[CRTD_CreationDate] as 'Timestamp'
,[CRTD_BidOpeningValue] as 'BidOpen'
,[CRTD_BidClosingValue] as 'BidClose'
,[CRTD_BidLowValue] as 'BidLow'
,[CRTD_BidHighValue] as 'BidHigh'
,[CRTD_MidOpeningValue] as 'MidOpen'
,[CRTD_MidClosingValue] as 'MidClose'
,[CRTD_MidLowValue] as 'MidLow'
,[CRTD_MidHighValue] as 'MidHigh'
FROM [dbo].[CRT_Data_LiveChart]
WHERE [CRTD_PairSymbol] = @pair
and [CRTD_TargetName] = '1Minute'
End
RETURN 0