From fd21b2ea343ddc2eb9b95e3fa7a5239032629e2c Mon Sep 17 00:00:00 2001 From: Josue Nina Date: Mon, 9 Dec 2024 17:54:10 -0500 Subject: [PATCH 1/6] Implement ZigZag Indicator --- Indicators/ZigZag.cs | 175 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 Indicators/ZigZag.cs diff --git a/Indicators/ZigZag.cs b/Indicators/ZigZag.cs new file mode 100644 index 000000000000..f98b05b26d81 --- /dev/null +++ b/Indicators/ZigZag.cs @@ -0,0 +1,175 @@ +/* + * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. + * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +using System; +using QuantConnect.Data.Market; + +namespace QuantConnect.Indicators +{ + /// + /// The ZigZag indicator identifies significant turning points in price movements, + /// filtering out noise using a sensitivity threshold and a minimum trend length. + /// It alternates between high and low pivots to determine market trends. + /// + public class ZigZag : BarIndicator, IIndicatorWarmUpPeriodProvider + { + /// + /// Stores the most recent high pivot value in the ZigZag calculation. + /// Updated whenever a valid high pivot is identified. + /// + public decimal HighPivot { get; set; } + + /// + /// Stores the most recent low pivot value in the ZigZag calculation. + /// Updated whenever a valid low pivot is identified. + /// + public decimal LowPivot { get; set; } + + /// + /// The sensitivity threshold for detecting significant price movements. + /// A decimal value between 0 and 1 that determines the percentage change required + /// to recognize a new pivot. + /// + private readonly decimal _sensitivity; + + /// + /// The minimum number of bars required to confirm a valid trend. + /// Ensures that minor fluctuations in price do not create false pivots. + /// + private readonly int _minTrendLength; + + /// + /// A counter to track the number of bars since the last pivot was identified. + /// Used to enforce the minimum trend length requirement. + /// + private int _count; + + /// + /// Tracks whether the most recent pivot was a low pivot. + /// Used to alternate between identifying high and low pivots. + /// + private bool _lastPivotWasLow; + + /// + /// The most recent pivot point, represented as a bar of market data. + /// Used as a reference for calculating subsequent pivots. + /// + private IBaseDataBar _lastPivot; + + /// + /// Initializes a new instance of the class with the specified parameters. + /// + /// The name of the indicator. + /// The sensitivity threshold as a decimal value between 0 and 1. + /// The minimum number of bars required to form a valid trend. + public ZigZag(string name, decimal sensitivity = 0.05m, int minTrendLength = 1) : base(name) + { + if (sensitivity <= 0 || sensitivity >= 1) + { + throw new ArgumentException("Sensitivity must be between 0 and 1.", nameof(sensitivity)); + } + + if (minTrendLength < 1) + { + throw new ArgumentException("Minimum trend length must be greater than 0.", nameof(minTrendLength)); + } + + _sensitivity = sensitivity; + _minTrendLength = minTrendLength; + } + + /// + /// Initializes a new instance of the class using default parameters. + /// + /// The sensitivity threshold as a decimal value between 0 and 1. + /// The minimum number of bars required to form a valid trend. + public ZigZag(decimal sensitivity = 0.05m, int minTrendLength = 1) + : this($"ZZ({sensitivity},{minTrendLength})", sensitivity, minTrendLength) + { + } + + /// + /// Indicates whether the indicator has enough data to produce meaningful output. + /// The indicator is considered "ready" when the number of samples exceeds the minimum trend length. + /// + public override bool IsReady => Samples > _minTrendLength; + + /// + /// Gets the number of periods required for the indicator to warm up. + /// This is equal to the minimum trend length plus one additional bar for initialization. + /// + public int WarmUpPeriod => _minTrendLength + 1; + + /// + /// Computes the next value of the ZigZag indicator based on the input bar. + /// Determines whether the input bar forms a new pivot or updates the current trend. + /// + /// The current bar of market data used for the calculation. + /// + /// The value of the most recent pivot, either a high or low, depending on the current trend. + /// + protected override decimal ComputeNextValue(IBaseDataBar input) + { + if (_lastPivot == null) + { + _lastPivot = input; + _lastPivotWasLow = true; + _count = 0; + return decimal.Zero; + } + + var currentPivot = _lastPivotWasLow ? _lastPivot.Low : _lastPivot.High; + + if (_lastPivotWasLow) + { + if (input.High >= _lastPivot.Low * (1m + _sensitivity) && _count >= _minTrendLength) + { + _lastPivot = input; + HighPivot = input.High; + _lastPivotWasLow = false; + _count = 0; + currentPivot = HighPivot; + } + else if (input.Low <= _lastPivot.Low) + { + _lastPivot = input; + LowPivot = input.Low; + currentPivot = LowPivot; + _count = 0; + } + } + else + { + if (input.Low <= _lastPivot.High * (1m - _sensitivity) && _count >= _minTrendLength) + { + _lastPivot = input; + LowPivot = input.Low; + _lastPivotWasLow = true; + _count = 0; + currentPivot = LowPivot; + } + else if (input.High >= _lastPivot.High) + { + _lastPivot = input; + HighPivot = input.High; + currentPivot = HighPivot; + _count = 0; + } + } + _count++; + return currentPivot; + } + } +} From 787ffe3e71cf11d3414d881908b604e7afb7a3ce Mon Sep 17 00:00:00 2001 From: Josue Nina Date: Mon, 9 Dec 2024 17:54:34 -0500 Subject: [PATCH 2/6] Create Unit Test for ZigZag Indicator --- Tests/Indicators/ZigZagTests.cs | 77 +++ Tests/QuantConnect.Tests.csproj | 3 + Tests/TestData/spy_zigzag.csv | 1146 +++++++++++++++++++++++++++++++ 3 files changed, 1226 insertions(+) create mode 100644 Tests/Indicators/ZigZagTests.cs create mode 100644 Tests/TestData/spy_zigzag.csv diff --git a/Tests/Indicators/ZigZagTests.cs b/Tests/Indicators/ZigZagTests.cs new file mode 100644 index 000000000000..53a64d1154c5 --- /dev/null +++ b/Tests/Indicators/ZigZagTests.cs @@ -0,0 +1,77 @@ +/* + * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. + * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +using System; +using NUnit.Framework; +using QuantConnect.Data.Market; +using QuantConnect.Indicators; + +namespace QuantConnect.Tests.Indicators +{ + [TestFixture] + public class ZigZagTests : CommonIndicatorTests + { + protected override IndicatorBase CreateIndicator() + { + return new ZigZag("ZigZag", 0.05m, 10); + } + protected override string TestFileName => "spy_zigzag.csv"; + + protected override string TestColumnName => "zigzag"; + + [Test] + public void HighPivotShouldBeZeroWhenAllValuesAreEqual() + { + var zigzag = new ZigZag("ZigZag", 0.05m, 5); + var date = new DateTime(2024, 12, 2, 12, 0, 0); + + for (int i = 0; i < 10; i++) + { + var data = new TradeBar + { + Symbol = Symbol.Empty, + Time = date, + Open = 5, + Low = 5, + High = 5, + }; + zigzag.Update(data); + } + Assert.AreEqual(0m, zigzag.HighPivot); + } + + [Test] + public void LowPivotReflectsInputWhenValuesAreEqual() + { + var zigzag = new ZigZag("ZigZag", 0.05m, 5); + var date = new DateTime(2024, 12, 2, 12, 0, 0); + var value = 5m; + + for (int i = 0; i < 10; i++) + { + var data = new TradeBar + { + Symbol = Symbol.Empty, + Time = date, + Open = value, + Low = value, + High = value, + }; + zigzag.Update(data); + } + Assert.AreEqual(value, zigzag.LowPivot); + } + } +} \ No newline at end of file diff --git a/Tests/QuantConnect.Tests.csproj b/Tests/QuantConnect.Tests.csproj index 88daa6e7d5f5..0966a6825bf2 100644 --- a/Tests/QuantConnect.Tests.csproj +++ b/Tests/QuantConnect.Tests.csproj @@ -618,6 +618,9 @@ PreserveNewest + + PreserveNewest + diff --git a/Tests/TestData/spy_zigzag.csv b/Tests/TestData/spy_zigzag.csv new file mode 100644 index 000000000000..1189e021155c --- /dev/null +++ b/Tests/TestData/spy_zigzag.csv @@ -0,0 +1,1146 @@ +date,open,high,low,close,volume,zigzag +19980102 00:00,973100,975300,965300,973600,2150000, +19980105 00:00,978400,984400,967800,977500,4030800, +19980106 00:00,972500,972800,961900,966300,2821800, +19980107 00:00,960900,965000,952200,964700,5225400, +19980108 00:00,963100,963100,955000,957800,3249100, +19980109 00:00,952500,955000,919100,924700,10000200, +19980112 00:00,911300,941900,909100,940600,11953200,909100 +19980113 00:00,946300,956300,942200,952200,5006400, +19980114 00:00,956900,959700,947200,958100,3738000, +19980115 00:00,955000,957500,948100,949400,2726400, +19980116 00:00,962500,966900,956600,962300,4185400, +19980120 00:00,966900,980000,965000,980000,4373400, +19980121 00:00,972200,976900,961600,971600,4526300, +19980122 00:00,961600,968800,958800,963000,4484300, +19980123 00:00,965000,967800,950000,956600,6231300, +19980126 00:00,963800,967300,937500,957500,4280800, +19980127 00:00,958100,980000,956600,970000,6639000, +19980128 00:00,974100,981100,971700,978800,4089900, +19980129 00:00,978400,995600,975600,987500,7706300, +19980130 00:00,987800,989700,980000,983100,3333000, +19980202 00:00,999100,1005000,997500,1002500,5587200, +19980203 00:00,1000000,1008100,997200,1006900,2656800, +19980204 00:00,1002800,1011600,998800,1005900,3283800, +19980205 00:00,1013100,1015900,1000300,1003800,4970800, +19980206 00:00,1010000,1015000,1006900,1012800,5531800, +19980209 00:00,1017200,1017500,1007200,1011400,2277100, +19980210 00:00,1014400,1024700,1011900,1020500,3624500, +19980211 00:00,1020900,1031900,1017000,1021300,4020500, +19980212 00:00,1017200,1029400,1008800,1026600,5102800, +19980213 00:00,1021900,1029400,1018800,1021600,1889500, +19980217 00:00,1028100,1030900,1021600,1023400,2945300, +19980218 00:00,1023100,1034700,1022800,1034100,2919600, +19980219 00:00,1032500,1034100,1027500,1030000,3330600, +19980220 00:00,1030800,1037500,1023800,1035600,3594700, +19980223 00:00,1042500,1042500,1033400,1040000,3131700, +19980224 00:00,1039100,1040900,1029400,1031900,3241700, +19980225 00:00,1037500,1048800,1036300,1044800,3348400, +19980226 00:00,1044400,1051600,1041900,1050600,3604100, +19980227 00:00,1049700,1055300,1043100,1052000,3335400, +19980302 00:00,1052500,1057500,1046300,1048100,4126000, +19980303 00:00,1045300,1054700,1045000,1054100,3177500, +19980304 00:00,1050900,1054100,1040600,1049700,4395900, +19980305 00:00,1035000,1044400,1031600,1037500,7153500, +19980306 00:00,1045600,1058800,1044400,1057500,6702600, +19980309 00:00,1055300,1062200,1052500,1054400,3282800, +19980310 00:00,1062200,1068400,1053800,1066600,5582900, +19980311 00:00,1069700,1073100,1067300,1072500,3426500, +19980312 00:00,1070900,1075900,1065000,1072500,3057400, +19980313 00:00,1078400,1080000,1068800,1072200,2743800, +19980316 00:00,1078400,1082800,1075300,1082500,3073800, +19980317 00:00,1083100,1085000,1076600,1084700,4577900, +19980318 00:00,1082500,1089400,1080000,1087800,1820900, +19980319 00:00,1089700,1093800,1086600,1093400,2450000, +19980320 00:00,1095600,1101900,1088800,1100000,2828600, +19980323 00:00,1097200,1103100,1094100,1095000,4383400, +19980324 00:00,1100600,1108100,1099400,1105900,3293800, +19980325 00:00,1114100,1115300,1091900,1101900,4484900, +19980326 00:00,1098800,1107500,1096300,1101300,3319600, +19980327 00:00,1107500,1107800,1090000,1095300,2512200, +19980330 00:00,1096300,1100900,1089700,1093400,2776500, +19980331 00:00,1101600,1111900,1097500,1100900,5726500, +19980401 00:00,1103100,1110800,1094100,1109800,2828500, +19980402 00:00,1109400,1122500,1107500,1120300,3947500, +19980403 00:00,1123400,1128100,1118400,1121900,3726100, +19980406 00:00,1132500,1133800,1120600,1122500,4029500, +19980407 00:00,1117500,1119400,1101600,1110000,5200100, +19980408 00:00,1112200,1112800,1097500,1101300,4762900, +19980409 00:00,1105600,1112800,1105300,1110000,4367800, +19980413 00:00,1113800,1113800,1100000,1110000,4216000, +19980414 00:00,1111300,1117200,1109100,1116900,3219500, +19980415 00:00,1119700,1121300,1111600,1120200,3811700, +19980416 00:00,1113100,1115000,1105000,1109100,7242500, +19980417 00:00,1107200,1124100,1104400,1122200,5414800, +19980420 00:00,1120000,1125600,1118800,1124100,3606300, +19980421 00:00,1124400,1131600,1119100,1126300,4573300, +19980422 00:00,1128800,1134400,1128100,1130000,2288400,1134400 +19980423 00:00,1126300,1130000,1117500,1120900,4848500, +19980424 00:00,1117500,1124700,1103400,1108800,11129100, +19980427 00:00,1093800,1106600,1076300,1085900,14372900, +19980428 00:00,1097800,1098100,1081300,1086300,6213200, +19980429 00:00,1090300,1099700,1084400,1095300,7582100, +19980430 00:00,1105600,1119200,1104100,1114400,8226200, +19980501 00:00,1117500,1123100,1113100,1121900,3768600, +19980504 00:00,1127200,1133100,1121600,1122500,4332900, +19980505 00:00,1120000,1121600,1111300,1116600,4969800, +19980506 00:00,1121300,1121300,1104700,1105000,5221600, +19980507 00:00,1105000,1105600,1094100,1095900,6769900, +19980508 00:00,1100000,1113800,1100000,1110000,7888200, +19980511 00:00,1115600,1122200,1103800,1108600,6219300, +19980512 00:00,1108100,1118800,1102500,1116400,5983800, +19980513 00:00,1120600,1125600,1115900,1120600,4355500, +19980514 00:00,1115300,1126900,1113400,1119700,4229300, +19980515 00:00,1120000,1122200,1108100,1110000,6807000, +19980518 00:00,1107200,1115900,1098300,1108400,4751100, +19980519 00:00,1110000,1116900,1107800,1110600,5877900, +19980520 00:00,1120900,1125000,1108800,1122800,5775400, +19980521 00:00,1123800,1127800,1113100,1116900,6427100, +19980522 00:00,1117500,1120600,1109400,1111600,4659700, +19980526 00:00,1120900,1120900,1094400,1095300,6262300, +19980527 00:00,1093100,1099100,1075800,1096300,10286000,1075800 +19980528 00:00,1098800,1103800,1087300,1100000,4778900, +19980529 00:00,1106300,1108100,1093800,1093800,4583900, +19980601 00:00,1089700,1102200,1085600,1095000,5829200, +19980602 00:00,1100000,1103400,1091600,1095900,6477900, +19980603 00:00,1098800,1101900,1082200,1085000,6262700, +19980604 00:00,1082500,1100600,1080600,1099100,6317300, +19980605 00:00,1103800,1118800,1098800,1118100,8140300, +19980608 00:00,1119400,1124700,1116600,1118800,4056700, +19980609 00:00,1117200,1124200,1114100,1122800,2680400, +19980610 00:00,1116300,1130600,1112500,1113800,6336300, +19980611 00:00,1114400,1118800,1092800,1096600,7897100, +19980612 00:00,1098800,1104400,1082500,1102500,9700700, +19980615 00:00,1088100,1099100,1078800,1080000,9754800, +19980616 00:00,1084100,1091600,1077500,1090600,7245000, +19980617 00:00,1101600,1117800,1099400,1112500,11964800, +19980618 00:00,1111900,1114400,1107500,1111600,3749600, +19980619 00:00,1110600,1112300,1096300,1100300,3538200, +19980622 00:00,1102500,1110600,1100600,1103800,5357100, +19980623 00:00,1110900,1121900,1110000,1119700,5205600, +19980624 00:00,1121600,1136900,1116100,1134700,8222700, +19980625 00:00,1139100,1144700,1128100,1130000,5837700, +19980626 00:00,1133100,1138400,1131300,1134100,4753900, +19980629 00:00,1142500,1146900,1138000,1138900,6537200, +19980630 00:00,1139100,1141900,1130600,1133600,4126100, +19980701 00:00,1140600,1149400,1136300,1149400,3241200, +19980702 00:00,1147200,1148800,1142500,1146300,3432900, +19980706 00:00,1147800,1158400,1145600,1157800,3042100, +19980707 00:00,1159800,1161300,1152800,1155600,4847300, +19980708 00:00,1158800,1169400,1157500,1168100,6773100, +19980709 00:00,1162800,1167200,1156300,1160000,7258600, +19980710 00:00,1160300,1169100,1150600,1165300,7739800, +19980713 00:00,1165600,1168400,1160600,1167500,6846100, +19980714 00:00,1169400,1181600,1169400,1178100,7119900, +19980715 00:00,1180600,1182800,1174400,1175600,4908000, +19980716 00:00,1176900,1185900,1170600,1184400,6239600, +19980717 00:00,1186300,1190000,1183100,1187500,3478600, +19980720 00:00,1187500,1192300,1179400,1185000,2238300, +19980721 00:00,1190000,1190000,1162800,1165300,5107200, +19980722 00:00,1163400,1195900,1155300,1166300,10611500,1195900 +19980723 00:00,1163100,1168400,1138800,1141900,14881000, +19980724 00:00,1149700,1150900,1128800,1141600,11706000, +19980727 00:00,1136300,1150000,1128400,1149800,9360300, +19980728 00:00,1144400,1146600,1118800,1133100,13422500, +19980729 00:00,1137200,1141300,1122500,1126600,6932100, +19980730 00:00,1136300,1145900,1134100,1143400,6617400, +19980731 00:00,1143400,1145000,1113100,1120600,7679600, +19980803 00:00,1117800,1124200,1110300,1113800,10349100, +19980804 00:00,1122200,1122200,1072500,1076100,14468800, +19980805 00:00,1079400,1088800,1055900,1081600,21457200, +19980806 00:00,1081300,1095200,1075600,1090900,13163000, +19980807 00:00,1096900,1105900,1084700,1090300,11718400, +19980810 00:00,1087500,1096600,1081900,1085900,6055400, +19980811 00:00,1067800,1074400,1055000,1070600,14385600, +19980812 00:00,1077500,1088100,1075000,1085000,10997500, +19980813 00:00,1088100,1096600,1076300,1076400,8529600, +19980814 00:00,1083400,1087200,1057800,1064800,7995800, +19980817 00:00,1060000,1089400,1055000,1085000,11035000, +19980818 00:00,1090000,1105900,1087800,1102500,7245000, +19980819 00:00,1110900,1110900,1096300,1100000,6054300, +19980820 00:00,1096900,1104100,1091600,1092500,7590600, +19980821 00:00,1081900,1087200,1055000,1083800,16427600, +19980824 00:00,1092500,1099400,1083100,1090600,7902200, +19980825 00:00,1103800,1112500,1086400,1095000,9623400, +19980826 00:00,1082800,1096300,1077500,1085000,9090300, +19980827 00:00,1070000,1078400,1038900,1042500,24042400, +19980828 00:00,1049700,1057200,1021600,1030000,23196400, +19980831 00:00,1037500,1040200,950000,962500,22799800, +19980901 00:00,960600,1005600,936300,996900,24391500,936300 +19980902 00:00,998100,1017500,987800,990000,13984400, +19980903 00:00,976300,993800,966900,985200,16873300, +19980904 00:00,994400,998100,957800,976300,16414800, +19980908 00:00,1008800,1029700,998100,1025900,14307900, +19980909 00:00,1027500,1031300,1004800,1007500,12026000, +19980910 00:00,984400,993400,968100,982500,19666100, +19980911 00:00,981900,1015000,970000,1012500,20203300, +19980914 00:00,1028800,1044500,1020900,1031600,10318300, +19980915 00:00,1028800,1043100,1022800,1042000,8166200, +19980916 00:00,1047500,1052500,1031600,1050000,11125300, +19980917 00:00,1022500,1030300,1017800,1022300,12549700, +19980918 00:00,1023800,1024100,1010900,1019700,6667900, +19980921 00:00,996300,1034100,989400,1021900,8552400, +19980922 00:00,1035000,1036600,1021600,1030000,7070200, +19980923 00:00,1038800,1070000,1037800,1066300,12804500,1070000 +19980924 00:00,1063100,1068100,1032500,1043800,10809300, +19980925 00:00,1031300,1054200,1026300,1043000,10051500, +19980928 00:00,1053100,1063100,1042500,1049100,8368600, +19980929 00:00,1053800,1059400,1033800,1049400,10488400, +19980930 00:00,1035000,1043100,1013800,1018400,7537300, +19981001 00:00,1000300,1015500,980900,986300,12833400, +19981002 00:00,988800,1008800,972200,1003100,14014100, +19981005 00:00,995900,1000000,963400,990000,12408900, +19981006 00:00,1007500,1012800,975300,985300,12216900, +19981007 00:00,986300,1000300,957500,972200,13942400, +19981008 00:00,945600,967500,922200,962200,20019400,922200 +19981009 00:00,970000,995600,940600,986300,11865900, +19981012 00:00,1006300,1014400,996900,997800,9127600, +19981013 00:00,995600,1004100,987500,995300,5916200, +19981014 00:00,989400,1018100,988400,1005000,8056200, +19981015 00:00,1001300,1072500,999400,1050300,19735400, +19981016 00:00,1061300,1067500,1050000,1056600,16305900, +19981019 00:00,1056900,1068100,1055000,1063400,7627400, +19981020 00:00,1075600,1088000,1060900,1065000,14236900, +19981021 00:00,1068800,1076300,1058800,1071300,8997900, +19981022 00:00,1067800,1084700,1061600,1080000,8012900, +19981023 00:00,1079700,1080000,1067800,1071300,6188800, +19981026 00:00,1077200,1085600,1067800,1075500,5654900, +19981027 00:00,1084400,1089700,1062800,1066300,9865800, +19981028 00:00,1065600,1078100,1060300,1067800,5499700, +19981029 00:00,1070900,1089700,1066300,1089700,8847200, +19981030 00:00,1101300,1109100,1095000,1100000,9498800, +19981102 00:00,1108100,1117500,1101900,1114800,6351000, +19981103 00:00,1115900,1118100,1107500,1111300,6573900, +19981104 00:00,1124700,1130900,1110900,1118400,7788100, +19981105 00:00,1115300,1138100,1111300,1137300,6686200, +19981106 00:00,1134700,1145000,1133100,1142800,5136100, +19981109 00:00,1139400,1142500,1125000,1131400,5908800, +19981110 00:00,1130000,1139400,1125000,1126900,9142100, +19981111 00:00,1138100,1140600,1118900,1123800,10735000, +19981112 00:00,1123100,1131300,1116900,1120300,5396300, +19981113 00:00,1122200,1130600,1121300,1127700,5531900, +19981116 00:00,1142200,1143600,1128900,1138400,5934200, +19981117 00:00,1136600,1156300,1130000,1143400,8944500, +19981118 00:00,1143100,1149400,1135000,1147500,4538000, +19981119 00:00,1152800,1159100,1146300,1155000,5115600, +19981120 00:00,1163600,1167500,1158400,1166300,5351500, +19981123 00:00,1174700,1192200,1171600,1191600,6442400, +19981124 00:00,1190000,1196600,1184500,1186900,5121600, +19981125 00:00,1189400,1191900,1181600,1188800,4268500, +19981127 00:00,1194700,1197200,1190000,1195000,4562000, +19981130 00:00,1190200,1193800,1166600,1166900,7991700, +19981201 00:00,1161300,1180300,1152200,1178100,8773600, +19981202 00:00,1172200,1179100,1160000,1175000,7322100, +19981203 00:00,1172500,1183100,1151900,1152800,11737800, +19981204 00:00,1166300,1188800,1155900,1179700,10616800, +19981207 00:00,1180600,1195300,1180000,1192500,4105700, +19981208 00:00,1185300,1197500,1175000,1184700,9996400, +19981209 00:00,1186900,1189700,1178800,1188100,5259600, +19981210 00:00,1188400,1188400,1167200,1168100,5844400, +19981211 00:00,1164400,1173400,1155600,1170600,8669100, +19981214 00:00,1161600,1164100,1139100,1144700,9276400, +19981215 00:00,1146900,1167500,1145300,1166300,9482100, +19981216 00:00,1171300,1171300,1157500,1164100,7183500, +19981217 00:00,1172200,1185600,1170200,1185000,6720200, +19981218 00:00,1183100,1191300,1178800,1190200,4027900, +19981221 00:00,1192500,1213400,1190000,1203100,8465700, +19981222 00:00,1204100,1212200,1191900,1205300,5581100, +19981223 00:00,1211900,1231900,1208100,1228100,7558200, +19981224 00:00,1231600,1238800,1222800,1226900,1557500, +19981228 00:00,1232500,1233100,1220000,1226300,4031000, +19981229 00:00,1227200,1244400,1221300,1243100,3747300, +19981230 00:00,1239400,1247500,1230300,1233800,6962800, +19981231 00:00,1233100,1239400,1224700,1228800,6480500, +19990104 00:00,1233800,1252200,1217200,1228800,9480700, +19990105 00:00,1229400,1248800,1229400,1244400,7840800, +19990106 00:00,1258100,1276300,1257500,1275000,7648500, +19990107 00:00,1263800,1272200,1257800,1269400,5364300, +19990108 00:00,1281900,1285000,1259700,1275000,6076900,1285000 +19990111 00:00,1276900,1276900,1252200,1262800,7455600, +19990112 00:00,1262200,1262200,1238100,1240000,7434300, +19990113 00:00,1204100,1251300,1203800,1233100,10563100, +19990114 00:00,1236300,1239100,1209100,1211600,11370000, +19990115 00:00,1223800,1247800,1220300,1243100,7757900, +19990119 00:00,1253000,1274700,1235000,1252800,6270400, +19990120 00:00,1260900,1279400,1250300,1256300,6222800, +19990121 00:00,1255800,1258400,1232200,1235900,6408000, +19990122 00:00,1221300,1238400,1217800,1225600,7249900, +19990125 00:00,1232800,1240000,1219100,1236300,5008100, +19990126 00:00,1241300,1257200,1236300,1255000,5893300, +19990127 00:00,1263800,1266300,1244100,1244700,7089500, +19990128 00:00,1252500,1269700,1251900,1266600,5763500, +19990129 00:00,1273400,1283000,1254100,1278800,5990400, +19990201 00:00,1286900,1286900,1270000,1270900,9098500, +19990202 00:00,1270800,1272200,1247700,1262800,9197400, +19990203 00:00,1256900,1279400,1256600,1271900,10155700, +19990204 00:00,1273800,1275000,1248100,1248400,6727600, +19990205 00:00,1256600,1256600,1232200,1240000,7444000, +19990208 00:00,1250900,1250900,1233400,1243800,8364900, +19990209 00:00,1243800,1245000,1215600,1218600,8502300, +19990210 00:00,1221300,1230000,1213300,1226900,6492100, +19990211 00:00,1230600,1256900,1225000,1256900,8880800, +19990212 00:00,1248100,1255000,1226300,1235000,10496300, +19990216 00:00,1247500,1256300,1233800,1243800,6590400, +19990217 00:00,1231900,1253600,1222500,1227500,7447000, +19990218 00:00,1231900,1243800,1222200,1239400,8844800, +19990219 00:00,1240000,1257500,1233800,1239400,5219200, +19990222 00:00,1244400,1277200,1242800,1276900,10212200, +19990223 00:00,1275900,1285000,1265900,1275000,7631500, +19990224 00:00,1278400,1288400,1254100,1254100,6777300, +19990225 00:00,1245300,1252800,1225900,1247500,11219400, +19990226 00:00,1247500,1248400,1228100,1239100,9233600, +19990301 00:00,1236600,1243100,1208800,1237800,7594300,1208800 +19990302 00:00,1245000,1253100,1223100,1228100,9311200, +19990303 00:00,1230900,1235600,1217800,1231300,7558900, +19990304 00:00,1240600,1252300,1232700,1250000,7787300, +19990305 00:00,1275000,1281300,1259200,1278100,10091200, +19990308 00:00,1282800,1288000,1272500,1285200,4553000, +19990309 00:00,1281300,1299400,1274400,1282500,7703600, +19990310 00:00,1284700,1292200,1277800,1290300,3748200, +19990311 00:00,1296900,1311900,1288800,1302200,6543200, +19990312 00:00,1310000,1310300,1292200,1295300,4963300, +19990315 00:00,1299400,1311900,1295000,1311600,5257400, +19990316 00:00,1311300,1316600,1304700,1309800,4422900, +19990317 00:00,1306900,1309400,1296300,1302500,4380300, +19990318 00:00,1297800,1323400,1297500,1321600,3537400, +19990319 00:00,1323100,1326300,1298400,1300600,5265200, +19990322 00:00,1300600,1305900,1294200,1299100,4422000, +19990323 00:00,1293100,1296300,1257000,1264100,9302400, +19990324 00:00,1268400,1271600,1256300,1269400,5950500, +19990325 00:00,1280600,1292500,1277500,1291300,6432000, +19990326 00:00,1286300,1291300,1277200,1284700,5881500, +19990329 00:00,1291600,1314400,1291600,1312200,5395500, +19990330 00:00,1299400,1312200,1295600,1303400,5090200, +19990331 00:00,1311600,1316100,1284400,1286300,7029600, +19990401 00:00,1296900,1296900,1281300,1293800,7473900, +19990405 00:00,1309400,1323800,1302500,1323800,5533700, +19990406 00:00,1321900,1329800,1311600,1319400,5022000, +19990407 00:00,1326900,1333800,1313800,1328800,6056300, +19990408 00:00,1331900,1347800,1322800,1345300,5645500, +19990409 00:00,1344400,1356900,1335900,1348800,4132000, +19990412 00:00,1334700,1362500,1332200,1360600,7944600, +19990413 00:00,1362500,1364700,1340300,1351900,10581100, +19990414 00:00,1360600,1360600,1326900,1330300,11566600, +19990415 00:00,1334400,1335600,1310000,1326300,11010600, +19990416 00:00,1329100,1329100,1311900,1321300,6139800, +19990419 00:00,1326900,1345300,1283800,1289100,12557100, +19990420 00:00,1298100,1310300,1288800,1306300,8576400, +19990421 00:00,1310600,1337800,1257800,1336900,5330700, +19990422 00:00,1351300,1362500,1343900,1359700,6576600, +19990423 00:00,1358800,1367500,1350000,1357500,4218900, +19990426 00:00,1365000,1368100,1354700,1361300,3304000, +19990427 00:00,1371300,1375000,1358400,1365600,4907600,1375000 +19990428 00:00,1364400,1372500,1350000,1353400,5446900, +19990429 00:00,1355600,1360600,1338100,1345600,9593600, +19990430 00:00,1350900,1356300,1315000,1334700,10538700, +19990503 00:00,1334400,1357200,1330300,1356300,10658900, +19990504 00:00,1351300,1358100,1331300,1333100,10221800, +19990505 00:00,1339400,1350000,1318400,1349700,9747000, +19990506 00:00,1344400,1351300,1323800,1335000,13134000, +19990507 00:00,1345000,1349800,1334400,1346300,8344100, +19990510 00:00,1348400,1357200,1335300,1342200,5372100, +19990511 00:00,1353100,1368800,1257800,1357200,6679600, +19990512 00:00,1357500,1372200,1315000,1366300,15070800, +19990513 00:00,1372500,1380000,1368100,1370200,4174600, +19990514 00:00,1345600,1362500,1333100,1343000,8210400, +19990517 00:00,1336300,1344800,1323100,1343100,6277500, +19990518 00:00,1345300,1349800,1326300,1336300,8114700, +19990519 00:00,1344700,1348800,1332500,1348100,4273700, +19990520 00:00,1351300,1355900,1300600,1343100,4349700, +19990521 00:00,1341300,1346900,1195800,1334200,6117400,1195800 +19990524 00:00,1338400,1338400,1303900,1310900,7687100, +19990525 00:00,1313800,1323400,1286900,1288400,9523800, +19990526 00:00,1293100,1310000,1280900,1306600,12776900, +19990527 00:00,1298400,1302800,1280000,1284400,13998900, +19990528 00:00,1290000,1307500,1285900,1305900,8348100, +19990601 00:00,1301300,1301600,1283800,1298800,6391500, +19990602 00:00,1297500,1301900,1206300,1297800,6812100, +19990603 00:00,1306900,1309100,1297800,1302800,5933500, +19990604 00:00,1314700,1331900,1309400,1319400,9507800, +19990607 00:00,1334400,1341900,1329100,1337500,5078600, +19990608 00:00,1333800,1338000,1315900,1321600,5000500, +19990609 00:00,1324100,1330900,1318100,1321600,7428700, +19990610 00:00,1314400,1315000,1295900,1309100,6785900, +19990611 00:00,1312200,1322200,1290900,1298100,12587100, +19990614 00:00,1306900,1307500,1295500,1297800,6542000, +19990615 00:00,1304700,1316600,1300800,1305900,5438900, +19990616 00:00,1323800,1338800,1321600,1334800,7562200, +19990617 00:00,1328800,1355600,1326300,1346600,8476400, +19990618 00:00,1340600,1346900,1333800,1343100,2601000, +19990621 00:00,1344700,1350000,1336600,1349400,4452000, +19990622 00:00,1340000,1351900,1333400,1337000,5603600, +19990623 00:00,1330000,1336300,1321300,1332800,9474700, +19990624 00:00,1328800,1338100,1306600,1316900,9029400, +19990625 00:00,1325900,1330200,1312500,1316600,3966300, +19990628 00:00,1326900,1336300,1324700,1333800,5175700, +19990629 00:00,1330000,1351300,1327800,1351300,6514400, +19990630 00:00,1346300,1375000,1338400,1367500,16362400, +19990701 00:00,1370000,1385000,1360600,1380600,9586200, +19990702 00:00,1381300,1393000,1379100,1391900,3637300, +19990706 00:00,1392500,1407500,1385900,1387200,10954800, +19990707 00:00,1390600,1397200,1385200,1395600,3052600, +19990708 00:00,1390600,1406300,1387500,1395600,7133500, +19990709 00:00,1400000,1404700,1393800,1402200,2770400, +19990712 00:00,1409400,1409400,1395000,1400600,4233900, +19990713 00:00,1393800,1399200,1386600,1395000,6359600, +19990714 00:00,1400000,1402200,1387500,1398400,4246900, +19990715 00:00,1407800,1488800,1403100,1411300,3236000,1488800 +19990716 00:00,1412500,1421600,1407500,1420000,2078000, +19990719 00:00,1421900,1422500,1405600,1410000,4029000, +19990720 00:00,1401300,1404100,1375300,1378000,6843600, +19990721 00:00,1380900,1389100,1370000,1378800,4599000, +19990722 00:00,1374400,1380000,1354700,1361400,7580400, +19990723 00:00,1366600,1370000,1351300,1357500,4432000, +19990726 00:00,1348800,1361300,1346300,1350000,4026700, +19990727 00:00,1360000,1372000,1353800,1365000,5722800, +19990728 00:00,1362500,1373100,1355900,1367300,3803200, +19990729 00:00,1349400,1352500,1333100,1343800,7638800, +19990730 00:00,1348100,1353400,1328800,1330900,5569700, +19990802 00:00,1327500,1347500,1325000,1329400,5783300, +19990803 00:00,1337200,1338400,1313800,1323600,5268700, +19990804 00:00,1327200,1338800,1305300,1306900,5986000, +19990805 00:00,1308800,1317200,1288400,1315600,9910600, +19990806 00:00,1312200,1320000,1295000,1300600,7129800, +19990809 00:00,1305900,1318000,1297200,1300500,5162600, +19990810 00:00,1298800,1301600,1270000,1282200,9971000,1270000 +19990811 00:00,1296900,1305300,1286300,1305300,7796900, +19990812 00:00,1306900,1318100,1300000,1300200,6292100, +19990813 00:00,1316300,1332500,1311300,1331900,5609100, +19990816 00:00,1331300,1339700,1322500,1333800,3637600, +19990817 00:00,1344400,1351600,1331300,1347000,4708500, +19990818 00:00,1342000,1343800,1334100,1335600,4046500, +19990819 00:00,1323800,1332300,1316900,1328800,6345700, +19990820 00:00,1330600,1339100,1326900,1338800,3054700, +19990823 00:00,1348100,1364500,1346600,1363900,5284900, +19990824 00:00,1360600,1379700,1353800,1365000,9108100, +19990825 00:00,1371900,1387800,1279100,1384400,5894000,1387800 +19990826 00:00,1382800,1384200,1365000,1365000,4057900, +19990827 00:00,1368800,1370600,1351300,1351600,5935300, +19990830 00:00,1353400,1355000,1323900,1326600,4286300, +19990831 00:00,1329400,1337500,1307500,1325000,11968000, +19990901 00:00,1329400,1335600,1323100,1335600,6137800, +19990902 00:00,1321300,1326700,1306600,1322500,11370700, +19990903 00:00,1348800,1362800,1346900,1361900,9796800, +19990907 00:00,1360600,1366300,1342800,1355200,4507400, +19990908 00:00,1348400,1360600,1335000,1349100,6999800, +19990909 00:00,1347500,1352500,1336900,1351300,5950500, +19990910 00:00,1362500,1363600,1349400,1354500,2671700, +19990913 00:00,1351300,1354700,1345000,1348100,2130600, +19990914 00:00,1340600,1345600,1333800,1340600,3558700, +19990915 00:00,1354400,1354400,1320600,1320800,6522800, +19990916 00:00,1325000,1328100,1303100,1323800,15114200, +19990917 00:00,1326300,1339400,1321600,1337200,8371300, +19990920 00:00,1339400,1340000,1330900,1336300,2602800, +19990921 00:00,1322500,1324700,1301600,1309100,9018700, +19990922 00:00,1312500,1318400,1297500,1311600,12758600, +19990923 00:00,1318100,1342500,1237800,1280000,11455200,1237800 +19990924 00:00,1277500,1283800,1263100,1280600,13686000, +19990927 00:00,1287500,1297500,1282800,1282800,6797200, +19990928 00:00,1279400,1288100,1255600,1281900,11184900, +19990929 00:00,1284400,1291300,1267800,1267800,7351000, +19990930 00:00,1274400,1294400,1269700,1283800,7185300, +19991001 00:00,1279400,1285600,1266300,1283400,10818900, +19991004 00:00,1291900,1306300,1287500,1306300,6202900, +19991005 00:00,1307200,1319700,1286900,1301900,11376700, +19991006 00:00,1307500,1328100,1306900,1326300,11399000, +19991007 00:00,1328600,1330000,1315000,1320000,5986000, +19991008 00:00,1317500,1338800,1312300,1337200,9560400, +19991011 00:00,1335900,1341300,1333100,1338100,3970800, +19991012 00:00,1331300,1333100,1311900,1314100,8223800, +19991013 00:00,1306900,1313100,1282500,1286600,10731100, +19991014 00:00,1284800,1291900,1267500,1284100,10461400, +19991015 00:00,1260000,1267500,1245000,1248100,14030700, +19991018 00:00,1249400,1257500,1234400,1255600,9088500, +19991019 00:00,1271900,1282500,1259400,1260800,17208700, +19991020 00:00,1277500,1292500,1271300,1292200,8467400, +19991021 00:00,1272200,1288800,1266300,1286300,9352900, +19991022 00:00,1297500,1312200,1295600,1303400,8087900, +19991025 00:00,1293100,1304700,1287500,1295000,7667400, +19991026 00:00,1301900,1306900,1281900,1282500,5696200, +19991027 00:00,1283800,1303100,1282500,1301300,5049600, +19991028 00:00,1324400,1345000,1321900,1345000,10053700, +19991029 00:00,1358400,1376900,1357200,1365600,10480000, +19991101 00:00,1365000,1370000,1356300,1359400,3631400, +19991102 00:00,1359700,1372500,1347500,1348100,5787700, +19991103 00:00,1360000,1363800,1351300,1356900,7310900, +19991104 00:00,1367500,1373600,1357700,1364700,7695600, +19991105 00:00,1386300,1391100,1367800,1372200,7618700, +19991108 00:00,1370000,1383800,1367500,1379400,4517900, +19991109 00:00,1385000,1386900,1362800,1367200,4361300, +19991110 00:00,1362500,1383900,1360800,1377500,6173600, +19991111 00:00,1381900,1385600,1374700,1383800,4724400, +19991112 00:00,1392500,1399700,1371300,1397500,15589200, +19991115 00:00,1398400,1402500,1394100,1398100,2101000, +19991116 00:00,1405600,1426300,1400900,1424400,7442900, +19991117 00:00,1422500,1429400,1413100,1415600,9129600, +19991118 00:00,1424400,1430000,1416300,1428100,11360400, +19991119 00:00,1424100,1429700,1420000,1425000,4641100, +19991122 00:00,1424400,1430000,1415000,1424700,4149600, +19991123 00:00,1428400,1428400,1400600,1408800,5948300, +19991124 00:00,1407500,1424400,1400000,1420600,4357200, +19991126 00:00,1424700,1428800,1412500,1414400,1694900, +19991129 00:00,1408800,1419200,1404400,1410000,7653200, +19991130 00:00,1407500,1423100,1390000,1392500,8403900, +19991201 00:00,1393100,1405000,1390000,1401300,6790400, +19991202 00:00,1406300,1413600,1403800,1411300,6706200, +19991203 00:00,1430300,1454100,1430300,1436900,9860300, +19991206 00:00,1435300,1437200,1422500,1427500,2950200, +19991207 00:00,1432800,1433100,1413800,1419400,10334900, +19991208 00:00,1413400,1420600,1406300,1406300,4357000, +19991209 00:00,1418100,1422200,1393800,1410000,6029100, +19991210 00:00,1422800,1428100,1408800,1420000,4698200, +19991213 00:00,1414400,1427200,1412800,1421300,3919800, +19991214 00:00,1416300,1424800,1406300,1408100,5625700, +19991215 00:00,1403800,1422000,1400000,1418000,6539200, +19991216 00:00,1421900,1426600,1411600,1423800,5503200, +19991217 00:00,1430000,1433100,1420600,1423800,4355000, +19991220 00:00,1425600,1431900,1410900,1416900,4888100, +19991221 00:00,1415900,1440600,1413400,1433400,7829500, +19991222 00:00,1436300,1441900,1429700,1437500,5250700, +19991223 00:00,1450200,1464400,1449700,1460900,5566200, +19991227 00:00,1465000,1467800,1450600,1458100,2602500, +19991228 00:00,1458800,1465000,1454800,1461400,3867500, +19991229 00:00,1463100,1468100,1452500,1463400,2773900, +19991230 00:00,1471300,1478800,1461900,1466300,8143700, +19991231 00:00,1468400,1475000,1462500,1468800,3374600, +20000103 00:00,1482500,1482500,1438800,1455600,8369900,1482500 +20000104 00:00,1435300,1440600,1396400,1400600,7719000, +20000105 00:00,1399400,1415300,1372500,1402800,12274000, +20000106 00:00,1396300,1415000,1392500,1403400,5504600, +20000107 00:00,1403100,1444400,1400600,1444400,7274800, +20000110 00:00,1462500,1469100,1450300,1458100,5418700, +20000111 00:00,1458100,1460900,1435000,1440900,7312200, +20000112 00:00,1445900,1446300,1428800,1433400,6673300, +20000113 00:00,1444700,1457500,1432800,1451300,4894900, +20000114 00:00,1465300,1474700,1459700,1465000,6884500, +20000118 00:00,1453400,1466300,1451900,1456300,6286200, +20000119 00:00,1453100,1464700,1450000,1456900,5864600, +20000120 00:00,1469700,1469700,1438100,1445000,5355400, +20000121 00:00,1455000,1455000,1440900,1441300,6032100, +20000124 00:00,1456600,1458400,1394100,1400600,7533500, +20000125 00:00,1405200,1420000,1390000,1410000,9404300, +20000126 00:00,1410000,1415500,1400900,1406700,4763400, +20000127 00:00,1418400,1422200,1381300,1400000,10971900, +20000128 00:00,1394400,1400600,1355300,1364700,11564300, +20000131 00:00,1358100,1394400,1350000,1394400,10425300, +20000201 00:00,1397500,1416900,1385300,1401900,8251400, +20000202 00:00,1412800,1422500,1403800,1413000,5839200, +20000203 00:00,1408800,1429700,1400000,1428400,7523800, +20000204 00:00,1431900,1440000,1421300,1427800,4647000, +20000207 00:00,1425600,1427800,1414400,1427200,5642200, +20000208 00:00,1439700,1445600,1436300,1442800,4592600, +20000209 00:00,1444700,1444700,1413800,1414100,7938600, +20000210 00:00,1416300,1425600,1408800,1418800,6527200, +20000211 00:00,1418400,1419400,1380300,1391300,8090000, +20000214 00:00,1397800,1397800,1383100,1392500,8924900, +20000215 00:00,1392500,1412200,1378000,1407500,10099600, +20000216 00:00,1403800,1409400,1388000,1390900,8551800, +20000217 00:00,1404400,1404400,1382200,1390600,7025200, +20000218 00:00,1388800,1388800,1346300,1351900,8648300, +20000222 00:00,1351900,1441900,1333400,1354200,15990100, +20000223 00:00,1356300,1374700,1345000,1365200,11623500, +20000224 00:00,1366900,1370300,1330900,1356900,17172800, +20000225 00:00,1351900,1375300,1331300,1337500,10057600, +20000228 00:00,1333800,1366900,1327200,1350600,13374200,1327200 +20000229 00:00,1360600,1374400,1357500,1369100,7501300, +20000301 00:00,1376300,1390000,1372200,1383100,6431500, +20000302 00:00,1386900,1391300,1373400,1387200,7552200, +20000303 00:00,1404400,1417200,1397200,1413100,19871000, +20000306 00:00,1408100,1413400,1387500,1393900,12200000, +20000307 00:00,1400000,1401600,1352200,1359400,17667900, +20000308 00:00,1364700,1378400,1350300,1370500,11415800, +20000309 00:00,1372500,1405900,1361300,1405900,5019700, +20000310 00:00,1401900,1420000,1395300,1400000,7541900, +20000313 00:00,1366900,1404700,1356900,1388800,10611500, +20000314 00:00,1392800,1400900,1361600,1365000,7658200, +20000315 00:00,1368800,1404400,1325000,1395000,9382100, +20000316 00:00,1416300,1466900,1408800,1463100,22099800, +20000317 00:00,1458100,1480000,1454400,1466900,9838300, +20000320 00:00,1468800,1473400,1447800,1459800,12307100, +20000321 00:00,1455300,1497200,1445000,1497200,12668600, +20000322 00:00,1495600,1508400,1486900,1500000,8026500, +20000323 00:00,1491600,1534700,1491600,1526300,10541800, +20000324 00:00,1528800,1557500,1517200,1532800,11529700,1557500 +20000327 00:00,1533800,1537800,1520000,1525000,8327400, +20000328 00:00,1512500,1529800,1507500,1510000,5989100, +20000329 00:00,1515600,1524800,1496600,1510300,6497400, +20000330 00:00,1501600,1519400,1471300,1488800,9297700, +20000331 00:00,1496300,1523100,1484400,1505600,8466800, +20000403 00:00,1501300,1510300,1486900,1507700,7490200, +20000404 00:00,1517500,1530000,1413900,1500000,19282600, +20000405 00:00,1478800,1508100,1476300,1488800,8021800, +20000406 00:00,1502500,1516900,1490000,1503100,5914800, +20000407 00:00,1515600,1521300,1505000,1517800,5785800, +20000410 00:00,1517500,1531100,1503100,1507800,9456200, +20000411 00:00,1500000,1516300,1483800,1500600,13823200, +20000412 00:00,1503800,1511600,1465600,1466300,9981900, +20000413 00:00,1474700,1481600,1437800,1440000,11909800, +20000414 00:00,1426300,1428100,1335000,1358100,27304000, +20000417 00:00,1351900,1401300,1266900,1400600,23564600,1266900 +20000418 00:00,1405600,1442200,1397800,1442200,10593700, +20000419 00:00,1445000,1451300,1425300,1430000,6276600, +20000420 00:00,1435600,1439400,1423800,1433800,8187000, +20000424 00:00,1415000,1432800,1405000,1430000,12621000, +20000425 00:00,1446300,1479700,1444400,1478800,13812600, +20000426 00:00,1479700,1487500,1460000,1463800,7411100, +20000427 00:00,1430000,1473400,1430000,1465000,15325600, +20000428 00:00,1470000,1478600,1450600,1452200,8173500, +20000501 00:00,1465600,1484800,1436300,1471900,6737100, +20000502 00:00,1455000,1471300,1445000,1446300,8785100, +20000503 00:00,1440000,1440000,1397800,1416300,11442100, +20000504 00:00,1420000,1423600,1407500,1413100,5713300, +20000505 00:00,1410600,1440000,1409400,1433400,7416300, +20000508 00:00,1427500,1433800,1418400,1425300,4530300, +20000509 00:00,1430600,1434100,1402700,1416300,5299000, +20000510 00:00,1405000,1409700,1377500,1385900,9882100, +20000511 00:00,1401300,1415000,1391300,1411100,6838500, +20000512 00:00,1418100,1434700,1415600,1424100,5805300, +20000515 00:00,1427500,1455900,1420000,1453800,4193500, +20000516 00:00,1465600,1477200,1453100,1470000,7907600, +20000517 00:00,1456900,1461900,1444700,1452500,5507300, +20000518 00:00,1456300,1463100,1439400,1440600,4718200, +20000519 00:00,1425600,1432300,1404100,1408800,5731800, +20000522 00:00,1412500,1414700,1370000,1404100,10008900, +20000523 00:00,1404400,1408100,1375600,1375600,7422700, +20000524 00:00,1380000,1406900,1276300,1404100,10710100, +20000525 00:00,1406900,1418100,1377200,1388800,7101900, +20000526 00:00,1388100,1396900,1373300,1383100,4605900, +20000530 00:00,1400000,1426900,1394700,1426300,5037500, +20000531 00:00,1425600,1440000,1420900,1424100,5541700, +20000601 00:00,1436900,1453800,1430000,1451700,8473400, +20000602 00:00,1489400,1490900,1474800,1480900,8538300, +20000605 00:00,1474700,1482200,1468800,1472500,6629400, +20000606 00:00,1466300,1477800,1459100,1463400,4847700, +20000607 00:00,1466300,1480000,1460000,1475600,4402800, +20000608 00:00,1475000,1477500,1460600,1465600,5458000, +20000609 00:00,1475000,1479700,1455300,1463400,2865600, +20000612 00:00,1469700,1469700,1451300,1452800,3294200, +20000613 00:00,1448100,1477500,1446300,1474700,6277200, +20000614 00:00,1482500,1488800,1471900,1475000,6227300, +20000615 00:00,1481300,1487500,1468400,1482500,5566200, +20000616 00:00,1483100,1483100,1458800,1468800,5010200, +20000619 00:00,1464700,1491600,1462500,1486600,4748700, +20000620 00:00,1481900,1488800,1470000,1478100,8314200, +20000621 00:00,1469400,1484400,1468900,1479500,2953900, +20000622 00:00,1475600,1476900,1450000,1455300,7127200, +20000623 00:00,1458100,1461300,1438800,1443800,4198700, +20000626 00:00,1453800,1462500,1448800,1457500,4770700, +20000627 00:00,1459800,1467200,1453100,1455600,3585500, +20000628 00:00,1456300,1469800,1452200,1456300,5585500, +20000629 00:00,1447500,1457500,1435200,1444400,6081000, +20000630 00:00,1439400,1455300,1438900,1453800,6673700, +20000703 00:00,1454400,1474400,1451600,1472800,1436600, +20000705 00:00,1463800,1466600,1443800,1450900,2447900, +20000706 00:00,1449400,1464700,1442200,1458800,5394400, +20000707 00:00,1466900,1487800,1462200,1480900,2796000, +20000710 00:00,1478800,1489100,1476300,1479700,2468600, +20000711 00:00,1474700,1491300,1471600,1483800,5233700, +20000712 00:00,1492800,1501300,1486900,1495900,5507100, +20000713 00:00,1499800,1503800,1491900,1498800,5108200, +20000714 00:00,1504400,1512500,1496700,1508800,5512500, +20000717 00:00,1509800,1519800,1506900,1510600,3566600,1519800 +20000718 00:00,1506300,1506300,1493400,1496900,3678300, +20000719 00:00,1494700,1499100,1482500,1484400,8163200, +20000720 00:00,1490000,1505000,1488100,1498100,4139400, +20000721 00:00,1497500,1497500,1478800,1482500,5062300, +20000724 00:00,1481300,1488600,1465600,1466600,5520000, +20000725 00:00,1477500,1478400,1467800,1474400,4247400, +20000726 00:00,1469700,1471600,1456400,1461600,11008600, +20000727 00:00,1459400,1466300,1446900,1455000,7169400, +20000728 00:00,1457200,1459100,1415200,1422500,5674800, +20000731 00:00,1429400,1441300,1420600,1434400,4837700,1420600 +20000801 00:00,1436300,1447200,1431300,1440000,3742800, +20000802 00:00,1438800,1454100,1436300,1442700,7275200, +20000803 00:00,1428800,1458100,1426300,1455000,4363300, +20000804 00:00,1463100,1467200,1454100,1465300,3492400, +20000807 00:00,1467200,1484400,1463800,1481300,4067300, +20000808 00:00,1475000,1488100,1475000,1485600,3161200, +20000809 00:00,1491400,1492200,1473800,1476900,5205000, +20000810 00:00,1475300,1478600,1462800,1465600,3987200, +20000811 00:00,1466300,1480000,1455600,1474400,4739000, +20000814 00:00,1477800,1495000,1470600,1493800,2682600, +20000815 00:00,1493400,1498100,1473400,1490200,4731200, +20000816 00:00,1493100,1499400,1478400,1483800,4843200, +20000817 00:00,1486900,1504400,1483400,1499400,5401400, +20000818 00:00,1503800,1503800,1491600,1496700,4350300, +20000821 00:00,1500300,1507200,1494100,1503600,2058200, +20000822 00:00,1505600,1513100,1500900,1502300,2831300, +20000823 00:00,1498100,1512800,1491900,1509100,5518000, +20000824 00:00,1511600,1515500,1500900,1514400,4636200, +20000825 00:00,1511600,1516300,1509400,1510900,2700900, +20000828 00:00,1512500,1529100,1512500,1517800,5721600, +20000829 00:00,1514400,1518800,1509100,1515000,3375600, +20000830 00:00,1513100,1517800,1504500,1506300,3854400, +20000831 00:00,1510600,1530900,1508400,1522500,5246300, +20000901 00:00,1532500,1535900,1520000,1525600,2983800,1535900 +20000905 00:00,1518800,1522000,1508100,1512500,3202700, +20000906 00:00,1511900,1519500,1496900,1496900,3930600, +20000907 00:00,1502500,1510800,1498300,1507500,4187500, +20000908 00:00,1502800,1505000,1493300,1497500,3067500, +20000911 00:00,1497500,1511900,1486900,1494700,3726500, +20000912 00:00,1497500,1502500,1484400,1487500,4628300, +20000913 00:00,1480000,1498400,1476600,1488800,4335400, +20000914 00:00,1498800,1499400,1481600,1485300,3442900, +20000915 00:00,1481900,1482500,1460300,1467500,3880800, +20000918 00:00,1463800,1469700,1442000,1446900,4960300, +20000919 00:00,1451300,1463100,1447000,1460800,6372400, +20000920 00:00,1456900,1460300,1431600,1452200,6594700, +20000921 00:00,1444700,1455600,1437500,1450300,4911900, +20000922 00:00,1426300,1451600,1421300,1451600,7241600, +20000925 00:00,1459400,1460600,1437200,1441300,9551700, +20000926 00:00,1443800,1450000,1426300,1428900,4889400, +20000927 00:00,1435600,1439700,1421300,1428100,5471600, +20000928 00:00,1431900,1463300,1428900,1461900,6598400, +20000929 00:00,1454700,1459700,1437500,1437800,7669100, +20001002 00:00,1442800,1449100,1431400,1438100,5182100, +20001003 00:00,1445300,1457500,1425300,1426300,8184100, +20001004 00:00,1428800,1442500,1417500,1435800,5717600, +20001005 00:00,1434100,1448400,1433100,1438800,4038600, +20001006 00:00,1438800,1446400,1397500,1410000,9717900, +20001009 00:00,1413100,1413100,1393800,1404400,4323000, +20001010 00:00,1400900,1412500,1385600,1388800,5724500, +20001011 00:00,1376300,1386300,1351300,1365600,10570900, +20001012 00:00,1372800,1433800,1327800,1331600,11288200, +20001013 00:00,1329400,1376600,1328800,1375600,10629900, +20001016 00:00,1374100,1390000,1366900,1374700,5407400, +20001017 00:00,1384400,1385600,1344100,1354800,7302200, +20001018 00:00,1326300,1361300,1301600,1344100,9962600,1301600 +20001019 00:00,1368400,1394500,1364400,1390500,8309100, +20001020 00:00,1383800,1411900,1383800,1398800,6603800, +20001023 00:00,1399400,1410300,1389400,1400000,5066000, +20001024 00:00,1409700,1419400,1390000,1401300,5115800, +20001025 00:00,1387500,1395600,1363900,1369200,7817300, +20001026 00:00,1371300,1376600,1340000,1367500,8644800, +20001027 00:00,1378800,1388400,1366300,1383800,9866200, +20001030 00:00,1384400,1410900,1381600,1402500,8510100, +20001031 00:00,1410200,1436900,1400600,1429700,8131100, +20001101 00:00,1422500,1432500,1412200,1424100,6349600, +20001102 00:00,1431600,1439100,1425200,1430300,4360600, +20001103 00:00,1434700,1437500,1423800,1431100,4853300, +20001106 00:00,1431600,1443000,1430300,1437000,3814400,1443000 +20001107 00:00,1431400,1440000,1425600,1436600,5032700, +20001108 00:00,1440600,1440600,1410300,1412500,5889100, +20001109 00:00,1400000,1412200,1372500,1404100,9700200, +20001110 00:00,1390000,1394700,1368800,1369700,8316000, +20001113 00:00,1356300,1369800,1330200,1353800,16883900, +20001114 00:00,1374700,1396300,1370000,1387500,7432300, +20001115 00:00,1390600,1401100,1377500,1391300,7877100, +20001116 00:00,1385800,1398800,1373100,1377700,6418000, +20001117 00:00,1373100,1390000,1357500,1374700,6429800, +20001120 00:00,1357500,1363800,1343800,1346900,5017900, +20001121 00:00,1348800,1361900,1335200,1351600,4344600, +20001122 00:00,1343400,1348800,1324400,1325000,5285300, +20001124 00:00,1336300,1349700,1335600,1348400,3412100, +20001127 00:00,1364700,1366900,1353100,1355000,5997600, +20001128 00:00,1351300,1365900,1338100,1338100,4190100, +20001129 00:00,1343800,1359100,1332700,1346400,6534900, +20001130 00:00,1325000,1335000,1297500,1316300,10401100,1297500 +20001201 00:00,1331900,1340600,1310000,1318800,7233600, +20001204 00:00,1318800,1338800,1315000,1330000,6328000, +20001205 00:00,1348800,1381900,1344100,1381300,8270800, +20001206 00:00,1377800,1383400,1350300,1355300,12544800, +20001207 00:00,1348800,1358800,1343800,1349800,5966200, +20001208 00:00,1370600,1391300,1360900,1376600,8949000, +20001211 00:00,1373800,1488800,1367200,1386300,5943200, +20001212 00:00,1381900,1392500,1373800,1377500,4619700, +20001213 00:00,1392500,1394100,1362500,1365300,5580800, +20001214 00:00,1358800,1365000,1341900,1341900,7348300,1365000 +20001215 00:00,1331300,1332500,1305600,1314500,8490700, +20001218 00:00,1110000,1334700,1110000,1323800,6906100, +20001219 00:00,1324700,1349700,1305000,1305600,9054500, +20001220 00:00,1286300,1289400,1239400,1266900,9490400, +20001221 00:00,1260000,1288600,1255300,1276900,14252300, +20001222 00:00,1290000,1308600,1288400,1308600,8862700, +20001226 00:00,1308400,1319400,1302800,1318900,4395100, +20001227 00:00,1320000,1336600,1312500,1331300,5193500, +20001228 00:00,1328100,1338100,1325900,1336100,7872300, +20001229 00:00,1340600,1342800,1318800,1322500,7564700, +20010102 00:00,1320000,1321600,1275600,1282500,8348100,1275600 +20010103 00:00,1283100,1360000,1276600,1350000,17057200, +20010104 00:00,1349400,1354700,1330000,1334100,8331000, +20010105 00:00,1334700,1336300,1292800,1302500,12281600, +20010108 00:00,1298800,1300600,1276300,1297500,6134300, +20010109 00:00,1310500,1315000,1296300,1301300,5161100, +20010110 00:00,1290000,1318100,1288100,1316600,8509500, +20010111 00:00,1310900,1334800,1310900,1327700,6271200, +20010112 00:00,1326900,1337200,1312800,1319100,6402300, +20010116 00:00,1320000,1331900,1315200,1325800,7763000, +20010117 00:00,1348400,1350500,1326400,1329400,7793500, +20010118 00:00,1334400,1357000,1329400,1350500,8764500, +20010119 00:00,1361900,1361900,1338800,1344800,7353300, +20010122 00:00,1342500,1357800,1335600,1346300,7091800, +20010123 00:00,1344700,1366600,1341600,1361300,8381500, +20010124 00:00,1362500,1373100,1358400,1366900,5708800, +20010125 00:00,1362500,1372500,1356600,1360600,10440400, +20010126 00:00,1351600,1361300,1344500,1357800,7049800, +20010129 00:00,1355000,1369000,1353700,1366500,6346400, +20010130 00:00,1363000,1379200,1357900,1377500,6535400, +20010131 00:00,1374000,1387000,1366000,1370600,9018400,1387000 +20010201 00:00,1371000,1375600,1362500,1374800,7899200, +20010202 00:00,1374000,1379900,1350000,1350800,7931800, +20010205 00:00,1348000,1359000,1347500,1358900,3758500, +20010206 00:00,1353000,1367000,1352200,1354200,6830900, +20010207 00:00,1347200,1354200,1336800,1342200,5602500, +20010208 00:00,1348000,1354000,1334800,1334800,5591600, +20010209 00:00,1333500,1333500,1312600,1318300,9406500, +20010212 00:00,1317000,1335000,1317000,1331400,5507600, +20010213 00:00,1337000,1341700,1320000,1321200,5986900, +20010214 00:00,1326500,1326500,1306600,1321500,8150200, +20010215 00:00,1328400,1335200,1319900,1329600,5417200, +20010216 00:00,1310000,1312900,1293000,1304600,10245800, +20010220 00:00,1310400,1311400,1281000,1283200,5457000, +20010221 00:00,1279000,1288400,1255200,1256000,10237700, +20010222 00:00,1263500,1265400,1230200,1255200,21327100, +20010223 00:00,1250800,1255400,1218000,1248900,15540300, +20010226 00:00,1258000,1272100,1245000,1272100,9555900, +20010227 00:00,1268000,1278400,1255100,1263500,10871500, +20010228 00:00,1267500,1268400,1232700,1241500,13986800, +20010301 00:00,1240500,1245000,1217500,1244900,13921800, +20010302 00:00,1225000,1256500,1223000,1237700,12367500, +20010305 00:00,1241500,1247800,1238100,1244000,4718700, +20010306 00:00,1263500,1277500,1254900,1258700,6597400, +20010307 00:00,1269000,1269000,1257600,1266400,6407800, +20010308 00:00,1266000,1272400,1261000,1269000,5554000, +20010309 00:00,1261000,1261000,1231100,1236700,9754500, +20010312 00:00,1223400,1245000,1177000,1184400,11973300, +20010313 00:00,1194000,1204400,1175300,1202000,12711300, +20010314 00:00,1170500,1192900,1157500,1172000,17316500, +20010315 00:00,1184500,1188600,1175100,1177100,8083600, +20010316 00:00,1171300,1185000,1144600,1153100,35979400, +20010319 00:00,1157600,1176900,1148200,1173000,9638200, +20010320 00:00,1179000,1184600,1141500,1142500,13717000, +20010321 00:00,1141800,1152600,1119000,1123400,18086400, +20010322 00:00,1120200,1157000,1080400,1119000,25414600,1080400 +20010323 00:00,1132500,1144800,1115000,1142500,12191600, +20010326 00:00,1157000,1162700,1147700,1155000,9392300, +20010327 00:00,1156200,1186500,1152500,1185100,12432000, +20010328 00:00,1169000,1175000,1149000,1154500,10194300, +20010329 00:00,1147000,1166000,1093400,1149800,11463600, +20010330 00:00,1155500,1166500,1145000,1161200,8495500, +20010402 00:00,1163000,1173800,1138000,1145400,10040900, +20010403 00:00,1139800,1141500,1101000,1106700,12365600, +20010404 00:00,1105800,1121000,1093000,1103100,14720900, +20010405 00:00,1133000,1154900,1125000,1152200,15035600, +20010406 00:00,1139900,1144000,1120600,1130500,14400500, +20010409 00:00,1140000,1154800,1127800,1140000,8617400, +20010410 00:00,1154500,1177500,1151700,1170900,15812700, +20010411 00:00,1187800,1189900,1161400,1169600,12328300, +20010412 00:00,1163000,1186300,1159600,1185500,8316200, +20010416 00:00,1182900,1188900,1169100,1182300,6587800, +20010417 00:00,1173100,1196600,1170200,1194200,9952300, +20010418 00:00,1210600,1260000,1206900,1241400,19909300, +20010419 00:00,1242500,1258300,1200000,1257200,13370400, +20010420 00:00,1249000,1254000,1236600,1243600,7779700, +20010423 00:00,1236500,1263000,1219100,1227000,8156500, +20010424 00:00,1225200,1237000,1211000,1211300,9259600, +20010425 00:00,1214200,1236700,1209500,1231000,7959200, +20010426 00:00,1237300,1252200,1235000,1237400,9880700, +20010427 00:00,1249200,1256800,1242000,1255500,7258700, +20010430 00:00,1264500,1272700,1246700,1252100,8758500, +20010501 00:00,1250700,1269700,1246000,1269500,10205900, +20010502 00:00,1274100,1276900,1260000,1268900,9164600, +20010503 00:00,1261300,1261500,1242200,1251600,9322200, +20010504 00:00,1236500,1272000,1234400,1269500,12084200, +20010507 00:00,1268600,1274700,1255300,1265700,6651400, +20010508 00:00,1268600,1271000,1255600,1265200,6522000, +20010509 00:00,1252500,1266000,1250600,1258700,9240800, +20010510 00:00,1272600,1275000,1257700,1259900,6503700, +20010511 00:00,1260000,1264900,1244000,1248200,7394500, +20010514 00:00,1249000,1254400,1244600,1252300,7793600, +20010515 00:00,1255500,1265000,1248500,1253000,8986500, +20010516 00:00,1248400,1292000,1246200,1289600,12431300, +20010517 00:00,1290100,1300800,1285600,1293100,11930400, +20010518 00:00,1290900,1297200,1281000,1296200,6030000, +20010521 00:00,1298400,1318000,1291500,1317700,11722200, +20010522 00:00,1318300,1320900,1310700,1313700,7704800,1320900 +20010523 00:00,1310500,1310500,1292900,1292900,11528900, +20010524 00:00,1294700,1300000,1249000,1297000,7410400, +20010525 00:00,1296500,1297000,1280100,1282300,7097400, +20010529 00:00,1282300,1283500,1269000,1273000,8350400, +20010530 00:00,1265900,1275300,1250000,1252900,9937200, +20010531 00:00,1254300,1267600,1252600,1261000,9468700, +20010601 00:00,1262000,1271000,1251200,1266400,8898100, +20010604 00:00,1268000,1272700,1258900,1271700,5421400, +20010605 00:00,1274900,1292300,1272700,1288700,8082500, +20010606 00:00,1288300,1288300,1273600,1275300,12487900, +20010607 00:00,1270500,1282900,1270000,1282400,6862800, +20010608 00:00,1277000,1278700,1261400,1270000,7278100, +20010611 00:00,1267100,1277500,1254100,1259400,7055200, +20010612 00:00,1248600,1268800,1240400,1261300,9128400, +20010613 00:00,1261700,1265800,1246700,1247400,8230500, +20010614 00:00,1241800,1243000,1222400,1224800,12436500, +20010615 00:00,1209100,1224000,1204000,1216200,16676600, +20010618 00:00,1216500,1224400,1209500,1210800,7895700, +20010619 00:00,1223800,1228900,1208600,1214600,7655100, +20010620 00:00,1211900,1228600,1211000,1226000,8120400, +20010621 00:00,1222200,1274700,1221500,1238600,11993900, +20010622 00:00,1234900,1236000,1221600,1227500,11803800, +20010625 00:00,1232800,1234400,1215000,1221300,8064300, +20010626 00:00,1209000,1229000,1200300,1218400,8014800, +20010627 00:00,1216000,1251500,1209100,1213100,9785600, +20010628 00:00,1220000,1239400,1219300,1228900,9986900, +20010629 00:00,1228000,1240100,1222600,1232000,9113800, +20010702 00:00,1228000,1243200,1226200,1239000,8031000, +20010703 00:00,1239800,1241000,1230500,1240800,3305300, +20010705 00:00,1230700,1236500,1221100,1221300,4818400, +20010706 00:00,1213100,1215800,1190500,1191900,9531300, +20010709 00:00,1194900,1205400,1192000,1201000,8274300, +20010710 00:00,1202900,1206400,1182100,1183500,8339800, +20010711 00:00,1181000,1190400,1170900,1182700,14904100, +20010712 00:00,1195000,1214700,1193100,1211600,11252600, +20010713 00:00,1208400,1223200,1206200,1219000,9992900, +20010716 00:00,1217700,1222800,1202900,1206000,6321000, +20010717 00:00,1202000,1219400,1198300,1216700,7384300, +20010718 00:00,1205600,1216400,1200600,1211000,6678700, +20010719 00:00,1221800,1229800,1207600,1218300,9143600, +20010720 00:00,1211500,1219400,1209200,1214500,8514700, +20010723 00:00,1218000,1218800,1192200,1193600,7405300, +20010724 00:00,1190000,1192000,1167500,1173900,11894500, +20010725 00:00,1179200,1194800,1174600,1193000,11752400, +20010726 00:00,1190600,1208500,1185600,1207500,12583600, +20010727 00:00,1208300,1216000,1199100,1210000,8333200, +20010730 00:00,1211900,1213500,1203000,1208200,8736400, +20010731 00:00,1210000,1226800,1201800,1214600,11528000, +20010801 00:00,1219700,1227000,1209000,1219600,11666400, +20010802 00:00,1232300,1233500,1214600,1223800,10605300, +20010803 00:00,1223600,1223700,1202000,1218700,10527700, +20010806 00:00,1213500,1215100,1201000,1204500,7974000, +20010807 00:00,1202700,1215300,1199100,1208300,8373000, +20010808 00:00,1201200,1211600,1184300,1186500,14886400, +20010809 00:00,1187000,1189700,1178600,1187400,13918500, +20010810 00:00,1188000,1198400,1173400,1194400,11299200, +20010813 00:00,1196000,1198500,1188200,1194900,7194100, +20010814 00:00,1201400,1203500,1188000,1191100,13026500, +20010815 00:00,1192300,1196100,1181600,1182800,8303100, +20010816 00:00,1178000,1187500,1170000,1186200,10275800, +20010817 00:00,1176500,1178700,1160100,1166400,10893500, +20010820 00:00,1168000,1176600,1165500,1175600,9717400, +20010821 00:00,1178000,1185400,1080500,1161300,13952900,1080500 +20010822 00:00,1167500,1174300,1157800,1170500,11224700, +20010823 00:00,1169600,1175200,1165200,1167000,8169600, +20010824 00:00,1172100,1191000,1166500,1190000,11056100, +20010827 00:00,1189700,1192000,1182600,1184900,6219700, +20010828 00:00,1182800,1184900,1165900,1166400,11146700, +20010829 00:00,1171300,1171800,1151700,1154000,15345700, +20010830 00:00,1148500,1159100,1120100,1132800,16303700, +20010831 00:00,1134000,1147700,1131300,1139200,15875800, +20010904 00:00,1138500,1167900,1134400,1136500,22807100, +20010905 00:00,1137000,1141900,1119500,1136500,20800000,1141900 +20010906 00:00,1126500,1133000,1110900,1111000,20895800, +20010907 00:00,1100200,1112500,1086900,1091300,30316100, +20010910 00:00,1077000,1110700,1075500,1098300,23040200, +20010917 00:00,1010000,1065100,1000000,1043000,32337700, +20010918 00:00,1043300,1053000,1033600,1039000,21762400, +20010919 00:00,1041000,1045000,985600,1020200,43139900, +20010920 00:00,1004000,1018500,985700,989600,37685200, +20010921 00:00,940500,997000,938000,968500,49249900, +20010924 00:00,997300,1011600,990600,1004800,24672600, +20010925 00:00,1007500,1020000,999000,1014000,25190100,999000 +20010926 00:00,1023500,1024000,1004300,1010000,17174200, +20010927 00:00,1012500,1022500,1000000,1020500,19974800, +20010928 00:00,1029800,1099200,1025000,1042500,21208700, +20011001 00:00,1039000,1043200,1024200,1040000,21059700, +20011002 00:00,1040000,1053800,1030700,1053800,18549500, +20011003 00:00,1046000,1078800,1043500,1073400,30475800, +20011004 00:00,1082900,1089700,1043700,1071000,31695300, +20011005 00:00,1072500,1076200,1055200,1072600,28749400, +20011008 00:00,1062800,1073000,1058700,1065300,11713400, +20011009 00:00,1066100,1067500,1056000,1058700,15220700, +20011010 00:00,1058000,1085500,1055200,1084000,18755600, +20011011 00:00,1089500,1103000,1089500,1100100,24722000, +20011012 00:00,1091500,1098900,1073000,1094500,30699900, +20011015 00:00,1086300,1094500,1071900,1093000,25426400, +20011016 00:00,1098000,1106200,1089500,1100600,15043500, +20011017 00:00,1110700,1111500,1079000,1079000,27566600, +20011018 00:00,1078200,1081600,1067400,1072100,16793600, +20011019 00:00,1070000,1079200,1060100,1075500,22435500, +20011022 00:00,1073000,1094900,1072100,1092600,17101100, +20011023 00:00,1099600,1106100,1083800,1088000,21806000, +20011024 00:00,1089800,1099400,1081200,1087700,15508500, +20011025 00:00,1074500,1103300,1067400,1103100,26339700, +20011026 00:00,1099500,1118000,1096400,1107700,18892000, +20011029 00:00,1101600,1105500,1080600,1082300,17805500, +20011030 00:00,1073500,1077000,1055600,1062000,25662200, +20011031 00:00,1069000,1078600,1060100,1062700,27388000, +20011101 00:00,1066000,1090100,1054300,1086700,28591900, +20011102 00:00,1084400,1093800,1078700,1090600,16378300, +20011105 00:00,1101200,1110900,1007400,1105800,15885700, +20011106 00:00,1103500,1124500,1098500,1122900,22531600, +20011107 00:00,1117700,1131200,1115600,1119600,19023300, +20011108 00:00,1128700,1226600,1104500,1123500,21245000,1226600 +20011109 00:00,1122500,1129600,1114400,1124400,16170300, +20011112 00:00,1110000,1126500,1100000,1121600,25038200, +20011113 00:00,1134400,1144300,1131800,1143900,14030800, +20011114 00:00,1151700,1154000,1137000,1146200,17418000, +20011115 00:00,1143700,1151800,1139300,1146000,20437200, +20011116 00:00,1150800,1151000,1134000,1143100,17188100, +20011119 00:00,1149200,1155700,1144500,1155300,12517900, +20011120 00:00,1153700,1158000,1111500,1148100,15890300, +20011121 00:00,1145000,1146700,1135100,1141500,10996400, +20011123 00:00,1140400,1186300,1140000,1155200,7265300, +20011126 00:00,1157500,1163400,1150700,1162200,13697200, +20011127 00:00,1156200,1169000,1140900,1154000,18924400, +20011128 00:00,1147400,1151700,1132500,1133400,19443200, +20011129 00:00,1136600,1145600,1130000,1144800,15954000, +20011130 00:00,1144000,1149100,1140200,1143000,12983000, +20011203 00:00,1136500,1140800,1130100,1133600,14533800, +20011204 00:00,1139200,1150000,1133500,1150000,14970000, +20011205 00:00,1156100,1180000,1155600,1176400,23817500, +20011206 00:00,1173500,1179400,1169300,1173000,16930400, +20011207 00:00,1169000,1170900,1157000,1164500,17768300, +20011210 00:00,1158500,1163900,1144600,1144600,13238000, +20011211 00:00,1149000,1157200,1139000,1141900,19660800, +20011212 00:00,1145500,1147800,1131100,1142900,15487100, +20011213 00:00,1134500,1137000,1122800,1123600,17341600, +20011214 00:00,1123300,1134900,1120000,1129000,15363600,1120000 +20011217 00:00,1129900,1143600,1129000,1139900,13616800, +20011218 00:00,1146300,1151500,1143400,1149300,12932400, +20011219 00:00,1140900,1159200,1140000,1155000,19767600, +20011220 00:00,1155000,1158000,1146300,1146900,13673400, +20011221 00:00,1150300,1151000,1142000,1146600,12542200, +20011224 00:00,1148300,1150400,1146100,1147300,7822400, +20011226 00:00,1146500,1162100,1146500,1152500,9195600, +20011227 00:00,1153000,1163300,1152600,1159300,8636700, +20011228 00:00,1162900,1167500,1159500,1162100,9602500, +20011231 00:00,1161500,1164000,1148500,1148900,12333600, +20020102 00:00,1151100,1156500,1138100,1155900,16855900, +20020103 00:00,1156500,1168300,1150000,1167600,14579900, +20020104 00:00,1171700,1179800,1133600,1174100,19708000, +20020107 00:00,1177000,1179900,1157100,1167000,11601500, +20020108 00:00,1168000,1170600,1159700,1163600,12006100, +20020109 00:00,1166800,1199100,1153400,1157000,15074900,1199100 +20020110 00:00,1157000,1163500,1153000,1159600,13162200, +20020111 00:00,1162100,1162800,1147100,1147700,12628100, +20020114 00:00,1146500,1148400,1141000,1141200,11640600, +20020115 00:00,1145500,1153900,1139000,1148800,16475400, +20020116 00:00,1143000,1144000,1130000,1130500,15926800, +20020117 00:00,1137600,1142400,1134000,1141300,16033000, +20020118 00:00,1130000,1138700,1113600,1130800,15778700, +20020122 00:00,1137500,1139500,1120200,1122500,11249800, +20020123 00:00,1126300,1135600,1120200,1131400,11791000, +20020124 00:00,1136400,1142500,1133200,1135400,11323700, +20020125 00:00,1131200,1141800,1130400,1135900,11634500, +20020128 00:00,1139000,1141900,989200,1136300,9808100,989200 +20020129 00:00,1138500,1144100,1100500,1102800,27316700, +20020130 00:00,1103900,1133900,1084000,1116100,34240300, +20020131 00:00,1121500,1132700,1116200,1132400,17736200, +20020201 00:00,1130900,1137000,1115500,1126000,15398900, +20020204 00:00,1122300,1151800,1094500,1097000,24526300, +20020205 00:00,1094000,1105000,1085300,1092700,35497300, +20020206 00:00,1096500,1097400,1080600,1087000,29039000, +20020207 00:00,1087200,1098600,1081600,1083800,23921700, +20020208 00:00,1086300,1100500,1083000,1099700,17609700, +20020211 00:00,1100500,1116300,1098200,1115900,17618500, +20020212 00:00,1109600,1117100,1106200,1111100,13050700, +20020213 00:00,1114800,1125400,1113500,1122600,16158600, +20020214 00:00,1125100,1129700,1115900,1119800,19646600, +20020215 00:00,1121500,1122400,1107100,1108300,17842600, +20020219 00:00,1101500,1103000,1002000,1087400,14698200, +20020220 00:00,1090500,1103800,1078200,1103200,28524400, +20020221 00:00,1099300,1109900,1084000,1086000,23205400, +20020222 00:00,1083500,1099400,1078700,1093700,26396200, +20020225 00:00,1097500,1118100,1097000,1115000,16472600, +20020226 00:00,1116000,1120400,1101900,1113600,21362600, +20020227 00:00,1119600,1128600,1106500,1115500,26777200, +20020228 00:00,1118300,1127500,1111400,1111900,22479100, +20020301 00:00,1117200,1137300,1115100,1136600,25086800, +20020304 00:00,1139000,1159900,1136500,1159300,26297000, +20020305 00:00,1153300,1164000,1149700,1152100,21551900, +20020306 00:00,1151000,1177100,1150800,1168100,19031000, +20020307 00:00,1173600,1175000,1125300,1163300,18622500, +20020308 00:00,1173800,1273000,1164800,1168900,19918100,1273000 +20020311 00:00,1168900,1179000,1164300,1173400,14648900, +20020312 00:00,1161100,1171200,1159400,1171000,16309200, +20020313 00:00,1166300,1167500,1150000,1159000,16205200, +20020314 00:00,1160400,1164300,1156300,1158600,10434100, +20020315 00:00,1159700,1169500,1062200,1167900,21148600, +20020318 00:00,1171000,1175700,1158500,1167600,16975000, +20020319 00:00,1173000,1177400,1168200,1173500,17720100, +20020320 00:00,1165000,1172500,1153900,1154300,16332900, +20020321 00:00,1153000,1159000,1141200,1156000,26674700, +20020322 00:00,1155000,1159400,1147000,1150900,15162300, +20020325 00:00,1150900,1153600,1133800,1134300,16756100, +20020326 00:00,1135200,1150200,1134700,1140800,19121200, +20020327 00:00,1140300,1150100,1130000,1146700,18290300, +20020328 00:00,1149700,1157700,1146800,1149100,16005200, +20020401 00:00,1142300,1151000,1129600,1148300,14408500, +20020402 00:00,1139800,1441200,1137700,1139300,14373500, +20020403 00:00,1140100,1162000,1121500,1127400,24583000, +20020404 00:00,1126000,1155300,1122300,1128900,22450100, +20020405 00:00,1131900,1136700,1121800,1125300,19653800, +20020408 00:00,1113200,1128800,1112300,1128100,15283800, +20020409 00:00,1131900,1131900,1119300,1120500,13036600, +20020410 00:00,1121000,1135400,1120900,1133500,17406700, +20020411 00:00,1128900,1130500,1105000,1107200,24076100, +20020412 00:00,1110300,1119700,1105700,1113300,14083200, +20020415 00:00,1116200,1119700,1102000,1106300,16132400, +20020416 00:00,1117000,1133200,1116700,1131200,13535800, +20020417 00:00,1133900,1136700,1126000,1130500,12254200, +20020418 00:00,1129000,1134600,1111500,1127600,24116800, +20020419 00:00,1132000,1132400,1125600,1128500,10213300, +20020422 00:00,1123800,1126100,1108400,1111400,13095800, +20020423 00:00,1110900,1119000,1101700,1103800,15862500, +20020424 00:00,1105600,1112400,1095100,1095900,17114100, +20020425 00:00,1092100,1104300,1087200,1094300,25129800, +20020426 00:00,1097900,1100100,1079000,1079500,17209600, +20020429 00:00,1079300,1082600,1066300,1069200,16865400, +20020430 00:00,1070200,1087500,1066400,1079800,18604700, +20020501 00:00,1079700,1092500,1068000,1089600,23395700, +20020502 00:00,1091000,1099100,1082000,1087700,14990800, +20020503 00:00,1086000,1089500,1072000,1076700,17107800, +20020506 00:00,1076500,1089000,1055100,1056200,20615700, +20020507 00:00,1061100,1063200,1050000,1052300,20654000,1050000 +20020508 00:00,1070500,1093600,1067900,1091600,26506300, +20020509 00:00,1086500,1091000,1075800,1076500,15747600, +20020510 00:00,1079700,1080500,1057200,1059800,17174700, +20020513 00:00,1062200,1079500,1057800,1078200,13380700, +20020514 00:00,1096200,1102600,1090000,1100900,18675600, +20020515 00:00,1095000,1109100,1092900,1095500,27642300, +20020516 00:00,1097000,1104300,1093300,1103500,18318500, +20020517 00:00,1106600,1111700,1101000,1111100,26024300, +20020520 00:00,1106400,1106900,1094900,1096400,12980900, +20020521 00:00,1101100,1104900,1082900,1084800,15775700,1104900 +20020522 00:00,1082200,1091200,1080000,1090500,14899600, +20020523 00:00,1092600,1102400,1084800,1101600,12756400, +20020524 00:00,1099800,1102100,1086600,1088500,10518500, +20020528 00:00,1090500,1099400,1074500,1079000,22840100, +20020529 00:00,1076300,1080200,1072500,1072500,13926300, +20020530 00:00,1065500,1075100,1059000,1070100,18078000, +20020531 00:00,1074000,1085600,1070800,1072300,17164100, +20020603 00:00,1070900,1088800,1042500,1043000,25052400, +20020604 00:00,1041500,1052000,1032800,1044100,25161300, +20020605 00:00,1049500,1056200,1043500,1055000,18265200, +20020606 00:00,1055400,1246700,1031500,1034200,19173400, +20020607 00:00,1017900,1039200,1017200,1032600,21968400, +20020610 00:00,1032400,1044600,1030200,1035600,18162400, +20020611 00:00,1041300,1045400,1017600,1018900,20164600, +20020612 00:00,1017100,1029700,1007800,1026400,28666100, +20020613 00:00,1021300,1030000,1013400,1015000,20605000, +20020614 00:00,1003100,1015600,985000,1012900,36963600, +20020617 00:00,1019200,1042900,1004700,1041900,16406300, +20020618 00:00,1037400,1047400,1029200,1042400,15992500, +20020619 00:00,1035000,1044800,1022600,1025400,19380200, +20020620 00:00,1022700,1030500,1009600,1012000,23810000, +20020621 00:00,1004700,1012000,986900,991900,27083500, +20020624 00:00,986100,1006900,972500,996900,35515100, +20020625 00:00,1003000,1008900,975400,979000,30054700, +20020626 00:00,952000,981500,952000,976200,35590000, +20020627 00:00,985000,994500,965700,994500,31061400, +20020628 00:00,992400,1005000,990200,992500,20632900, +20020701 00:00,991900,1015000,969500,970800,18535000, +20020702 00:00,968700,980800,947700,950200,33423400, +20020703 00:00,946200,958400,937300,956900,30051200, +20020705 00:00,967800,995500,966700,993000,19291300, +20020708 00:00,989800,997000,975600,980300,18365500, +20020709 00:00,977300,983400,950100,956100,26169900, +20020710 00:00,960000,960700,922000,922900,47057800, +20020711 00:00,917600,933500,900600,931500,55775500, +20020712 00:00,933300,938900,915200,924600,35065500, +20020715 00:00,916400,1016000,878900,921000,75907900, +20020716 00:00,911300,923800,898700,905800,50090100, +20020717 00:00,924600,933000,897500,910000,45753500, +20020718 00:00,907000,911000,882400,883300,28861700, +20020719 00:00,867700,884000,843000,848000,64420100, +20020722 00:00,841100,859100,814500,822100,73962000, +20020723 00:00,825500,832400,788500,800000,65162600, +20020724 00:00,781400,849400,776800,847500,98931400,776800 \ No newline at end of file From 2848fa48720dc20fa786a710377e039e26a7b9dc Mon Sep 17 00:00:00 2001 From: Josue Nina Date: Mon, 9 Dec 2024 17:55:26 -0500 Subject: [PATCH 3/6] Update QCAlgorithm with ZigZag Indicator --- Algorithm/QCAlgorithm.Indicators.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Algorithm/QCAlgorithm.Indicators.cs b/Algorithm/QCAlgorithm.Indicators.cs index a55b412d3f97..286e69df1c56 100644 --- a/Algorithm/QCAlgorithm.Indicators.cs +++ b/Algorithm/QCAlgorithm.Indicators.cs @@ -2790,6 +2790,24 @@ public ZeroLagExponentialMovingAverage ZLEMA(Symbol symbol, int period, Resoluti return zeroLagExponentialMovingAverage; } + /// + /// Creates a ZigZag indicator for the specified symbol, with adjustable sensitivity and minimum trend length. + /// + /// The symbol for which to create the ZigZag indicator. + /// The sensitivity for detecting pivots. + /// The minimum number of bars required for a trend before a pivot is confirmed. + /// The resolution + /// Selects a value from the BaseData to send into the indicator, if null defaults to the Value property of BaseData (x => x.Value) + /// The configured ZigZag indicator. + [DocumentationAttribute(Indicators)] + public ZigZag ZZ(Symbol symbol, decimal sensitivity = 0.05m, int minTrendLength = 1, Resolution? resolution = null, Func selector = null) + { + var name = CreateIndicatorName(symbol, $"ZZ({sensitivity},{minTrendLength})", resolution); + var zigZag = new ZigZag(name, sensitivity, minTrendLength); + InitializeIndicator(zigZag, resolution, selector, symbol); + return zigZag; + } + /// /// Creates a new name for an indicator created with the convenience functions (SMA, EMA, ect...) /// From 1e9f82e3e448957c0e9ceb3175d0c29c3efcb712 Mon Sep 17 00:00:00 2001 From: Josue Nina Date: Tue, 17 Dec 2024 10:02:30 -0500 Subject: [PATCH 4/6] Resolved review comments --- Indicators/ZigZag.cs | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/Indicators/ZigZag.cs b/Indicators/ZigZag.cs index f98b05b26d81..71bd5b0d3069 100644 --- a/Indicators/ZigZag.cs +++ b/Indicators/ZigZag.cs @@ -26,16 +26,16 @@ namespace QuantConnect.Indicators public class ZigZag : BarIndicator, IIndicatorWarmUpPeriodProvider { /// - /// Stores the most recent high pivot value in the ZigZag calculation. - /// Updated whenever a valid high pivot is identified. + /// The most recent pivot point, represented as a bar of market data. + /// Used as a reference for calculating subsequent pivots. /// - public decimal HighPivot { get; set; } + private IBaseDataBar _lastPivot; /// - /// Stores the most recent low pivot value in the ZigZag calculation. - /// Updated whenever a valid low pivot is identified. + /// The minimum number of bars required to confirm a valid trend. + /// Ensures that minor fluctuations in price do not create false pivots. /// - public decimal LowPivot { get; set; } + private readonly int _minTrendLength; /// /// The sensitivity threshold for detecting significant price movements. @@ -44,12 +44,6 @@ public class ZigZag : BarIndicator, IIndicatorWarmUpPeriodProvider /// private readonly decimal _sensitivity; - /// - /// The minimum number of bars required to confirm a valid trend. - /// Ensures that minor fluctuations in price do not create false pivots. - /// - private readonly int _minTrendLength; - /// /// A counter to track the number of bars since the last pivot was identified. /// Used to enforce the minimum trend length requirement. @@ -63,10 +57,16 @@ public class ZigZag : BarIndicator, IIndicatorWarmUpPeriodProvider private bool _lastPivotWasLow; /// - /// The most recent pivot point, represented as a bar of market data. - /// Used as a reference for calculating subsequent pivots. + /// Stores the most recent high pivot value in the ZigZag calculation. + /// Updated whenever a valid high pivot is identified. /// - private IBaseDataBar _lastPivot; + public decimal HighPivot { get; private set; } + + /// + /// Stores the most recent low pivot value in the ZigZag calculation. + /// Updated whenever a valid low pivot is identified. + /// + public decimal LowPivot { get; private set; } /// /// Initializes a new instance of the class with the specified parameters. @@ -171,5 +171,16 @@ protected override decimal ComputeNextValue(IBaseDataBar input) _count++; return currentPivot; } + + /// + /// Resets this indicator to its initial state + /// + public override void Reset() + { + _lastPivot = null; + HighPivot = 0; + LowPivot = 0; + base.Reset(); + } } } From 02246674d93b8fd05e5174dc7deca117f82e137d Mon Sep 17 00:00:00 2001 From: Josue Nina Date: Fri, 20 Dec 2024 16:24:57 -0500 Subject: [PATCH 5/6] Refactor ZigZag Indicator - Refactored logic to streamline pivot updates and condition checks. - Exposed PivotType enum to track pivot direction (High/Low). - Updated CSV processing to reflect pivot type (High/Low). --- Indicators/ZigZag.cs | 79 +- Tests/Indicators/ZigZagTests.cs | 4 +- Tests/TestData/spy_zigzag.csv | 1647 ++++++++++--------------------- 3 files changed, 560 insertions(+), 1170 deletions(-) diff --git a/Indicators/ZigZag.cs b/Indicators/ZigZag.cs index 71bd5b0d3069..1d6168a8457b 100644 --- a/Indicators/ZigZag.cs +++ b/Indicators/ZigZag.cs @@ -14,6 +14,7 @@ */ using System; +using QuantConnect.Data; using QuantConnect.Data.Market; namespace QuantConnect.Indicators @@ -60,13 +61,19 @@ public class ZigZag : BarIndicator, IIndicatorWarmUpPeriodProvider /// Stores the most recent high pivot value in the ZigZag calculation. /// Updated whenever a valid high pivot is identified. /// - public decimal HighPivot { get; private set; } + public IndicatorBase HighPivot { get; } /// /// Stores the most recent low pivot value in the ZigZag calculation. /// Updated whenever a valid low pivot is identified. /// - public decimal LowPivot { get; private set; } + public IndicatorBase LowPivot { get; } + + /// + /// Represents the current type of pivot (High or Low) in the ZigZag calculation. + /// The value is updated based on the most recent pivot identified: + /// + public PivotType PivotType { get; private set; } /// /// Initializes a new instance of the class with the specified parameters. @@ -85,9 +92,11 @@ public ZigZag(string name, decimal sensitivity = 0.05m, int minTrendLength = 1) { throw new ArgumentException("Minimum trend length must be greater than 0.", nameof(minTrendLength)); } - + HighPivot = new Identity(name + "_HighPivot"); + LowPivot = new Identity(name + "_LowPivot"); _sensitivity = sensitivity; _minTrendLength = minTrendLength; + PivotType = PivotType.Low; } /// @@ -124,9 +133,7 @@ protected override decimal ComputeNextValue(IBaseDataBar input) { if (_lastPivot == null) { - _lastPivot = input; - _lastPivotWasLow = true; - _count = 0; + UpdatePivot(input, true); return decimal.Zero; } @@ -136,51 +143,79 @@ protected override decimal ComputeNextValue(IBaseDataBar input) { if (input.High >= _lastPivot.Low * (1m + _sensitivity) && _count >= _minTrendLength) { - _lastPivot = input; - HighPivot = input.High; - _lastPivotWasLow = false; - _count = 0; + UpdatePivot(input, false); currentPivot = HighPivot; } else if (input.Low <= _lastPivot.Low) { - _lastPivot = input; - LowPivot = input.Low; + UpdatePivot(input); currentPivot = LowPivot; - _count = 0; } } else { if (input.Low <= _lastPivot.High * (1m - _sensitivity) && _count >= _minTrendLength) { - _lastPivot = input; - LowPivot = input.Low; - _lastPivotWasLow = true; - _count = 0; + UpdatePivot(input, true); currentPivot = LowPivot; } else if (input.High >= _lastPivot.High) { - _lastPivot = input; - HighPivot = input.High; + UpdatePivot(input); currentPivot = HighPivot; - _count = 0; } } _count++; return currentPivot; } + /// + /// Updates the pivot point based on the given input bar. + /// If a change in trend is detected, the pivot type is switched and the corresponding pivot (high or low) is updated. + /// + /// The current bar of market data used for the update. + /// Indicates whether the trend has reversed. If null, the pivot is updated without changing the trend. + private void UpdatePivot(IBaseDataBar input, bool? hasChanged = null) + { + _lastPivot = input; + _count = 0; + if (hasChanged == null) + { + (_lastPivotWasLow ? LowPivot : HighPivot).Update(input.EndTime, _lastPivotWasLow ? input.Low : input.High); + return; + } + (_lastPivotWasLow ? HighPivot : LowPivot).Update(input.EndTime, _lastPivotWasLow ? input.High : input.Low); + PivotType = _lastPivotWasLow ? PivotType.High : PivotType.Low; + _lastPivotWasLow = hasChanged.Value; + } + /// /// Resets this indicator to its initial state /// public override void Reset() { _lastPivot = null; - HighPivot = 0; - LowPivot = 0; + PivotType = PivotType.Low; + HighPivot.Reset(); + LowPivot.Reset(); base.Reset(); } } + /// + /// Represents the two possible types of pivots in the ZigZag indicator: Low and High. + /// A Low pivot indicates a trough in the trend, while a High pivot indicates a peak. + /// + public enum PivotType + { + /// + /// Represents a low pivot point, typically a trough in the market. + /// + Low = 0, + + /// + /// Represents a high pivot point, typically a peak in the market. + /// + High = 1 + } + } diff --git a/Tests/Indicators/ZigZagTests.cs b/Tests/Indicators/ZigZagTests.cs index 53a64d1154c5..45a11e2b69d0 100644 --- a/Tests/Indicators/ZigZagTests.cs +++ b/Tests/Indicators/ZigZagTests.cs @@ -49,7 +49,7 @@ public void HighPivotShouldBeZeroWhenAllValuesAreEqual() }; zigzag.Update(data); } - Assert.AreEqual(0m, zigzag.HighPivot); + Assert.AreEqual(0m, zigzag.HighPivot.Current.Value); } [Test] @@ -71,7 +71,7 @@ public void LowPivotReflectsInputWhenValuesAreEqual() }; zigzag.Update(data); } - Assert.AreEqual(value, zigzag.LowPivot); + Assert.AreEqual(value, zigzag.LowPivot.Current.Value); } } } \ No newline at end of file diff --git a/Tests/TestData/spy_zigzag.csv b/Tests/TestData/spy_zigzag.csv index 1189e021155c..10e9c3925c56 100644 --- a/Tests/TestData/spy_zigzag.csv +++ b/Tests/TestData/spy_zigzag.csv @@ -1,1146 +1,501 @@ -date,open,high,low,close,volume,zigzag -19980102 00:00,973100,975300,965300,973600,2150000, -19980105 00:00,978400,984400,967800,977500,4030800, -19980106 00:00,972500,972800,961900,966300,2821800, -19980107 00:00,960900,965000,952200,964700,5225400, -19980108 00:00,963100,963100,955000,957800,3249100, -19980109 00:00,952500,955000,919100,924700,10000200, -19980112 00:00,911300,941900,909100,940600,11953200,909100 -19980113 00:00,946300,956300,942200,952200,5006400, -19980114 00:00,956900,959700,947200,958100,3738000, -19980115 00:00,955000,957500,948100,949400,2726400, -19980116 00:00,962500,966900,956600,962300,4185400, -19980120 00:00,966900,980000,965000,980000,4373400, -19980121 00:00,972200,976900,961600,971600,4526300, -19980122 00:00,961600,968800,958800,963000,4484300, -19980123 00:00,965000,967800,950000,956600,6231300, -19980126 00:00,963800,967300,937500,957500,4280800, -19980127 00:00,958100,980000,956600,970000,6639000, -19980128 00:00,974100,981100,971700,978800,4089900, -19980129 00:00,978400,995600,975600,987500,7706300, -19980130 00:00,987800,989700,980000,983100,3333000, -19980202 00:00,999100,1005000,997500,1002500,5587200, -19980203 00:00,1000000,1008100,997200,1006900,2656800, -19980204 00:00,1002800,1011600,998800,1005900,3283800, -19980205 00:00,1013100,1015900,1000300,1003800,4970800, -19980206 00:00,1010000,1015000,1006900,1012800,5531800, -19980209 00:00,1017200,1017500,1007200,1011400,2277100, -19980210 00:00,1014400,1024700,1011900,1020500,3624500, -19980211 00:00,1020900,1031900,1017000,1021300,4020500, -19980212 00:00,1017200,1029400,1008800,1026600,5102800, -19980213 00:00,1021900,1029400,1018800,1021600,1889500, -19980217 00:00,1028100,1030900,1021600,1023400,2945300, -19980218 00:00,1023100,1034700,1022800,1034100,2919600, -19980219 00:00,1032500,1034100,1027500,1030000,3330600, -19980220 00:00,1030800,1037500,1023800,1035600,3594700, -19980223 00:00,1042500,1042500,1033400,1040000,3131700, -19980224 00:00,1039100,1040900,1029400,1031900,3241700, -19980225 00:00,1037500,1048800,1036300,1044800,3348400, -19980226 00:00,1044400,1051600,1041900,1050600,3604100, -19980227 00:00,1049700,1055300,1043100,1052000,3335400, -19980302 00:00,1052500,1057500,1046300,1048100,4126000, -19980303 00:00,1045300,1054700,1045000,1054100,3177500, -19980304 00:00,1050900,1054100,1040600,1049700,4395900, -19980305 00:00,1035000,1044400,1031600,1037500,7153500, -19980306 00:00,1045600,1058800,1044400,1057500,6702600, -19980309 00:00,1055300,1062200,1052500,1054400,3282800, -19980310 00:00,1062200,1068400,1053800,1066600,5582900, -19980311 00:00,1069700,1073100,1067300,1072500,3426500, -19980312 00:00,1070900,1075900,1065000,1072500,3057400, -19980313 00:00,1078400,1080000,1068800,1072200,2743800, -19980316 00:00,1078400,1082800,1075300,1082500,3073800, -19980317 00:00,1083100,1085000,1076600,1084700,4577900, -19980318 00:00,1082500,1089400,1080000,1087800,1820900, -19980319 00:00,1089700,1093800,1086600,1093400,2450000, -19980320 00:00,1095600,1101900,1088800,1100000,2828600, -19980323 00:00,1097200,1103100,1094100,1095000,4383400, -19980324 00:00,1100600,1108100,1099400,1105900,3293800, -19980325 00:00,1114100,1115300,1091900,1101900,4484900, -19980326 00:00,1098800,1107500,1096300,1101300,3319600, -19980327 00:00,1107500,1107800,1090000,1095300,2512200, -19980330 00:00,1096300,1100900,1089700,1093400,2776500, -19980331 00:00,1101600,1111900,1097500,1100900,5726500, -19980401 00:00,1103100,1110800,1094100,1109800,2828500, -19980402 00:00,1109400,1122500,1107500,1120300,3947500, -19980403 00:00,1123400,1128100,1118400,1121900,3726100, -19980406 00:00,1132500,1133800,1120600,1122500,4029500, -19980407 00:00,1117500,1119400,1101600,1110000,5200100, -19980408 00:00,1112200,1112800,1097500,1101300,4762900, -19980409 00:00,1105600,1112800,1105300,1110000,4367800, -19980413 00:00,1113800,1113800,1100000,1110000,4216000, -19980414 00:00,1111300,1117200,1109100,1116900,3219500, -19980415 00:00,1119700,1121300,1111600,1120200,3811700, -19980416 00:00,1113100,1115000,1105000,1109100,7242500, -19980417 00:00,1107200,1124100,1104400,1122200,5414800, -19980420 00:00,1120000,1125600,1118800,1124100,3606300, -19980421 00:00,1124400,1131600,1119100,1126300,4573300, -19980422 00:00,1128800,1134400,1128100,1130000,2288400,1134400 -19980423 00:00,1126300,1130000,1117500,1120900,4848500, -19980424 00:00,1117500,1124700,1103400,1108800,11129100, -19980427 00:00,1093800,1106600,1076300,1085900,14372900, -19980428 00:00,1097800,1098100,1081300,1086300,6213200, -19980429 00:00,1090300,1099700,1084400,1095300,7582100, -19980430 00:00,1105600,1119200,1104100,1114400,8226200, -19980501 00:00,1117500,1123100,1113100,1121900,3768600, -19980504 00:00,1127200,1133100,1121600,1122500,4332900, -19980505 00:00,1120000,1121600,1111300,1116600,4969800, -19980506 00:00,1121300,1121300,1104700,1105000,5221600, -19980507 00:00,1105000,1105600,1094100,1095900,6769900, -19980508 00:00,1100000,1113800,1100000,1110000,7888200, -19980511 00:00,1115600,1122200,1103800,1108600,6219300, -19980512 00:00,1108100,1118800,1102500,1116400,5983800, -19980513 00:00,1120600,1125600,1115900,1120600,4355500, -19980514 00:00,1115300,1126900,1113400,1119700,4229300, -19980515 00:00,1120000,1122200,1108100,1110000,6807000, -19980518 00:00,1107200,1115900,1098300,1108400,4751100, -19980519 00:00,1110000,1116900,1107800,1110600,5877900, -19980520 00:00,1120900,1125000,1108800,1122800,5775400, -19980521 00:00,1123800,1127800,1113100,1116900,6427100, -19980522 00:00,1117500,1120600,1109400,1111600,4659700, -19980526 00:00,1120900,1120900,1094400,1095300,6262300, -19980527 00:00,1093100,1099100,1075800,1096300,10286000,1075800 -19980528 00:00,1098800,1103800,1087300,1100000,4778900, -19980529 00:00,1106300,1108100,1093800,1093800,4583900, -19980601 00:00,1089700,1102200,1085600,1095000,5829200, -19980602 00:00,1100000,1103400,1091600,1095900,6477900, -19980603 00:00,1098800,1101900,1082200,1085000,6262700, -19980604 00:00,1082500,1100600,1080600,1099100,6317300, -19980605 00:00,1103800,1118800,1098800,1118100,8140300, -19980608 00:00,1119400,1124700,1116600,1118800,4056700, -19980609 00:00,1117200,1124200,1114100,1122800,2680400, -19980610 00:00,1116300,1130600,1112500,1113800,6336300, -19980611 00:00,1114400,1118800,1092800,1096600,7897100, -19980612 00:00,1098800,1104400,1082500,1102500,9700700, -19980615 00:00,1088100,1099100,1078800,1080000,9754800, -19980616 00:00,1084100,1091600,1077500,1090600,7245000, -19980617 00:00,1101600,1117800,1099400,1112500,11964800, -19980618 00:00,1111900,1114400,1107500,1111600,3749600, -19980619 00:00,1110600,1112300,1096300,1100300,3538200, -19980622 00:00,1102500,1110600,1100600,1103800,5357100, -19980623 00:00,1110900,1121900,1110000,1119700,5205600, -19980624 00:00,1121600,1136900,1116100,1134700,8222700, -19980625 00:00,1139100,1144700,1128100,1130000,5837700, -19980626 00:00,1133100,1138400,1131300,1134100,4753900, -19980629 00:00,1142500,1146900,1138000,1138900,6537200, -19980630 00:00,1139100,1141900,1130600,1133600,4126100, -19980701 00:00,1140600,1149400,1136300,1149400,3241200, -19980702 00:00,1147200,1148800,1142500,1146300,3432900, -19980706 00:00,1147800,1158400,1145600,1157800,3042100, -19980707 00:00,1159800,1161300,1152800,1155600,4847300, -19980708 00:00,1158800,1169400,1157500,1168100,6773100, -19980709 00:00,1162800,1167200,1156300,1160000,7258600, -19980710 00:00,1160300,1169100,1150600,1165300,7739800, -19980713 00:00,1165600,1168400,1160600,1167500,6846100, -19980714 00:00,1169400,1181600,1169400,1178100,7119900, -19980715 00:00,1180600,1182800,1174400,1175600,4908000, -19980716 00:00,1176900,1185900,1170600,1184400,6239600, -19980717 00:00,1186300,1190000,1183100,1187500,3478600, -19980720 00:00,1187500,1192300,1179400,1185000,2238300, -19980721 00:00,1190000,1190000,1162800,1165300,5107200, -19980722 00:00,1163400,1195900,1155300,1166300,10611500,1195900 -19980723 00:00,1163100,1168400,1138800,1141900,14881000, -19980724 00:00,1149700,1150900,1128800,1141600,11706000, -19980727 00:00,1136300,1150000,1128400,1149800,9360300, -19980728 00:00,1144400,1146600,1118800,1133100,13422500, -19980729 00:00,1137200,1141300,1122500,1126600,6932100, -19980730 00:00,1136300,1145900,1134100,1143400,6617400, -19980731 00:00,1143400,1145000,1113100,1120600,7679600, -19980803 00:00,1117800,1124200,1110300,1113800,10349100, -19980804 00:00,1122200,1122200,1072500,1076100,14468800, -19980805 00:00,1079400,1088800,1055900,1081600,21457200, -19980806 00:00,1081300,1095200,1075600,1090900,13163000, -19980807 00:00,1096900,1105900,1084700,1090300,11718400, -19980810 00:00,1087500,1096600,1081900,1085900,6055400, -19980811 00:00,1067800,1074400,1055000,1070600,14385600, -19980812 00:00,1077500,1088100,1075000,1085000,10997500, -19980813 00:00,1088100,1096600,1076300,1076400,8529600, -19980814 00:00,1083400,1087200,1057800,1064800,7995800, -19980817 00:00,1060000,1089400,1055000,1085000,11035000, -19980818 00:00,1090000,1105900,1087800,1102500,7245000, -19980819 00:00,1110900,1110900,1096300,1100000,6054300, -19980820 00:00,1096900,1104100,1091600,1092500,7590600, -19980821 00:00,1081900,1087200,1055000,1083800,16427600, -19980824 00:00,1092500,1099400,1083100,1090600,7902200, -19980825 00:00,1103800,1112500,1086400,1095000,9623400, -19980826 00:00,1082800,1096300,1077500,1085000,9090300, -19980827 00:00,1070000,1078400,1038900,1042500,24042400, -19980828 00:00,1049700,1057200,1021600,1030000,23196400, -19980831 00:00,1037500,1040200,950000,962500,22799800, -19980901 00:00,960600,1005600,936300,996900,24391500,936300 -19980902 00:00,998100,1017500,987800,990000,13984400, -19980903 00:00,976300,993800,966900,985200,16873300, -19980904 00:00,994400,998100,957800,976300,16414800, -19980908 00:00,1008800,1029700,998100,1025900,14307900, -19980909 00:00,1027500,1031300,1004800,1007500,12026000, -19980910 00:00,984400,993400,968100,982500,19666100, -19980911 00:00,981900,1015000,970000,1012500,20203300, -19980914 00:00,1028800,1044500,1020900,1031600,10318300, -19980915 00:00,1028800,1043100,1022800,1042000,8166200, -19980916 00:00,1047500,1052500,1031600,1050000,11125300, -19980917 00:00,1022500,1030300,1017800,1022300,12549700, -19980918 00:00,1023800,1024100,1010900,1019700,6667900, -19980921 00:00,996300,1034100,989400,1021900,8552400, -19980922 00:00,1035000,1036600,1021600,1030000,7070200, -19980923 00:00,1038800,1070000,1037800,1066300,12804500,1070000 -19980924 00:00,1063100,1068100,1032500,1043800,10809300, -19980925 00:00,1031300,1054200,1026300,1043000,10051500, -19980928 00:00,1053100,1063100,1042500,1049100,8368600, -19980929 00:00,1053800,1059400,1033800,1049400,10488400, -19980930 00:00,1035000,1043100,1013800,1018400,7537300, -19981001 00:00,1000300,1015500,980900,986300,12833400, -19981002 00:00,988800,1008800,972200,1003100,14014100, -19981005 00:00,995900,1000000,963400,990000,12408900, -19981006 00:00,1007500,1012800,975300,985300,12216900, -19981007 00:00,986300,1000300,957500,972200,13942400, -19981008 00:00,945600,967500,922200,962200,20019400,922200 -19981009 00:00,970000,995600,940600,986300,11865900, -19981012 00:00,1006300,1014400,996900,997800,9127600, -19981013 00:00,995600,1004100,987500,995300,5916200, -19981014 00:00,989400,1018100,988400,1005000,8056200, -19981015 00:00,1001300,1072500,999400,1050300,19735400, -19981016 00:00,1061300,1067500,1050000,1056600,16305900, -19981019 00:00,1056900,1068100,1055000,1063400,7627400, -19981020 00:00,1075600,1088000,1060900,1065000,14236900, -19981021 00:00,1068800,1076300,1058800,1071300,8997900, -19981022 00:00,1067800,1084700,1061600,1080000,8012900, -19981023 00:00,1079700,1080000,1067800,1071300,6188800, -19981026 00:00,1077200,1085600,1067800,1075500,5654900, -19981027 00:00,1084400,1089700,1062800,1066300,9865800, -19981028 00:00,1065600,1078100,1060300,1067800,5499700, -19981029 00:00,1070900,1089700,1066300,1089700,8847200, -19981030 00:00,1101300,1109100,1095000,1100000,9498800, -19981102 00:00,1108100,1117500,1101900,1114800,6351000, -19981103 00:00,1115900,1118100,1107500,1111300,6573900, -19981104 00:00,1124700,1130900,1110900,1118400,7788100, -19981105 00:00,1115300,1138100,1111300,1137300,6686200, -19981106 00:00,1134700,1145000,1133100,1142800,5136100, -19981109 00:00,1139400,1142500,1125000,1131400,5908800, -19981110 00:00,1130000,1139400,1125000,1126900,9142100, -19981111 00:00,1138100,1140600,1118900,1123800,10735000, -19981112 00:00,1123100,1131300,1116900,1120300,5396300, -19981113 00:00,1122200,1130600,1121300,1127700,5531900, -19981116 00:00,1142200,1143600,1128900,1138400,5934200, -19981117 00:00,1136600,1156300,1130000,1143400,8944500, -19981118 00:00,1143100,1149400,1135000,1147500,4538000, -19981119 00:00,1152800,1159100,1146300,1155000,5115600, -19981120 00:00,1163600,1167500,1158400,1166300,5351500, -19981123 00:00,1174700,1192200,1171600,1191600,6442400, -19981124 00:00,1190000,1196600,1184500,1186900,5121600, -19981125 00:00,1189400,1191900,1181600,1188800,4268500, -19981127 00:00,1194700,1197200,1190000,1195000,4562000, -19981130 00:00,1190200,1193800,1166600,1166900,7991700, -19981201 00:00,1161300,1180300,1152200,1178100,8773600, -19981202 00:00,1172200,1179100,1160000,1175000,7322100, -19981203 00:00,1172500,1183100,1151900,1152800,11737800, -19981204 00:00,1166300,1188800,1155900,1179700,10616800, -19981207 00:00,1180600,1195300,1180000,1192500,4105700, -19981208 00:00,1185300,1197500,1175000,1184700,9996400, -19981209 00:00,1186900,1189700,1178800,1188100,5259600, -19981210 00:00,1188400,1188400,1167200,1168100,5844400, -19981211 00:00,1164400,1173400,1155600,1170600,8669100, -19981214 00:00,1161600,1164100,1139100,1144700,9276400, -19981215 00:00,1146900,1167500,1145300,1166300,9482100, -19981216 00:00,1171300,1171300,1157500,1164100,7183500, -19981217 00:00,1172200,1185600,1170200,1185000,6720200, -19981218 00:00,1183100,1191300,1178800,1190200,4027900, -19981221 00:00,1192500,1213400,1190000,1203100,8465700, -19981222 00:00,1204100,1212200,1191900,1205300,5581100, -19981223 00:00,1211900,1231900,1208100,1228100,7558200, -19981224 00:00,1231600,1238800,1222800,1226900,1557500, -19981228 00:00,1232500,1233100,1220000,1226300,4031000, -19981229 00:00,1227200,1244400,1221300,1243100,3747300, -19981230 00:00,1239400,1247500,1230300,1233800,6962800, -19981231 00:00,1233100,1239400,1224700,1228800,6480500, -19990104 00:00,1233800,1252200,1217200,1228800,9480700, -19990105 00:00,1229400,1248800,1229400,1244400,7840800, -19990106 00:00,1258100,1276300,1257500,1275000,7648500, -19990107 00:00,1263800,1272200,1257800,1269400,5364300, -19990108 00:00,1281900,1285000,1259700,1275000,6076900,1285000 -19990111 00:00,1276900,1276900,1252200,1262800,7455600, -19990112 00:00,1262200,1262200,1238100,1240000,7434300, -19990113 00:00,1204100,1251300,1203800,1233100,10563100, -19990114 00:00,1236300,1239100,1209100,1211600,11370000, -19990115 00:00,1223800,1247800,1220300,1243100,7757900, -19990119 00:00,1253000,1274700,1235000,1252800,6270400, -19990120 00:00,1260900,1279400,1250300,1256300,6222800, -19990121 00:00,1255800,1258400,1232200,1235900,6408000, -19990122 00:00,1221300,1238400,1217800,1225600,7249900, -19990125 00:00,1232800,1240000,1219100,1236300,5008100, -19990126 00:00,1241300,1257200,1236300,1255000,5893300, -19990127 00:00,1263800,1266300,1244100,1244700,7089500, -19990128 00:00,1252500,1269700,1251900,1266600,5763500, -19990129 00:00,1273400,1283000,1254100,1278800,5990400, -19990201 00:00,1286900,1286900,1270000,1270900,9098500, -19990202 00:00,1270800,1272200,1247700,1262800,9197400, -19990203 00:00,1256900,1279400,1256600,1271900,10155700, -19990204 00:00,1273800,1275000,1248100,1248400,6727600, -19990205 00:00,1256600,1256600,1232200,1240000,7444000, -19990208 00:00,1250900,1250900,1233400,1243800,8364900, -19990209 00:00,1243800,1245000,1215600,1218600,8502300, -19990210 00:00,1221300,1230000,1213300,1226900,6492100, -19990211 00:00,1230600,1256900,1225000,1256900,8880800, -19990212 00:00,1248100,1255000,1226300,1235000,10496300, -19990216 00:00,1247500,1256300,1233800,1243800,6590400, -19990217 00:00,1231900,1253600,1222500,1227500,7447000, -19990218 00:00,1231900,1243800,1222200,1239400,8844800, -19990219 00:00,1240000,1257500,1233800,1239400,5219200, -19990222 00:00,1244400,1277200,1242800,1276900,10212200, -19990223 00:00,1275900,1285000,1265900,1275000,7631500, -19990224 00:00,1278400,1288400,1254100,1254100,6777300, -19990225 00:00,1245300,1252800,1225900,1247500,11219400, -19990226 00:00,1247500,1248400,1228100,1239100,9233600, -19990301 00:00,1236600,1243100,1208800,1237800,7594300,1208800 -19990302 00:00,1245000,1253100,1223100,1228100,9311200, -19990303 00:00,1230900,1235600,1217800,1231300,7558900, -19990304 00:00,1240600,1252300,1232700,1250000,7787300, -19990305 00:00,1275000,1281300,1259200,1278100,10091200, -19990308 00:00,1282800,1288000,1272500,1285200,4553000, -19990309 00:00,1281300,1299400,1274400,1282500,7703600, -19990310 00:00,1284700,1292200,1277800,1290300,3748200, -19990311 00:00,1296900,1311900,1288800,1302200,6543200, -19990312 00:00,1310000,1310300,1292200,1295300,4963300, -19990315 00:00,1299400,1311900,1295000,1311600,5257400, -19990316 00:00,1311300,1316600,1304700,1309800,4422900, -19990317 00:00,1306900,1309400,1296300,1302500,4380300, -19990318 00:00,1297800,1323400,1297500,1321600,3537400, -19990319 00:00,1323100,1326300,1298400,1300600,5265200, -19990322 00:00,1300600,1305900,1294200,1299100,4422000, -19990323 00:00,1293100,1296300,1257000,1264100,9302400, -19990324 00:00,1268400,1271600,1256300,1269400,5950500, -19990325 00:00,1280600,1292500,1277500,1291300,6432000, -19990326 00:00,1286300,1291300,1277200,1284700,5881500, -19990329 00:00,1291600,1314400,1291600,1312200,5395500, -19990330 00:00,1299400,1312200,1295600,1303400,5090200, -19990331 00:00,1311600,1316100,1284400,1286300,7029600, -19990401 00:00,1296900,1296900,1281300,1293800,7473900, -19990405 00:00,1309400,1323800,1302500,1323800,5533700, -19990406 00:00,1321900,1329800,1311600,1319400,5022000, -19990407 00:00,1326900,1333800,1313800,1328800,6056300, -19990408 00:00,1331900,1347800,1322800,1345300,5645500, -19990409 00:00,1344400,1356900,1335900,1348800,4132000, -19990412 00:00,1334700,1362500,1332200,1360600,7944600, -19990413 00:00,1362500,1364700,1340300,1351900,10581100, -19990414 00:00,1360600,1360600,1326900,1330300,11566600, -19990415 00:00,1334400,1335600,1310000,1326300,11010600, -19990416 00:00,1329100,1329100,1311900,1321300,6139800, -19990419 00:00,1326900,1345300,1283800,1289100,12557100, -19990420 00:00,1298100,1310300,1288800,1306300,8576400, -19990421 00:00,1310600,1337800,1257800,1336900,5330700, -19990422 00:00,1351300,1362500,1343900,1359700,6576600, -19990423 00:00,1358800,1367500,1350000,1357500,4218900, -19990426 00:00,1365000,1368100,1354700,1361300,3304000, -19990427 00:00,1371300,1375000,1358400,1365600,4907600,1375000 -19990428 00:00,1364400,1372500,1350000,1353400,5446900, -19990429 00:00,1355600,1360600,1338100,1345600,9593600, -19990430 00:00,1350900,1356300,1315000,1334700,10538700, -19990503 00:00,1334400,1357200,1330300,1356300,10658900, -19990504 00:00,1351300,1358100,1331300,1333100,10221800, -19990505 00:00,1339400,1350000,1318400,1349700,9747000, -19990506 00:00,1344400,1351300,1323800,1335000,13134000, -19990507 00:00,1345000,1349800,1334400,1346300,8344100, -19990510 00:00,1348400,1357200,1335300,1342200,5372100, -19990511 00:00,1353100,1368800,1257800,1357200,6679600, -19990512 00:00,1357500,1372200,1315000,1366300,15070800, -19990513 00:00,1372500,1380000,1368100,1370200,4174600, -19990514 00:00,1345600,1362500,1333100,1343000,8210400, -19990517 00:00,1336300,1344800,1323100,1343100,6277500, -19990518 00:00,1345300,1349800,1326300,1336300,8114700, -19990519 00:00,1344700,1348800,1332500,1348100,4273700, -19990520 00:00,1351300,1355900,1300600,1343100,4349700, -19990521 00:00,1341300,1346900,1195800,1334200,6117400,1195800 -19990524 00:00,1338400,1338400,1303900,1310900,7687100, -19990525 00:00,1313800,1323400,1286900,1288400,9523800, -19990526 00:00,1293100,1310000,1280900,1306600,12776900, -19990527 00:00,1298400,1302800,1280000,1284400,13998900, -19990528 00:00,1290000,1307500,1285900,1305900,8348100, -19990601 00:00,1301300,1301600,1283800,1298800,6391500, -19990602 00:00,1297500,1301900,1206300,1297800,6812100, -19990603 00:00,1306900,1309100,1297800,1302800,5933500, -19990604 00:00,1314700,1331900,1309400,1319400,9507800, -19990607 00:00,1334400,1341900,1329100,1337500,5078600, -19990608 00:00,1333800,1338000,1315900,1321600,5000500, -19990609 00:00,1324100,1330900,1318100,1321600,7428700, -19990610 00:00,1314400,1315000,1295900,1309100,6785900, -19990611 00:00,1312200,1322200,1290900,1298100,12587100, -19990614 00:00,1306900,1307500,1295500,1297800,6542000, -19990615 00:00,1304700,1316600,1300800,1305900,5438900, -19990616 00:00,1323800,1338800,1321600,1334800,7562200, -19990617 00:00,1328800,1355600,1326300,1346600,8476400, -19990618 00:00,1340600,1346900,1333800,1343100,2601000, -19990621 00:00,1344700,1350000,1336600,1349400,4452000, -19990622 00:00,1340000,1351900,1333400,1337000,5603600, -19990623 00:00,1330000,1336300,1321300,1332800,9474700, -19990624 00:00,1328800,1338100,1306600,1316900,9029400, -19990625 00:00,1325900,1330200,1312500,1316600,3966300, -19990628 00:00,1326900,1336300,1324700,1333800,5175700, -19990629 00:00,1330000,1351300,1327800,1351300,6514400, -19990630 00:00,1346300,1375000,1338400,1367500,16362400, -19990701 00:00,1370000,1385000,1360600,1380600,9586200, -19990702 00:00,1381300,1393000,1379100,1391900,3637300, -19990706 00:00,1392500,1407500,1385900,1387200,10954800, -19990707 00:00,1390600,1397200,1385200,1395600,3052600, -19990708 00:00,1390600,1406300,1387500,1395600,7133500, -19990709 00:00,1400000,1404700,1393800,1402200,2770400, -19990712 00:00,1409400,1409400,1395000,1400600,4233900, -19990713 00:00,1393800,1399200,1386600,1395000,6359600, -19990714 00:00,1400000,1402200,1387500,1398400,4246900, -19990715 00:00,1407800,1488800,1403100,1411300,3236000,1488800 -19990716 00:00,1412500,1421600,1407500,1420000,2078000, -19990719 00:00,1421900,1422500,1405600,1410000,4029000, -19990720 00:00,1401300,1404100,1375300,1378000,6843600, -19990721 00:00,1380900,1389100,1370000,1378800,4599000, -19990722 00:00,1374400,1380000,1354700,1361400,7580400, -19990723 00:00,1366600,1370000,1351300,1357500,4432000, -19990726 00:00,1348800,1361300,1346300,1350000,4026700, -19990727 00:00,1360000,1372000,1353800,1365000,5722800, -19990728 00:00,1362500,1373100,1355900,1367300,3803200, -19990729 00:00,1349400,1352500,1333100,1343800,7638800, -19990730 00:00,1348100,1353400,1328800,1330900,5569700, -19990802 00:00,1327500,1347500,1325000,1329400,5783300, -19990803 00:00,1337200,1338400,1313800,1323600,5268700, -19990804 00:00,1327200,1338800,1305300,1306900,5986000, -19990805 00:00,1308800,1317200,1288400,1315600,9910600, -19990806 00:00,1312200,1320000,1295000,1300600,7129800, -19990809 00:00,1305900,1318000,1297200,1300500,5162600, -19990810 00:00,1298800,1301600,1270000,1282200,9971000,1270000 -19990811 00:00,1296900,1305300,1286300,1305300,7796900, -19990812 00:00,1306900,1318100,1300000,1300200,6292100, -19990813 00:00,1316300,1332500,1311300,1331900,5609100, -19990816 00:00,1331300,1339700,1322500,1333800,3637600, -19990817 00:00,1344400,1351600,1331300,1347000,4708500, -19990818 00:00,1342000,1343800,1334100,1335600,4046500, -19990819 00:00,1323800,1332300,1316900,1328800,6345700, -19990820 00:00,1330600,1339100,1326900,1338800,3054700, -19990823 00:00,1348100,1364500,1346600,1363900,5284900, -19990824 00:00,1360600,1379700,1353800,1365000,9108100, -19990825 00:00,1371900,1387800,1279100,1384400,5894000,1387800 -19990826 00:00,1382800,1384200,1365000,1365000,4057900, -19990827 00:00,1368800,1370600,1351300,1351600,5935300, -19990830 00:00,1353400,1355000,1323900,1326600,4286300, -19990831 00:00,1329400,1337500,1307500,1325000,11968000, -19990901 00:00,1329400,1335600,1323100,1335600,6137800, -19990902 00:00,1321300,1326700,1306600,1322500,11370700, -19990903 00:00,1348800,1362800,1346900,1361900,9796800, -19990907 00:00,1360600,1366300,1342800,1355200,4507400, -19990908 00:00,1348400,1360600,1335000,1349100,6999800, -19990909 00:00,1347500,1352500,1336900,1351300,5950500, -19990910 00:00,1362500,1363600,1349400,1354500,2671700, -19990913 00:00,1351300,1354700,1345000,1348100,2130600, -19990914 00:00,1340600,1345600,1333800,1340600,3558700, -19990915 00:00,1354400,1354400,1320600,1320800,6522800, -19990916 00:00,1325000,1328100,1303100,1323800,15114200, -19990917 00:00,1326300,1339400,1321600,1337200,8371300, -19990920 00:00,1339400,1340000,1330900,1336300,2602800, -19990921 00:00,1322500,1324700,1301600,1309100,9018700, -19990922 00:00,1312500,1318400,1297500,1311600,12758600, -19990923 00:00,1318100,1342500,1237800,1280000,11455200,1237800 -19990924 00:00,1277500,1283800,1263100,1280600,13686000, -19990927 00:00,1287500,1297500,1282800,1282800,6797200, -19990928 00:00,1279400,1288100,1255600,1281900,11184900, -19990929 00:00,1284400,1291300,1267800,1267800,7351000, -19990930 00:00,1274400,1294400,1269700,1283800,7185300, -19991001 00:00,1279400,1285600,1266300,1283400,10818900, -19991004 00:00,1291900,1306300,1287500,1306300,6202900, -19991005 00:00,1307200,1319700,1286900,1301900,11376700, -19991006 00:00,1307500,1328100,1306900,1326300,11399000, -19991007 00:00,1328600,1330000,1315000,1320000,5986000, -19991008 00:00,1317500,1338800,1312300,1337200,9560400, -19991011 00:00,1335900,1341300,1333100,1338100,3970800, -19991012 00:00,1331300,1333100,1311900,1314100,8223800, -19991013 00:00,1306900,1313100,1282500,1286600,10731100, -19991014 00:00,1284800,1291900,1267500,1284100,10461400, -19991015 00:00,1260000,1267500,1245000,1248100,14030700, -19991018 00:00,1249400,1257500,1234400,1255600,9088500, -19991019 00:00,1271900,1282500,1259400,1260800,17208700, -19991020 00:00,1277500,1292500,1271300,1292200,8467400, -19991021 00:00,1272200,1288800,1266300,1286300,9352900, -19991022 00:00,1297500,1312200,1295600,1303400,8087900, -19991025 00:00,1293100,1304700,1287500,1295000,7667400, -19991026 00:00,1301900,1306900,1281900,1282500,5696200, -19991027 00:00,1283800,1303100,1282500,1301300,5049600, -19991028 00:00,1324400,1345000,1321900,1345000,10053700, -19991029 00:00,1358400,1376900,1357200,1365600,10480000, -19991101 00:00,1365000,1370000,1356300,1359400,3631400, -19991102 00:00,1359700,1372500,1347500,1348100,5787700, -19991103 00:00,1360000,1363800,1351300,1356900,7310900, -19991104 00:00,1367500,1373600,1357700,1364700,7695600, -19991105 00:00,1386300,1391100,1367800,1372200,7618700, -19991108 00:00,1370000,1383800,1367500,1379400,4517900, -19991109 00:00,1385000,1386900,1362800,1367200,4361300, -19991110 00:00,1362500,1383900,1360800,1377500,6173600, -19991111 00:00,1381900,1385600,1374700,1383800,4724400, -19991112 00:00,1392500,1399700,1371300,1397500,15589200, -19991115 00:00,1398400,1402500,1394100,1398100,2101000, -19991116 00:00,1405600,1426300,1400900,1424400,7442900, -19991117 00:00,1422500,1429400,1413100,1415600,9129600, -19991118 00:00,1424400,1430000,1416300,1428100,11360400, -19991119 00:00,1424100,1429700,1420000,1425000,4641100, -19991122 00:00,1424400,1430000,1415000,1424700,4149600, -19991123 00:00,1428400,1428400,1400600,1408800,5948300, -19991124 00:00,1407500,1424400,1400000,1420600,4357200, -19991126 00:00,1424700,1428800,1412500,1414400,1694900, -19991129 00:00,1408800,1419200,1404400,1410000,7653200, -19991130 00:00,1407500,1423100,1390000,1392500,8403900, -19991201 00:00,1393100,1405000,1390000,1401300,6790400, -19991202 00:00,1406300,1413600,1403800,1411300,6706200, -19991203 00:00,1430300,1454100,1430300,1436900,9860300, -19991206 00:00,1435300,1437200,1422500,1427500,2950200, -19991207 00:00,1432800,1433100,1413800,1419400,10334900, -19991208 00:00,1413400,1420600,1406300,1406300,4357000, -19991209 00:00,1418100,1422200,1393800,1410000,6029100, -19991210 00:00,1422800,1428100,1408800,1420000,4698200, -19991213 00:00,1414400,1427200,1412800,1421300,3919800, -19991214 00:00,1416300,1424800,1406300,1408100,5625700, -19991215 00:00,1403800,1422000,1400000,1418000,6539200, -19991216 00:00,1421900,1426600,1411600,1423800,5503200, -19991217 00:00,1430000,1433100,1420600,1423800,4355000, -19991220 00:00,1425600,1431900,1410900,1416900,4888100, -19991221 00:00,1415900,1440600,1413400,1433400,7829500, -19991222 00:00,1436300,1441900,1429700,1437500,5250700, -19991223 00:00,1450200,1464400,1449700,1460900,5566200, -19991227 00:00,1465000,1467800,1450600,1458100,2602500, -19991228 00:00,1458800,1465000,1454800,1461400,3867500, -19991229 00:00,1463100,1468100,1452500,1463400,2773900, -19991230 00:00,1471300,1478800,1461900,1466300,8143700, -19991231 00:00,1468400,1475000,1462500,1468800,3374600, -20000103 00:00,1482500,1482500,1438800,1455600,8369900,1482500 -20000104 00:00,1435300,1440600,1396400,1400600,7719000, -20000105 00:00,1399400,1415300,1372500,1402800,12274000, -20000106 00:00,1396300,1415000,1392500,1403400,5504600, -20000107 00:00,1403100,1444400,1400600,1444400,7274800, -20000110 00:00,1462500,1469100,1450300,1458100,5418700, -20000111 00:00,1458100,1460900,1435000,1440900,7312200, -20000112 00:00,1445900,1446300,1428800,1433400,6673300, -20000113 00:00,1444700,1457500,1432800,1451300,4894900, -20000114 00:00,1465300,1474700,1459700,1465000,6884500, -20000118 00:00,1453400,1466300,1451900,1456300,6286200, -20000119 00:00,1453100,1464700,1450000,1456900,5864600, -20000120 00:00,1469700,1469700,1438100,1445000,5355400, -20000121 00:00,1455000,1455000,1440900,1441300,6032100, -20000124 00:00,1456600,1458400,1394100,1400600,7533500, -20000125 00:00,1405200,1420000,1390000,1410000,9404300, -20000126 00:00,1410000,1415500,1400900,1406700,4763400, -20000127 00:00,1418400,1422200,1381300,1400000,10971900, -20000128 00:00,1394400,1400600,1355300,1364700,11564300, -20000131 00:00,1358100,1394400,1350000,1394400,10425300, -20000201 00:00,1397500,1416900,1385300,1401900,8251400, -20000202 00:00,1412800,1422500,1403800,1413000,5839200, -20000203 00:00,1408800,1429700,1400000,1428400,7523800, -20000204 00:00,1431900,1440000,1421300,1427800,4647000, -20000207 00:00,1425600,1427800,1414400,1427200,5642200, -20000208 00:00,1439700,1445600,1436300,1442800,4592600, -20000209 00:00,1444700,1444700,1413800,1414100,7938600, -20000210 00:00,1416300,1425600,1408800,1418800,6527200, -20000211 00:00,1418400,1419400,1380300,1391300,8090000, -20000214 00:00,1397800,1397800,1383100,1392500,8924900, -20000215 00:00,1392500,1412200,1378000,1407500,10099600, -20000216 00:00,1403800,1409400,1388000,1390900,8551800, -20000217 00:00,1404400,1404400,1382200,1390600,7025200, -20000218 00:00,1388800,1388800,1346300,1351900,8648300, -20000222 00:00,1351900,1441900,1333400,1354200,15990100, -20000223 00:00,1356300,1374700,1345000,1365200,11623500, -20000224 00:00,1366900,1370300,1330900,1356900,17172800, -20000225 00:00,1351900,1375300,1331300,1337500,10057600, -20000228 00:00,1333800,1366900,1327200,1350600,13374200,1327200 -20000229 00:00,1360600,1374400,1357500,1369100,7501300, -20000301 00:00,1376300,1390000,1372200,1383100,6431500, -20000302 00:00,1386900,1391300,1373400,1387200,7552200, -20000303 00:00,1404400,1417200,1397200,1413100,19871000, -20000306 00:00,1408100,1413400,1387500,1393900,12200000, -20000307 00:00,1400000,1401600,1352200,1359400,17667900, -20000308 00:00,1364700,1378400,1350300,1370500,11415800, -20000309 00:00,1372500,1405900,1361300,1405900,5019700, -20000310 00:00,1401900,1420000,1395300,1400000,7541900, -20000313 00:00,1366900,1404700,1356900,1388800,10611500, -20000314 00:00,1392800,1400900,1361600,1365000,7658200, -20000315 00:00,1368800,1404400,1325000,1395000,9382100, -20000316 00:00,1416300,1466900,1408800,1463100,22099800, -20000317 00:00,1458100,1480000,1454400,1466900,9838300, -20000320 00:00,1468800,1473400,1447800,1459800,12307100, -20000321 00:00,1455300,1497200,1445000,1497200,12668600, -20000322 00:00,1495600,1508400,1486900,1500000,8026500, -20000323 00:00,1491600,1534700,1491600,1526300,10541800, -20000324 00:00,1528800,1557500,1517200,1532800,11529700,1557500 -20000327 00:00,1533800,1537800,1520000,1525000,8327400, -20000328 00:00,1512500,1529800,1507500,1510000,5989100, -20000329 00:00,1515600,1524800,1496600,1510300,6497400, -20000330 00:00,1501600,1519400,1471300,1488800,9297700, -20000331 00:00,1496300,1523100,1484400,1505600,8466800, -20000403 00:00,1501300,1510300,1486900,1507700,7490200, -20000404 00:00,1517500,1530000,1413900,1500000,19282600, -20000405 00:00,1478800,1508100,1476300,1488800,8021800, -20000406 00:00,1502500,1516900,1490000,1503100,5914800, -20000407 00:00,1515600,1521300,1505000,1517800,5785800, -20000410 00:00,1517500,1531100,1503100,1507800,9456200, -20000411 00:00,1500000,1516300,1483800,1500600,13823200, -20000412 00:00,1503800,1511600,1465600,1466300,9981900, -20000413 00:00,1474700,1481600,1437800,1440000,11909800, -20000414 00:00,1426300,1428100,1335000,1358100,27304000, -20000417 00:00,1351900,1401300,1266900,1400600,23564600,1266900 -20000418 00:00,1405600,1442200,1397800,1442200,10593700, -20000419 00:00,1445000,1451300,1425300,1430000,6276600, -20000420 00:00,1435600,1439400,1423800,1433800,8187000, -20000424 00:00,1415000,1432800,1405000,1430000,12621000, -20000425 00:00,1446300,1479700,1444400,1478800,13812600, -20000426 00:00,1479700,1487500,1460000,1463800,7411100, -20000427 00:00,1430000,1473400,1430000,1465000,15325600, -20000428 00:00,1470000,1478600,1450600,1452200,8173500, -20000501 00:00,1465600,1484800,1436300,1471900,6737100, -20000502 00:00,1455000,1471300,1445000,1446300,8785100, -20000503 00:00,1440000,1440000,1397800,1416300,11442100, -20000504 00:00,1420000,1423600,1407500,1413100,5713300, -20000505 00:00,1410600,1440000,1409400,1433400,7416300, -20000508 00:00,1427500,1433800,1418400,1425300,4530300, -20000509 00:00,1430600,1434100,1402700,1416300,5299000, -20000510 00:00,1405000,1409700,1377500,1385900,9882100, -20000511 00:00,1401300,1415000,1391300,1411100,6838500, -20000512 00:00,1418100,1434700,1415600,1424100,5805300, -20000515 00:00,1427500,1455900,1420000,1453800,4193500, -20000516 00:00,1465600,1477200,1453100,1470000,7907600, -20000517 00:00,1456900,1461900,1444700,1452500,5507300, -20000518 00:00,1456300,1463100,1439400,1440600,4718200, -20000519 00:00,1425600,1432300,1404100,1408800,5731800, -20000522 00:00,1412500,1414700,1370000,1404100,10008900, -20000523 00:00,1404400,1408100,1375600,1375600,7422700, -20000524 00:00,1380000,1406900,1276300,1404100,10710100, -20000525 00:00,1406900,1418100,1377200,1388800,7101900, -20000526 00:00,1388100,1396900,1373300,1383100,4605900, -20000530 00:00,1400000,1426900,1394700,1426300,5037500, -20000531 00:00,1425600,1440000,1420900,1424100,5541700, -20000601 00:00,1436900,1453800,1430000,1451700,8473400, -20000602 00:00,1489400,1490900,1474800,1480900,8538300, -20000605 00:00,1474700,1482200,1468800,1472500,6629400, -20000606 00:00,1466300,1477800,1459100,1463400,4847700, -20000607 00:00,1466300,1480000,1460000,1475600,4402800, -20000608 00:00,1475000,1477500,1460600,1465600,5458000, -20000609 00:00,1475000,1479700,1455300,1463400,2865600, -20000612 00:00,1469700,1469700,1451300,1452800,3294200, -20000613 00:00,1448100,1477500,1446300,1474700,6277200, -20000614 00:00,1482500,1488800,1471900,1475000,6227300, -20000615 00:00,1481300,1487500,1468400,1482500,5566200, -20000616 00:00,1483100,1483100,1458800,1468800,5010200, -20000619 00:00,1464700,1491600,1462500,1486600,4748700, -20000620 00:00,1481900,1488800,1470000,1478100,8314200, -20000621 00:00,1469400,1484400,1468900,1479500,2953900, -20000622 00:00,1475600,1476900,1450000,1455300,7127200, -20000623 00:00,1458100,1461300,1438800,1443800,4198700, -20000626 00:00,1453800,1462500,1448800,1457500,4770700, -20000627 00:00,1459800,1467200,1453100,1455600,3585500, -20000628 00:00,1456300,1469800,1452200,1456300,5585500, -20000629 00:00,1447500,1457500,1435200,1444400,6081000, -20000630 00:00,1439400,1455300,1438900,1453800,6673700, -20000703 00:00,1454400,1474400,1451600,1472800,1436600, -20000705 00:00,1463800,1466600,1443800,1450900,2447900, -20000706 00:00,1449400,1464700,1442200,1458800,5394400, -20000707 00:00,1466900,1487800,1462200,1480900,2796000, -20000710 00:00,1478800,1489100,1476300,1479700,2468600, -20000711 00:00,1474700,1491300,1471600,1483800,5233700, -20000712 00:00,1492800,1501300,1486900,1495900,5507100, -20000713 00:00,1499800,1503800,1491900,1498800,5108200, -20000714 00:00,1504400,1512500,1496700,1508800,5512500, -20000717 00:00,1509800,1519800,1506900,1510600,3566600,1519800 -20000718 00:00,1506300,1506300,1493400,1496900,3678300, -20000719 00:00,1494700,1499100,1482500,1484400,8163200, -20000720 00:00,1490000,1505000,1488100,1498100,4139400, -20000721 00:00,1497500,1497500,1478800,1482500,5062300, -20000724 00:00,1481300,1488600,1465600,1466600,5520000, -20000725 00:00,1477500,1478400,1467800,1474400,4247400, -20000726 00:00,1469700,1471600,1456400,1461600,11008600, -20000727 00:00,1459400,1466300,1446900,1455000,7169400, -20000728 00:00,1457200,1459100,1415200,1422500,5674800, -20000731 00:00,1429400,1441300,1420600,1434400,4837700,1420600 -20000801 00:00,1436300,1447200,1431300,1440000,3742800, -20000802 00:00,1438800,1454100,1436300,1442700,7275200, -20000803 00:00,1428800,1458100,1426300,1455000,4363300, -20000804 00:00,1463100,1467200,1454100,1465300,3492400, -20000807 00:00,1467200,1484400,1463800,1481300,4067300, -20000808 00:00,1475000,1488100,1475000,1485600,3161200, -20000809 00:00,1491400,1492200,1473800,1476900,5205000, -20000810 00:00,1475300,1478600,1462800,1465600,3987200, -20000811 00:00,1466300,1480000,1455600,1474400,4739000, -20000814 00:00,1477800,1495000,1470600,1493800,2682600, -20000815 00:00,1493400,1498100,1473400,1490200,4731200, -20000816 00:00,1493100,1499400,1478400,1483800,4843200, -20000817 00:00,1486900,1504400,1483400,1499400,5401400, -20000818 00:00,1503800,1503800,1491600,1496700,4350300, -20000821 00:00,1500300,1507200,1494100,1503600,2058200, -20000822 00:00,1505600,1513100,1500900,1502300,2831300, -20000823 00:00,1498100,1512800,1491900,1509100,5518000, -20000824 00:00,1511600,1515500,1500900,1514400,4636200, -20000825 00:00,1511600,1516300,1509400,1510900,2700900, -20000828 00:00,1512500,1529100,1512500,1517800,5721600, -20000829 00:00,1514400,1518800,1509100,1515000,3375600, -20000830 00:00,1513100,1517800,1504500,1506300,3854400, -20000831 00:00,1510600,1530900,1508400,1522500,5246300, -20000901 00:00,1532500,1535900,1520000,1525600,2983800,1535900 -20000905 00:00,1518800,1522000,1508100,1512500,3202700, -20000906 00:00,1511900,1519500,1496900,1496900,3930600, -20000907 00:00,1502500,1510800,1498300,1507500,4187500, -20000908 00:00,1502800,1505000,1493300,1497500,3067500, -20000911 00:00,1497500,1511900,1486900,1494700,3726500, -20000912 00:00,1497500,1502500,1484400,1487500,4628300, -20000913 00:00,1480000,1498400,1476600,1488800,4335400, -20000914 00:00,1498800,1499400,1481600,1485300,3442900, -20000915 00:00,1481900,1482500,1460300,1467500,3880800, -20000918 00:00,1463800,1469700,1442000,1446900,4960300, -20000919 00:00,1451300,1463100,1447000,1460800,6372400, -20000920 00:00,1456900,1460300,1431600,1452200,6594700, -20000921 00:00,1444700,1455600,1437500,1450300,4911900, -20000922 00:00,1426300,1451600,1421300,1451600,7241600, -20000925 00:00,1459400,1460600,1437200,1441300,9551700, -20000926 00:00,1443800,1450000,1426300,1428900,4889400, -20000927 00:00,1435600,1439700,1421300,1428100,5471600, -20000928 00:00,1431900,1463300,1428900,1461900,6598400, -20000929 00:00,1454700,1459700,1437500,1437800,7669100, -20001002 00:00,1442800,1449100,1431400,1438100,5182100, -20001003 00:00,1445300,1457500,1425300,1426300,8184100, -20001004 00:00,1428800,1442500,1417500,1435800,5717600, -20001005 00:00,1434100,1448400,1433100,1438800,4038600, -20001006 00:00,1438800,1446400,1397500,1410000,9717900, -20001009 00:00,1413100,1413100,1393800,1404400,4323000, -20001010 00:00,1400900,1412500,1385600,1388800,5724500, -20001011 00:00,1376300,1386300,1351300,1365600,10570900, -20001012 00:00,1372800,1433800,1327800,1331600,11288200, -20001013 00:00,1329400,1376600,1328800,1375600,10629900, -20001016 00:00,1374100,1390000,1366900,1374700,5407400, -20001017 00:00,1384400,1385600,1344100,1354800,7302200, -20001018 00:00,1326300,1361300,1301600,1344100,9962600,1301600 -20001019 00:00,1368400,1394500,1364400,1390500,8309100, -20001020 00:00,1383800,1411900,1383800,1398800,6603800, -20001023 00:00,1399400,1410300,1389400,1400000,5066000, -20001024 00:00,1409700,1419400,1390000,1401300,5115800, -20001025 00:00,1387500,1395600,1363900,1369200,7817300, -20001026 00:00,1371300,1376600,1340000,1367500,8644800, -20001027 00:00,1378800,1388400,1366300,1383800,9866200, -20001030 00:00,1384400,1410900,1381600,1402500,8510100, -20001031 00:00,1410200,1436900,1400600,1429700,8131100, -20001101 00:00,1422500,1432500,1412200,1424100,6349600, -20001102 00:00,1431600,1439100,1425200,1430300,4360600, -20001103 00:00,1434700,1437500,1423800,1431100,4853300, -20001106 00:00,1431600,1443000,1430300,1437000,3814400,1443000 -20001107 00:00,1431400,1440000,1425600,1436600,5032700, -20001108 00:00,1440600,1440600,1410300,1412500,5889100, -20001109 00:00,1400000,1412200,1372500,1404100,9700200, -20001110 00:00,1390000,1394700,1368800,1369700,8316000, -20001113 00:00,1356300,1369800,1330200,1353800,16883900, -20001114 00:00,1374700,1396300,1370000,1387500,7432300, -20001115 00:00,1390600,1401100,1377500,1391300,7877100, -20001116 00:00,1385800,1398800,1373100,1377700,6418000, -20001117 00:00,1373100,1390000,1357500,1374700,6429800, -20001120 00:00,1357500,1363800,1343800,1346900,5017900, -20001121 00:00,1348800,1361900,1335200,1351600,4344600, -20001122 00:00,1343400,1348800,1324400,1325000,5285300, -20001124 00:00,1336300,1349700,1335600,1348400,3412100, -20001127 00:00,1364700,1366900,1353100,1355000,5997600, -20001128 00:00,1351300,1365900,1338100,1338100,4190100, -20001129 00:00,1343800,1359100,1332700,1346400,6534900, -20001130 00:00,1325000,1335000,1297500,1316300,10401100,1297500 -20001201 00:00,1331900,1340600,1310000,1318800,7233600, -20001204 00:00,1318800,1338800,1315000,1330000,6328000, -20001205 00:00,1348800,1381900,1344100,1381300,8270800, -20001206 00:00,1377800,1383400,1350300,1355300,12544800, -20001207 00:00,1348800,1358800,1343800,1349800,5966200, -20001208 00:00,1370600,1391300,1360900,1376600,8949000, -20001211 00:00,1373800,1488800,1367200,1386300,5943200, -20001212 00:00,1381900,1392500,1373800,1377500,4619700, -20001213 00:00,1392500,1394100,1362500,1365300,5580800, -20001214 00:00,1358800,1365000,1341900,1341900,7348300,1365000 -20001215 00:00,1331300,1332500,1305600,1314500,8490700, -20001218 00:00,1110000,1334700,1110000,1323800,6906100, -20001219 00:00,1324700,1349700,1305000,1305600,9054500, -20001220 00:00,1286300,1289400,1239400,1266900,9490400, -20001221 00:00,1260000,1288600,1255300,1276900,14252300, -20001222 00:00,1290000,1308600,1288400,1308600,8862700, -20001226 00:00,1308400,1319400,1302800,1318900,4395100, -20001227 00:00,1320000,1336600,1312500,1331300,5193500, -20001228 00:00,1328100,1338100,1325900,1336100,7872300, -20001229 00:00,1340600,1342800,1318800,1322500,7564700, -20010102 00:00,1320000,1321600,1275600,1282500,8348100,1275600 -20010103 00:00,1283100,1360000,1276600,1350000,17057200, -20010104 00:00,1349400,1354700,1330000,1334100,8331000, -20010105 00:00,1334700,1336300,1292800,1302500,12281600, -20010108 00:00,1298800,1300600,1276300,1297500,6134300, -20010109 00:00,1310500,1315000,1296300,1301300,5161100, -20010110 00:00,1290000,1318100,1288100,1316600,8509500, -20010111 00:00,1310900,1334800,1310900,1327700,6271200, -20010112 00:00,1326900,1337200,1312800,1319100,6402300, -20010116 00:00,1320000,1331900,1315200,1325800,7763000, -20010117 00:00,1348400,1350500,1326400,1329400,7793500, -20010118 00:00,1334400,1357000,1329400,1350500,8764500, -20010119 00:00,1361900,1361900,1338800,1344800,7353300, -20010122 00:00,1342500,1357800,1335600,1346300,7091800, -20010123 00:00,1344700,1366600,1341600,1361300,8381500, -20010124 00:00,1362500,1373100,1358400,1366900,5708800, -20010125 00:00,1362500,1372500,1356600,1360600,10440400, -20010126 00:00,1351600,1361300,1344500,1357800,7049800, -20010129 00:00,1355000,1369000,1353700,1366500,6346400, -20010130 00:00,1363000,1379200,1357900,1377500,6535400, -20010131 00:00,1374000,1387000,1366000,1370600,9018400,1387000 -20010201 00:00,1371000,1375600,1362500,1374800,7899200, -20010202 00:00,1374000,1379900,1350000,1350800,7931800, -20010205 00:00,1348000,1359000,1347500,1358900,3758500, -20010206 00:00,1353000,1367000,1352200,1354200,6830900, -20010207 00:00,1347200,1354200,1336800,1342200,5602500, -20010208 00:00,1348000,1354000,1334800,1334800,5591600, -20010209 00:00,1333500,1333500,1312600,1318300,9406500, -20010212 00:00,1317000,1335000,1317000,1331400,5507600, -20010213 00:00,1337000,1341700,1320000,1321200,5986900, -20010214 00:00,1326500,1326500,1306600,1321500,8150200, -20010215 00:00,1328400,1335200,1319900,1329600,5417200, -20010216 00:00,1310000,1312900,1293000,1304600,10245800, -20010220 00:00,1310400,1311400,1281000,1283200,5457000, -20010221 00:00,1279000,1288400,1255200,1256000,10237700, -20010222 00:00,1263500,1265400,1230200,1255200,21327100, -20010223 00:00,1250800,1255400,1218000,1248900,15540300, -20010226 00:00,1258000,1272100,1245000,1272100,9555900, -20010227 00:00,1268000,1278400,1255100,1263500,10871500, -20010228 00:00,1267500,1268400,1232700,1241500,13986800, -20010301 00:00,1240500,1245000,1217500,1244900,13921800, -20010302 00:00,1225000,1256500,1223000,1237700,12367500, -20010305 00:00,1241500,1247800,1238100,1244000,4718700, -20010306 00:00,1263500,1277500,1254900,1258700,6597400, -20010307 00:00,1269000,1269000,1257600,1266400,6407800, -20010308 00:00,1266000,1272400,1261000,1269000,5554000, -20010309 00:00,1261000,1261000,1231100,1236700,9754500, -20010312 00:00,1223400,1245000,1177000,1184400,11973300, -20010313 00:00,1194000,1204400,1175300,1202000,12711300, -20010314 00:00,1170500,1192900,1157500,1172000,17316500, -20010315 00:00,1184500,1188600,1175100,1177100,8083600, -20010316 00:00,1171300,1185000,1144600,1153100,35979400, -20010319 00:00,1157600,1176900,1148200,1173000,9638200, -20010320 00:00,1179000,1184600,1141500,1142500,13717000, -20010321 00:00,1141800,1152600,1119000,1123400,18086400, -20010322 00:00,1120200,1157000,1080400,1119000,25414600,1080400 -20010323 00:00,1132500,1144800,1115000,1142500,12191600, -20010326 00:00,1157000,1162700,1147700,1155000,9392300, -20010327 00:00,1156200,1186500,1152500,1185100,12432000, -20010328 00:00,1169000,1175000,1149000,1154500,10194300, -20010329 00:00,1147000,1166000,1093400,1149800,11463600, -20010330 00:00,1155500,1166500,1145000,1161200,8495500, -20010402 00:00,1163000,1173800,1138000,1145400,10040900, -20010403 00:00,1139800,1141500,1101000,1106700,12365600, -20010404 00:00,1105800,1121000,1093000,1103100,14720900, -20010405 00:00,1133000,1154900,1125000,1152200,15035600, -20010406 00:00,1139900,1144000,1120600,1130500,14400500, -20010409 00:00,1140000,1154800,1127800,1140000,8617400, -20010410 00:00,1154500,1177500,1151700,1170900,15812700, -20010411 00:00,1187800,1189900,1161400,1169600,12328300, -20010412 00:00,1163000,1186300,1159600,1185500,8316200, -20010416 00:00,1182900,1188900,1169100,1182300,6587800, -20010417 00:00,1173100,1196600,1170200,1194200,9952300, -20010418 00:00,1210600,1260000,1206900,1241400,19909300, -20010419 00:00,1242500,1258300,1200000,1257200,13370400, -20010420 00:00,1249000,1254000,1236600,1243600,7779700, -20010423 00:00,1236500,1263000,1219100,1227000,8156500, -20010424 00:00,1225200,1237000,1211000,1211300,9259600, -20010425 00:00,1214200,1236700,1209500,1231000,7959200, -20010426 00:00,1237300,1252200,1235000,1237400,9880700, -20010427 00:00,1249200,1256800,1242000,1255500,7258700, -20010430 00:00,1264500,1272700,1246700,1252100,8758500, -20010501 00:00,1250700,1269700,1246000,1269500,10205900, -20010502 00:00,1274100,1276900,1260000,1268900,9164600, -20010503 00:00,1261300,1261500,1242200,1251600,9322200, -20010504 00:00,1236500,1272000,1234400,1269500,12084200, -20010507 00:00,1268600,1274700,1255300,1265700,6651400, -20010508 00:00,1268600,1271000,1255600,1265200,6522000, -20010509 00:00,1252500,1266000,1250600,1258700,9240800, -20010510 00:00,1272600,1275000,1257700,1259900,6503700, -20010511 00:00,1260000,1264900,1244000,1248200,7394500, -20010514 00:00,1249000,1254400,1244600,1252300,7793600, -20010515 00:00,1255500,1265000,1248500,1253000,8986500, -20010516 00:00,1248400,1292000,1246200,1289600,12431300, -20010517 00:00,1290100,1300800,1285600,1293100,11930400, -20010518 00:00,1290900,1297200,1281000,1296200,6030000, -20010521 00:00,1298400,1318000,1291500,1317700,11722200, -20010522 00:00,1318300,1320900,1310700,1313700,7704800,1320900 -20010523 00:00,1310500,1310500,1292900,1292900,11528900, -20010524 00:00,1294700,1300000,1249000,1297000,7410400, -20010525 00:00,1296500,1297000,1280100,1282300,7097400, -20010529 00:00,1282300,1283500,1269000,1273000,8350400, -20010530 00:00,1265900,1275300,1250000,1252900,9937200, -20010531 00:00,1254300,1267600,1252600,1261000,9468700, -20010601 00:00,1262000,1271000,1251200,1266400,8898100, -20010604 00:00,1268000,1272700,1258900,1271700,5421400, -20010605 00:00,1274900,1292300,1272700,1288700,8082500, -20010606 00:00,1288300,1288300,1273600,1275300,12487900, -20010607 00:00,1270500,1282900,1270000,1282400,6862800, -20010608 00:00,1277000,1278700,1261400,1270000,7278100, -20010611 00:00,1267100,1277500,1254100,1259400,7055200, -20010612 00:00,1248600,1268800,1240400,1261300,9128400, -20010613 00:00,1261700,1265800,1246700,1247400,8230500, -20010614 00:00,1241800,1243000,1222400,1224800,12436500, -20010615 00:00,1209100,1224000,1204000,1216200,16676600, -20010618 00:00,1216500,1224400,1209500,1210800,7895700, -20010619 00:00,1223800,1228900,1208600,1214600,7655100, -20010620 00:00,1211900,1228600,1211000,1226000,8120400, -20010621 00:00,1222200,1274700,1221500,1238600,11993900, -20010622 00:00,1234900,1236000,1221600,1227500,11803800, -20010625 00:00,1232800,1234400,1215000,1221300,8064300, -20010626 00:00,1209000,1229000,1200300,1218400,8014800, -20010627 00:00,1216000,1251500,1209100,1213100,9785600, -20010628 00:00,1220000,1239400,1219300,1228900,9986900, -20010629 00:00,1228000,1240100,1222600,1232000,9113800, -20010702 00:00,1228000,1243200,1226200,1239000,8031000, -20010703 00:00,1239800,1241000,1230500,1240800,3305300, -20010705 00:00,1230700,1236500,1221100,1221300,4818400, -20010706 00:00,1213100,1215800,1190500,1191900,9531300, -20010709 00:00,1194900,1205400,1192000,1201000,8274300, -20010710 00:00,1202900,1206400,1182100,1183500,8339800, -20010711 00:00,1181000,1190400,1170900,1182700,14904100, -20010712 00:00,1195000,1214700,1193100,1211600,11252600, -20010713 00:00,1208400,1223200,1206200,1219000,9992900, -20010716 00:00,1217700,1222800,1202900,1206000,6321000, -20010717 00:00,1202000,1219400,1198300,1216700,7384300, -20010718 00:00,1205600,1216400,1200600,1211000,6678700, -20010719 00:00,1221800,1229800,1207600,1218300,9143600, -20010720 00:00,1211500,1219400,1209200,1214500,8514700, -20010723 00:00,1218000,1218800,1192200,1193600,7405300, -20010724 00:00,1190000,1192000,1167500,1173900,11894500, -20010725 00:00,1179200,1194800,1174600,1193000,11752400, -20010726 00:00,1190600,1208500,1185600,1207500,12583600, -20010727 00:00,1208300,1216000,1199100,1210000,8333200, -20010730 00:00,1211900,1213500,1203000,1208200,8736400, -20010731 00:00,1210000,1226800,1201800,1214600,11528000, -20010801 00:00,1219700,1227000,1209000,1219600,11666400, -20010802 00:00,1232300,1233500,1214600,1223800,10605300, -20010803 00:00,1223600,1223700,1202000,1218700,10527700, -20010806 00:00,1213500,1215100,1201000,1204500,7974000, -20010807 00:00,1202700,1215300,1199100,1208300,8373000, -20010808 00:00,1201200,1211600,1184300,1186500,14886400, -20010809 00:00,1187000,1189700,1178600,1187400,13918500, -20010810 00:00,1188000,1198400,1173400,1194400,11299200, -20010813 00:00,1196000,1198500,1188200,1194900,7194100, -20010814 00:00,1201400,1203500,1188000,1191100,13026500, -20010815 00:00,1192300,1196100,1181600,1182800,8303100, -20010816 00:00,1178000,1187500,1170000,1186200,10275800, -20010817 00:00,1176500,1178700,1160100,1166400,10893500, -20010820 00:00,1168000,1176600,1165500,1175600,9717400, -20010821 00:00,1178000,1185400,1080500,1161300,13952900,1080500 -20010822 00:00,1167500,1174300,1157800,1170500,11224700, -20010823 00:00,1169600,1175200,1165200,1167000,8169600, -20010824 00:00,1172100,1191000,1166500,1190000,11056100, -20010827 00:00,1189700,1192000,1182600,1184900,6219700, -20010828 00:00,1182800,1184900,1165900,1166400,11146700, -20010829 00:00,1171300,1171800,1151700,1154000,15345700, -20010830 00:00,1148500,1159100,1120100,1132800,16303700, -20010831 00:00,1134000,1147700,1131300,1139200,15875800, -20010904 00:00,1138500,1167900,1134400,1136500,22807100, -20010905 00:00,1137000,1141900,1119500,1136500,20800000,1141900 -20010906 00:00,1126500,1133000,1110900,1111000,20895800, -20010907 00:00,1100200,1112500,1086900,1091300,30316100, -20010910 00:00,1077000,1110700,1075500,1098300,23040200, -20010917 00:00,1010000,1065100,1000000,1043000,32337700, -20010918 00:00,1043300,1053000,1033600,1039000,21762400, -20010919 00:00,1041000,1045000,985600,1020200,43139900, -20010920 00:00,1004000,1018500,985700,989600,37685200, -20010921 00:00,940500,997000,938000,968500,49249900, -20010924 00:00,997300,1011600,990600,1004800,24672600, -20010925 00:00,1007500,1020000,999000,1014000,25190100,999000 -20010926 00:00,1023500,1024000,1004300,1010000,17174200, -20010927 00:00,1012500,1022500,1000000,1020500,19974800, -20010928 00:00,1029800,1099200,1025000,1042500,21208700, -20011001 00:00,1039000,1043200,1024200,1040000,21059700, -20011002 00:00,1040000,1053800,1030700,1053800,18549500, -20011003 00:00,1046000,1078800,1043500,1073400,30475800, -20011004 00:00,1082900,1089700,1043700,1071000,31695300, -20011005 00:00,1072500,1076200,1055200,1072600,28749400, -20011008 00:00,1062800,1073000,1058700,1065300,11713400, -20011009 00:00,1066100,1067500,1056000,1058700,15220700, -20011010 00:00,1058000,1085500,1055200,1084000,18755600, -20011011 00:00,1089500,1103000,1089500,1100100,24722000, -20011012 00:00,1091500,1098900,1073000,1094500,30699900, -20011015 00:00,1086300,1094500,1071900,1093000,25426400, -20011016 00:00,1098000,1106200,1089500,1100600,15043500, -20011017 00:00,1110700,1111500,1079000,1079000,27566600, -20011018 00:00,1078200,1081600,1067400,1072100,16793600, -20011019 00:00,1070000,1079200,1060100,1075500,22435500, -20011022 00:00,1073000,1094900,1072100,1092600,17101100, -20011023 00:00,1099600,1106100,1083800,1088000,21806000, -20011024 00:00,1089800,1099400,1081200,1087700,15508500, -20011025 00:00,1074500,1103300,1067400,1103100,26339700, -20011026 00:00,1099500,1118000,1096400,1107700,18892000, -20011029 00:00,1101600,1105500,1080600,1082300,17805500, -20011030 00:00,1073500,1077000,1055600,1062000,25662200, -20011031 00:00,1069000,1078600,1060100,1062700,27388000, -20011101 00:00,1066000,1090100,1054300,1086700,28591900, -20011102 00:00,1084400,1093800,1078700,1090600,16378300, -20011105 00:00,1101200,1110900,1007400,1105800,15885700, -20011106 00:00,1103500,1124500,1098500,1122900,22531600, -20011107 00:00,1117700,1131200,1115600,1119600,19023300, -20011108 00:00,1128700,1226600,1104500,1123500,21245000,1226600 -20011109 00:00,1122500,1129600,1114400,1124400,16170300, -20011112 00:00,1110000,1126500,1100000,1121600,25038200, -20011113 00:00,1134400,1144300,1131800,1143900,14030800, -20011114 00:00,1151700,1154000,1137000,1146200,17418000, -20011115 00:00,1143700,1151800,1139300,1146000,20437200, -20011116 00:00,1150800,1151000,1134000,1143100,17188100, -20011119 00:00,1149200,1155700,1144500,1155300,12517900, -20011120 00:00,1153700,1158000,1111500,1148100,15890300, -20011121 00:00,1145000,1146700,1135100,1141500,10996400, -20011123 00:00,1140400,1186300,1140000,1155200,7265300, -20011126 00:00,1157500,1163400,1150700,1162200,13697200, -20011127 00:00,1156200,1169000,1140900,1154000,18924400, -20011128 00:00,1147400,1151700,1132500,1133400,19443200, -20011129 00:00,1136600,1145600,1130000,1144800,15954000, -20011130 00:00,1144000,1149100,1140200,1143000,12983000, -20011203 00:00,1136500,1140800,1130100,1133600,14533800, -20011204 00:00,1139200,1150000,1133500,1150000,14970000, -20011205 00:00,1156100,1180000,1155600,1176400,23817500, -20011206 00:00,1173500,1179400,1169300,1173000,16930400, -20011207 00:00,1169000,1170900,1157000,1164500,17768300, -20011210 00:00,1158500,1163900,1144600,1144600,13238000, -20011211 00:00,1149000,1157200,1139000,1141900,19660800, -20011212 00:00,1145500,1147800,1131100,1142900,15487100, -20011213 00:00,1134500,1137000,1122800,1123600,17341600, -20011214 00:00,1123300,1134900,1120000,1129000,15363600,1120000 -20011217 00:00,1129900,1143600,1129000,1139900,13616800, -20011218 00:00,1146300,1151500,1143400,1149300,12932400, -20011219 00:00,1140900,1159200,1140000,1155000,19767600, -20011220 00:00,1155000,1158000,1146300,1146900,13673400, -20011221 00:00,1150300,1151000,1142000,1146600,12542200, -20011224 00:00,1148300,1150400,1146100,1147300,7822400, -20011226 00:00,1146500,1162100,1146500,1152500,9195600, -20011227 00:00,1153000,1163300,1152600,1159300,8636700, -20011228 00:00,1162900,1167500,1159500,1162100,9602500, -20011231 00:00,1161500,1164000,1148500,1148900,12333600, -20020102 00:00,1151100,1156500,1138100,1155900,16855900, -20020103 00:00,1156500,1168300,1150000,1167600,14579900, -20020104 00:00,1171700,1179800,1133600,1174100,19708000, -20020107 00:00,1177000,1179900,1157100,1167000,11601500, -20020108 00:00,1168000,1170600,1159700,1163600,12006100, -20020109 00:00,1166800,1199100,1153400,1157000,15074900,1199100 -20020110 00:00,1157000,1163500,1153000,1159600,13162200, -20020111 00:00,1162100,1162800,1147100,1147700,12628100, -20020114 00:00,1146500,1148400,1141000,1141200,11640600, -20020115 00:00,1145500,1153900,1139000,1148800,16475400, -20020116 00:00,1143000,1144000,1130000,1130500,15926800, -20020117 00:00,1137600,1142400,1134000,1141300,16033000, -20020118 00:00,1130000,1138700,1113600,1130800,15778700, -20020122 00:00,1137500,1139500,1120200,1122500,11249800, -20020123 00:00,1126300,1135600,1120200,1131400,11791000, -20020124 00:00,1136400,1142500,1133200,1135400,11323700, -20020125 00:00,1131200,1141800,1130400,1135900,11634500, -20020128 00:00,1139000,1141900,989200,1136300,9808100,989200 -20020129 00:00,1138500,1144100,1100500,1102800,27316700, -20020130 00:00,1103900,1133900,1084000,1116100,34240300, -20020131 00:00,1121500,1132700,1116200,1132400,17736200, -20020201 00:00,1130900,1137000,1115500,1126000,15398900, -20020204 00:00,1122300,1151800,1094500,1097000,24526300, -20020205 00:00,1094000,1105000,1085300,1092700,35497300, -20020206 00:00,1096500,1097400,1080600,1087000,29039000, -20020207 00:00,1087200,1098600,1081600,1083800,23921700, -20020208 00:00,1086300,1100500,1083000,1099700,17609700, -20020211 00:00,1100500,1116300,1098200,1115900,17618500, -20020212 00:00,1109600,1117100,1106200,1111100,13050700, -20020213 00:00,1114800,1125400,1113500,1122600,16158600, -20020214 00:00,1125100,1129700,1115900,1119800,19646600, -20020215 00:00,1121500,1122400,1107100,1108300,17842600, -20020219 00:00,1101500,1103000,1002000,1087400,14698200, -20020220 00:00,1090500,1103800,1078200,1103200,28524400, -20020221 00:00,1099300,1109900,1084000,1086000,23205400, -20020222 00:00,1083500,1099400,1078700,1093700,26396200, -20020225 00:00,1097500,1118100,1097000,1115000,16472600, -20020226 00:00,1116000,1120400,1101900,1113600,21362600, -20020227 00:00,1119600,1128600,1106500,1115500,26777200, -20020228 00:00,1118300,1127500,1111400,1111900,22479100, -20020301 00:00,1117200,1137300,1115100,1136600,25086800, -20020304 00:00,1139000,1159900,1136500,1159300,26297000, -20020305 00:00,1153300,1164000,1149700,1152100,21551900, -20020306 00:00,1151000,1177100,1150800,1168100,19031000, -20020307 00:00,1173600,1175000,1125300,1163300,18622500, -20020308 00:00,1173800,1273000,1164800,1168900,19918100,1273000 -20020311 00:00,1168900,1179000,1164300,1173400,14648900, -20020312 00:00,1161100,1171200,1159400,1171000,16309200, -20020313 00:00,1166300,1167500,1150000,1159000,16205200, -20020314 00:00,1160400,1164300,1156300,1158600,10434100, -20020315 00:00,1159700,1169500,1062200,1167900,21148600, -20020318 00:00,1171000,1175700,1158500,1167600,16975000, -20020319 00:00,1173000,1177400,1168200,1173500,17720100, -20020320 00:00,1165000,1172500,1153900,1154300,16332900, -20020321 00:00,1153000,1159000,1141200,1156000,26674700, -20020322 00:00,1155000,1159400,1147000,1150900,15162300, -20020325 00:00,1150900,1153600,1133800,1134300,16756100, -20020326 00:00,1135200,1150200,1134700,1140800,19121200, -20020327 00:00,1140300,1150100,1130000,1146700,18290300, -20020328 00:00,1149700,1157700,1146800,1149100,16005200, -20020401 00:00,1142300,1151000,1129600,1148300,14408500, -20020402 00:00,1139800,1441200,1137700,1139300,14373500, -20020403 00:00,1140100,1162000,1121500,1127400,24583000, -20020404 00:00,1126000,1155300,1122300,1128900,22450100, -20020405 00:00,1131900,1136700,1121800,1125300,19653800, -20020408 00:00,1113200,1128800,1112300,1128100,15283800, -20020409 00:00,1131900,1131900,1119300,1120500,13036600, -20020410 00:00,1121000,1135400,1120900,1133500,17406700, -20020411 00:00,1128900,1130500,1105000,1107200,24076100, -20020412 00:00,1110300,1119700,1105700,1113300,14083200, -20020415 00:00,1116200,1119700,1102000,1106300,16132400, -20020416 00:00,1117000,1133200,1116700,1131200,13535800, -20020417 00:00,1133900,1136700,1126000,1130500,12254200, -20020418 00:00,1129000,1134600,1111500,1127600,24116800, -20020419 00:00,1132000,1132400,1125600,1128500,10213300, -20020422 00:00,1123800,1126100,1108400,1111400,13095800, -20020423 00:00,1110900,1119000,1101700,1103800,15862500, -20020424 00:00,1105600,1112400,1095100,1095900,17114100, -20020425 00:00,1092100,1104300,1087200,1094300,25129800, -20020426 00:00,1097900,1100100,1079000,1079500,17209600, -20020429 00:00,1079300,1082600,1066300,1069200,16865400, -20020430 00:00,1070200,1087500,1066400,1079800,18604700, -20020501 00:00,1079700,1092500,1068000,1089600,23395700, -20020502 00:00,1091000,1099100,1082000,1087700,14990800, -20020503 00:00,1086000,1089500,1072000,1076700,17107800, -20020506 00:00,1076500,1089000,1055100,1056200,20615700, -20020507 00:00,1061100,1063200,1050000,1052300,20654000,1050000 -20020508 00:00,1070500,1093600,1067900,1091600,26506300, -20020509 00:00,1086500,1091000,1075800,1076500,15747600, -20020510 00:00,1079700,1080500,1057200,1059800,17174700, -20020513 00:00,1062200,1079500,1057800,1078200,13380700, -20020514 00:00,1096200,1102600,1090000,1100900,18675600, -20020515 00:00,1095000,1109100,1092900,1095500,27642300, -20020516 00:00,1097000,1104300,1093300,1103500,18318500, -20020517 00:00,1106600,1111700,1101000,1111100,26024300, -20020520 00:00,1106400,1106900,1094900,1096400,12980900, -20020521 00:00,1101100,1104900,1082900,1084800,15775700,1104900 -20020522 00:00,1082200,1091200,1080000,1090500,14899600, -20020523 00:00,1092600,1102400,1084800,1101600,12756400, -20020524 00:00,1099800,1102100,1086600,1088500,10518500, -20020528 00:00,1090500,1099400,1074500,1079000,22840100, -20020529 00:00,1076300,1080200,1072500,1072500,13926300, -20020530 00:00,1065500,1075100,1059000,1070100,18078000, -20020531 00:00,1074000,1085600,1070800,1072300,17164100, -20020603 00:00,1070900,1088800,1042500,1043000,25052400, -20020604 00:00,1041500,1052000,1032800,1044100,25161300, -20020605 00:00,1049500,1056200,1043500,1055000,18265200, -20020606 00:00,1055400,1246700,1031500,1034200,19173400, -20020607 00:00,1017900,1039200,1017200,1032600,21968400, -20020610 00:00,1032400,1044600,1030200,1035600,18162400, -20020611 00:00,1041300,1045400,1017600,1018900,20164600, -20020612 00:00,1017100,1029700,1007800,1026400,28666100, -20020613 00:00,1021300,1030000,1013400,1015000,20605000, -20020614 00:00,1003100,1015600,985000,1012900,36963600, -20020617 00:00,1019200,1042900,1004700,1041900,16406300, -20020618 00:00,1037400,1047400,1029200,1042400,15992500, -20020619 00:00,1035000,1044800,1022600,1025400,19380200, -20020620 00:00,1022700,1030500,1009600,1012000,23810000, -20020621 00:00,1004700,1012000,986900,991900,27083500, -20020624 00:00,986100,1006900,972500,996900,35515100, -20020625 00:00,1003000,1008900,975400,979000,30054700, -20020626 00:00,952000,981500,952000,976200,35590000, -20020627 00:00,985000,994500,965700,994500,31061400, -20020628 00:00,992400,1005000,990200,992500,20632900, -20020701 00:00,991900,1015000,969500,970800,18535000, -20020702 00:00,968700,980800,947700,950200,33423400, -20020703 00:00,946200,958400,937300,956900,30051200, -20020705 00:00,967800,995500,966700,993000,19291300, -20020708 00:00,989800,997000,975600,980300,18365500, -20020709 00:00,977300,983400,950100,956100,26169900, -20020710 00:00,960000,960700,922000,922900,47057800, -20020711 00:00,917600,933500,900600,931500,55775500, -20020712 00:00,933300,938900,915200,924600,35065500, -20020715 00:00,916400,1016000,878900,921000,75907900, -20020716 00:00,911300,923800,898700,905800,50090100, -20020717 00:00,924600,933000,897500,910000,45753500, -20020718 00:00,907000,911000,882400,883300,28861700, -20020719 00:00,867700,884000,843000,848000,64420100, -20020722 00:00,841100,859100,814500,822100,73962000, -20020723 00:00,825500,832400,788500,800000,65162600, -20020724 00:00,781400,849400,776800,847500,98931400,776800 \ No newline at end of file +date,open,high,low,close,volume,zigzag,type +19980102 00:00,973100,975300,965300,973600,2150000,, +19980105 00:00,978400,984400,967800,977500,4030800,, +19980106 00:00,972500,972800,961900,966300,2821800,, +19980107 00:00,960900,965000,952200,964700,5225400,, +19980108 00:00,963100,963100,955000,957800,3249100,, +19980109 00:00,952500,955000,919100,924700,10000200,, +19980112 00:00,911300,941900,909100,940600,11953200,909100,Low +19980113 00:00,946300,956300,942200,952200,5006400,, +19980114 00:00,956900,959700,947200,958100,3738000,, +19980115 00:00,955000,957500,948100,949400,2726400,, +19980116 00:00,962500,966900,956600,962300,4185400,, +19980120 00:00,966900,980000,965000,980000,4373400,, +19980121 00:00,972200,976900,961600,971600,4526300,, +19980122 00:00,961600,968800,958800,963000,4484300,, +19980123 00:00,965000,967800,950000,956600,6231300,, +19980126 00:00,963800,967300,937500,957500,4280800,, +19980127 00:00,958100,980000,956600,970000,6639000,, +19980128 00:00,974100,981100,971700,978800,4089900,, +19980129 00:00,978400,995600,975600,987500,7706300,, +19980130 00:00,987800,989700,980000,983100,3333000,, +19980202 00:00,999100,1005000,997500,1002500,5587200,, +19980203 00:00,1000000,1008100,997200,1006900,2656800,, +19980204 00:00,1002800,1011600,998800,1005900,3283800,, +19980205 00:00,1013100,1015900,1000300,1003800,4970800,, +19980206 00:00,1010000,1015000,1006900,1012800,5531800,, +19980209 00:00,1017200,1017500,1007200,1011400,2277100,, +19980210 00:00,1014400,1024700,1011900,1020500,3624500,, +19980211 00:00,1020900,1031900,1017000,1021300,4020500,, +19980212 00:00,1017200,1029400,1008800,1026600,5102800,, +19980213 00:00,1021900,1029400,1018800,1021600,1889500,, +19980217 00:00,1028100,1030900,1021600,1023400,2945300,, +19980218 00:00,1023100,1034700,1022800,1034100,2919600,, +19980219 00:00,1032500,1034100,1027500,1030000,3330600,, +19980220 00:00,1030800,1037500,1023800,1035600,3594700,, +19980223 00:00,1042500,1042500,1033400,1040000,3131700,, +19980224 00:00,1039100,1040900,1029400,1031900,3241700,, +19980225 00:00,1037500,1048800,1036300,1044800,3348400,, +19980226 00:00,1044400,1051600,1041900,1050600,3604100,, +19980227 00:00,1049700,1055300,1043100,1052000,3335400,, +19980302 00:00,1052500,1057500,1046300,1048100,4126000,, +19980303 00:00,1045300,1054700,1045000,1054100,3177500,, +19980304 00:00,1050900,1054100,1040600,1049700,4395900,, +19980305 00:00,1035000,1044400,1031600,1037500,7153500,, +19980306 00:00,1045600,1058800,1044400,1057500,6702600,, +19980309 00:00,1055300,1062200,1052500,1054400,3282800,, +19980310 00:00,1062200,1068400,1053800,1066600,5582900,, +19980311 00:00,1069700,1073100,1067300,1072500,3426500,, +19980312 00:00,1070900,1075900,1065000,1072500,3057400,, +19980313 00:00,1078400,1080000,1068800,1072200,2743800,, +19980316 00:00,1078400,1082800,1075300,1082500,3073800,, +19980317 00:00,1083100,1085000,1076600,1084700,4577900,, +19980318 00:00,1082500,1089400,1080000,1087800,1820900,, +19980319 00:00,1089700,1093800,1086600,1093400,2450000,, +19980320 00:00,1095600,1101900,1088800,1100000,2828600,, +19980323 00:00,1097200,1103100,1094100,1095000,4383400,, +19980324 00:00,1100600,1108100,1099400,1105900,3293800,, +19980325 00:00,1114100,1115300,1091900,1101900,4484900,, +19980326 00:00,1098800,1107500,1096300,1101300,3319600,, +19980327 00:00,1107500,1107800,1090000,1095300,2512200,, +19980330 00:00,1096300,1100900,1089700,1093400,2776500,, +19980331 00:00,1101600,1111900,1097500,1100900,5726500,, +19980401 00:00,1103100,1110800,1094100,1109800,2828500,, +19980402 00:00,1109400,1122500,1107500,1120300,3947500,, +19980403 00:00,1123400,1128100,1118400,1121900,3726100,, +19980406 00:00,1132500,1133800,1120600,1122500,4029500,, +19980407 00:00,1117500,1119400,1101600,1110000,5200100,, +19980408 00:00,1112200,1112800,1097500,1101300,4762900,, +19980409 00:00,1105600,1112800,1105300,1110000,4367800,, +19980413 00:00,1113800,1113800,1100000,1110000,4216000,, +19980414 00:00,1111300,1117200,1109100,1116900,3219500,, +19980415 00:00,1119700,1121300,1111600,1120200,3811700,, +19980416 00:00,1113100,1115000,1105000,1109100,7242500,, +19980417 00:00,1107200,1124100,1104400,1122200,5414800,, +19980420 00:00,1120000,1125600,1118800,1124100,3606300,, +19980421 00:00,1124400,1131600,1119100,1126300,4573300,, +19980422 00:00,1128800,1134400,1128100,1130000,2288400,1134400,High +19980423 00:00,1126300,1130000,1117500,1120900,4848500,, +19980424 00:00,1117500,1124700,1103400,1108800,11129100,, +19980427 00:00,1093800,1106600,1076300,1085900,14372900,, +19980428 00:00,1097800,1098100,1081300,1086300,6213200,, +19980429 00:00,1090300,1099700,1084400,1095300,7582100,, +19980430 00:00,1105600,1119200,1104100,1114400,8226200,, +19980501 00:00,1117500,1123100,1113100,1121900,3768600,, +19980504 00:00,1127200,1133100,1121600,1122500,4332900,, +19980505 00:00,1120000,1121600,1111300,1116600,4969800,, +19980506 00:00,1121300,1121300,1104700,1105000,5221600,, +19980507 00:00,1105000,1105600,1094100,1095900,6769900,, +19980508 00:00,1100000,1113800,1100000,1110000,7888200,, +19980511 00:00,1115600,1122200,1103800,1108600,6219300,, +19980512 00:00,1108100,1118800,1102500,1116400,5983800,, +19980513 00:00,1120600,1125600,1115900,1120600,4355500,, +19980514 00:00,1115300,1126900,1113400,1119700,4229300,, +19980515 00:00,1120000,1122200,1108100,1110000,6807000,, +19980518 00:00,1107200,1115900,1098300,1108400,4751100,, +19980519 00:00,1110000,1116900,1107800,1110600,5877900,, +19980520 00:00,1120900,1125000,1108800,1122800,5775400,, +19980521 00:00,1123800,1127800,1113100,1116900,6427100,, +19980522 00:00,1117500,1120600,1109400,1111600,4659700,, +19980526 00:00,1120900,1120900,1094400,1095300,6262300,, +19980527 00:00,1093100,1099100,1075800,1096300,10286000,1075800,Low +19980528 00:00,1098800,1103800,1087300,1100000,4778900,, +19980529 00:00,1106300,1108100,1093800,1093800,4583900,, +19980601 00:00,1089700,1102200,1085600,1095000,5829200,, +19980602 00:00,1100000,1103400,1091600,1095900,6477900,, +19980603 00:00,1098800,1101900,1082200,1085000,6262700,, +19980604 00:00,1082500,1100600,1080600,1099100,6317300,, +19980605 00:00,1103800,1118800,1098800,1118100,8140300,, +19980608 00:00,1119400,1124700,1116600,1118800,4056700,, +19980609 00:00,1117200,1124200,1114100,1122800,2680400,, +19980610 00:00,1116300,1130600,1112500,1113800,6336300,, +19980611 00:00,1114400,1118800,1092800,1096600,7897100,, +19980612 00:00,1098800,1104400,1082500,1102500,9700700,, +19980615 00:00,1088100,1099100,1078800,1080000,9754800,, +19980616 00:00,1084100,1091600,1077500,1090600,7245000,, +19980617 00:00,1101600,1117800,1099400,1112500,11964800,, +19980618 00:00,1111900,1114400,1107500,1111600,3749600,, +19980619 00:00,1110600,1112300,1096300,1100300,3538200,, +19980622 00:00,1102500,1110600,1100600,1103800,5357100,, +19980623 00:00,1110900,1121900,1110000,1119700,5205600,, +19980624 00:00,1121600,1136900,1116100,1134700,8222700,, +19980625 00:00,1139100,1144700,1128100,1130000,5837700,, +19980626 00:00,1133100,1138400,1131300,1134100,4753900,, +19980629 00:00,1142500,1146900,1138000,1138900,6537200,, +19980630 00:00,1139100,1141900,1130600,1133600,4126100,, +19980701 00:00,1140600,1149400,1136300,1149400,3241200,, +19980702 00:00,1147200,1148800,1142500,1146300,3432900,, +19980706 00:00,1147800,1158400,1145600,1157800,3042100,, +19980707 00:00,1159800,1161300,1152800,1155600,4847300,, +19980708 00:00,1158800,1169400,1157500,1168100,6773100,, +19980709 00:00,1162800,1167200,1156300,1160000,7258600,, +19980710 00:00,1160300,1169100,1150600,1165300,7739800,, +19980713 00:00,1165600,1168400,1160600,1167500,6846100,, +19980714 00:00,1169400,1181600,1169400,1178100,7119900,, +19980715 00:00,1180600,1182800,1174400,1175600,4908000,, +19980716 00:00,1176900,1185900,1170600,1184400,6239600,, +19980717 00:00,1186300,1190000,1183100,1187500,3478600,, +19980720 00:00,1187500,1192300,1179400,1185000,2238300,, +19980721 00:00,1190000,1190000,1162800,1165300,5107200,, +19980722 00:00,1163400,1195900,1155300,1166300,10611500,1195900,High +19980723 00:00,1163100,1168400,1138800,1141900,14881000,, +19980724 00:00,1149700,1150900,1128800,1141600,11706000,, +19980727 00:00,1136300,1150000,1128400,1149800,9360300,, +19980728 00:00,1144400,1146600,1118800,1133100,13422500,, +19980729 00:00,1137200,1141300,1122500,1126600,6932100,, +19980730 00:00,1136300,1145900,1134100,1143400,6617400,, +19980731 00:00,1143400,1145000,1113100,1120600,7679600,, +19980803 00:00,1117800,1124200,1110300,1113800,10349100,, +19980804 00:00,1122200,1122200,1072500,1076100,14468800,, +19980805 00:00,1079400,1088800,1055900,1081600,21457200,, +19980806 00:00,1081300,1095200,1075600,1090900,13163000,, +19980807 00:00,1096900,1105900,1084700,1090300,11718400,, +19980810 00:00,1087500,1096600,1081900,1085900,6055400,, +19980811 00:00,1067800,1074400,1055000,1070600,14385600,, +19980812 00:00,1077500,1088100,1075000,1085000,10997500,, +19980813 00:00,1088100,1096600,1076300,1076400,8529600,, +19980814 00:00,1083400,1087200,1057800,1064800,7995800,, +19980817 00:00,1060000,1089400,1055000,1085000,11035000,, +19980818 00:00,1090000,1105900,1087800,1102500,7245000,, +19980819 00:00,1110900,1110900,1096300,1100000,6054300,, +19980820 00:00,1096900,1104100,1091600,1092500,7590600,, +19980821 00:00,1081900,1087200,1055000,1083800,16427600,, +19980824 00:00,1092500,1099400,1083100,1090600,7902200,, +19980825 00:00,1103800,1112500,1086400,1095000,9623400,, +19980826 00:00,1082800,1096300,1077500,1085000,9090300,, +19980827 00:00,1070000,1078400,1038900,1042500,24042400,, +19980828 00:00,1049700,1057200,1021600,1030000,23196400,, +19980831 00:00,1037500,1040200,950000,962500,22799800,, +19980901 00:00,960600,1005600,936300,996900,24391500,936300,Low +19980902 00:00,998100,1017500,987800,990000,13984400,, +19980903 00:00,976300,993800,966900,985200,16873300,, +19980904 00:00,994400,998100,957800,976300,16414800,, +19980908 00:00,1008800,1029700,998100,1025900,14307900,, +19980909 00:00,1027500,1031300,1004800,1007500,12026000,, +19980910 00:00,984400,993400,968100,982500,19666100,, +19980911 00:00,981900,1015000,970000,1012500,20203300,, +19980914 00:00,1028800,1044500,1020900,1031600,10318300,, +19980915 00:00,1028800,1043100,1022800,1042000,8166200,, +19980916 00:00,1047500,1052500,1031600,1050000,11125300,, +19980917 00:00,1022500,1030300,1017800,1022300,12549700,, +19980918 00:00,1023800,1024100,1010900,1019700,6667900,, +19980921 00:00,996300,1034100,989400,1021900,8552400,, +19980922 00:00,1035000,1036600,1021600,1030000,7070200,, +19980923 00:00,1038800,1070000,1037800,1066300,12804500,1070000,High +19980924 00:00,1063100,1068100,1032500,1043800,10809300,, +19980925 00:00,1031300,1054200,1026300,1043000,10051500,, +19980928 00:00,1053100,1063100,1042500,1049100,8368600,, +19980929 00:00,1053800,1059400,1033800,1049400,10488400,, +19980930 00:00,1035000,1043100,1013800,1018400,7537300,, +19981001 00:00,1000300,1015500,980900,986300,12833400,, +19981002 00:00,988800,1008800,972200,1003100,14014100,, +19981005 00:00,995900,1000000,963400,990000,12408900,, +19981006 00:00,1007500,1012800,975300,985300,12216900,, +19981007 00:00,986300,1000300,957500,972200,13942400,, +19981008 00:00,945600,967500,922200,962200,20019400,922200,Low +19981009 00:00,970000,995600,940600,986300,11865900,, +19981012 00:00,1006300,1014400,996900,997800,9127600,, +19981013 00:00,995600,1004100,987500,995300,5916200,, +19981014 00:00,989400,1018100,988400,1005000,8056200,, +19981015 00:00,1001300,1072500,999400,1050300,19735400,, +19981016 00:00,1061300,1067500,1050000,1056600,16305900,, +19981019 00:00,1056900,1068100,1055000,1063400,7627400,, +19981020 00:00,1075600,1088000,1060900,1065000,14236900,, +19981021 00:00,1068800,1076300,1058800,1071300,8997900,, +19981022 00:00,1067800,1084700,1061600,1080000,8012900,, +19981023 00:00,1079700,1080000,1067800,1071300,6188800,, +19981026 00:00,1077200,1085600,1067800,1075500,5654900,, +19981027 00:00,1084400,1089700,1062800,1066300,9865800,, +19981028 00:00,1065600,1078100,1060300,1067800,5499700,, +19981029 00:00,1070900,1089700,1066300,1089700,8847200,, +19981030 00:00,1101300,1109100,1095000,1100000,9498800,, +19981102 00:00,1108100,1117500,1101900,1114800,6351000,, +19981103 00:00,1115900,1118100,1107500,1111300,6573900,, +19981104 00:00,1124700,1130900,1110900,1118400,7788100,, +19981105 00:00,1115300,1138100,1111300,1137300,6686200,, +19981106 00:00,1134700,1145000,1133100,1142800,5136100,, +19981109 00:00,1139400,1142500,1125000,1131400,5908800,, +19981110 00:00,1130000,1139400,1125000,1126900,9142100,, +19981111 00:00,1138100,1140600,1118900,1123800,10735000,, +19981112 00:00,1123100,1131300,1116900,1120300,5396300,, +19981113 00:00,1122200,1130600,1121300,1127700,5531900,, +19981116 00:00,1142200,1143600,1128900,1138400,5934200,, +19981117 00:00,1136600,1156300,1130000,1143400,8944500,, +19981118 00:00,1143100,1149400,1135000,1147500,4538000,, +19981119 00:00,1152800,1159100,1146300,1155000,5115600,, +19981120 00:00,1163600,1167500,1158400,1166300,5351500,, +19981123 00:00,1174700,1192200,1171600,1191600,6442400,, +19981124 00:00,1190000,1196600,1184500,1186900,5121600,, +19981125 00:00,1189400,1191900,1181600,1188800,4268500,, +19981127 00:00,1194700,1197200,1190000,1195000,4562000,, +19981130 00:00,1190200,1193800,1166600,1166900,7991700,, +19981201 00:00,1161300,1180300,1152200,1178100,8773600,, +19981202 00:00,1172200,1179100,1160000,1175000,7322100,, +19981203 00:00,1172500,1183100,1151900,1152800,11737800,, +19981204 00:00,1166300,1188800,1155900,1179700,10616800,, +19981207 00:00,1180600,1195300,1180000,1192500,4105700,, +19981208 00:00,1185300,1197500,1175000,1184700,9996400,, +19981209 00:00,1186900,1189700,1178800,1188100,5259600,, +19981210 00:00,1188400,1188400,1167200,1168100,5844400,, +19981211 00:00,1164400,1173400,1155600,1170600,8669100,, +19981214 00:00,1161600,1164100,1139100,1144700,9276400,, +19981215 00:00,1146900,1167500,1145300,1166300,9482100,, +19981216 00:00,1171300,1171300,1157500,1164100,7183500,, +19981217 00:00,1172200,1185600,1170200,1185000,6720200,, +19981218 00:00,1183100,1191300,1178800,1190200,4027900,, +19981221 00:00,1192500,1213400,1190000,1203100,8465700,, +19981222 00:00,1204100,1212200,1191900,1205300,5581100,, +19981223 00:00,1211900,1231900,1208100,1228100,7558200,, +19981224 00:00,1231600,1238800,1222800,1226900,1557500,, +19981228 00:00,1232500,1233100,1220000,1226300,4031000,, +19981229 00:00,1227200,1244400,1221300,1243100,3747300,, +19981230 00:00,1239400,1247500,1230300,1233800,6962800,, +19981231 00:00,1233100,1239400,1224700,1228800,6480500,, +19990104 00:00,1233800,1252200,1217200,1228800,9480700,, +19990105 00:00,1229400,1248800,1229400,1244400,7840800,, +19990106 00:00,1258100,1276300,1257500,1275000,7648500,, +19990107 00:00,1263800,1272200,1257800,1269400,5364300,, +19990108 00:00,1281900,1285000,1259700,1275000,6076900,1285000,High +19990111 00:00,1276900,1276900,1252200,1262800,7455600,, +19990112 00:00,1262200,1262200,1238100,1240000,7434300,, +19990113 00:00,1204100,1251300,1203800,1233100,10563100,, +19990114 00:00,1236300,1239100,1209100,1211600,11370000,, +19990115 00:00,1223800,1247800,1220300,1243100,7757900,, +19990119 00:00,1253000,1274700,1235000,1252800,6270400,, +19990120 00:00,1260900,1279400,1250300,1256300,6222800,, +19990121 00:00,1255800,1258400,1232200,1235900,6408000,, +19990122 00:00,1221300,1238400,1217800,1225600,7249900,, +19990125 00:00,1232800,1240000,1219100,1236300,5008100,, +19990126 00:00,1241300,1257200,1236300,1255000,5893300,, +19990127 00:00,1263800,1266300,1244100,1244700,7089500,, +19990128 00:00,1252500,1269700,1251900,1266600,5763500,, +19990129 00:00,1273400,1283000,1254100,1278800,5990400,, +19990201 00:00,1286900,1286900,1270000,1270900,9098500,, +19990202 00:00,1270800,1272200,1247700,1262800,9197400,, +19990203 00:00,1256900,1279400,1256600,1271900,10155700,, +19990204 00:00,1273800,1275000,1248100,1248400,6727600,, +19990205 00:00,1256600,1256600,1232200,1240000,7444000,, +19990208 00:00,1250900,1250900,1233400,1243800,8364900,, +19990209 00:00,1243800,1245000,1215600,1218600,8502300,, +19990210 00:00,1221300,1230000,1213300,1226900,6492100,, +19990211 00:00,1230600,1256900,1225000,1256900,8880800,, +19990212 00:00,1248100,1255000,1226300,1235000,10496300,, +19990216 00:00,1247500,1256300,1233800,1243800,6590400,, +19990217 00:00,1231900,1253600,1222500,1227500,7447000,, +19990218 00:00,1231900,1243800,1222200,1239400,8844800,, +19990219 00:00,1240000,1257500,1233800,1239400,5219200,, +19990222 00:00,1244400,1277200,1242800,1276900,10212200,, +19990223 00:00,1275900,1285000,1265900,1275000,7631500,, +19990224 00:00,1278400,1288400,1254100,1254100,6777300,, +19990225 00:00,1245300,1252800,1225900,1247500,11219400,, +19990226 00:00,1247500,1248400,1228100,1239100,9233600,, +19990301 00:00,1236600,1243100,1208800,1237800,7594300,1208800,Low +19990302 00:00,1245000,1253100,1223100,1228100,9311200,, +19990303 00:00,1230900,1235600,1217800,1231300,7558900,, +19990304 00:00,1240600,1252300,1232700,1250000,7787300,, +19990305 00:00,1275000,1281300,1259200,1278100,10091200,, +19990308 00:00,1282800,1288000,1272500,1285200,4553000,, +19990309 00:00,1281300,1299400,1274400,1282500,7703600,, +19990310 00:00,1284700,1292200,1277800,1290300,3748200,, +19990311 00:00,1296900,1311900,1288800,1302200,6543200,, +19990312 00:00,1310000,1310300,1292200,1295300,4963300,, +19990315 00:00,1299400,1311900,1295000,1311600,5257400,, +19990316 00:00,1311300,1316600,1304700,1309800,4422900,, +19990317 00:00,1306900,1309400,1296300,1302500,4380300,, +19990318 00:00,1297800,1323400,1297500,1321600,3537400,, +19990319 00:00,1323100,1326300,1298400,1300600,5265200,, +19990322 00:00,1300600,1305900,1294200,1299100,4422000,, +19990323 00:00,1293100,1296300,1257000,1264100,9302400,, +19990324 00:00,1268400,1271600,1256300,1269400,5950500,, +19990325 00:00,1280600,1292500,1277500,1291300,6432000,, +19990326 00:00,1286300,1291300,1277200,1284700,5881500,, +19990329 00:00,1291600,1314400,1291600,1312200,5395500,, +19990330 00:00,1299400,1312200,1295600,1303400,5090200,, +19990331 00:00,1311600,1316100,1284400,1286300,7029600,, +19990401 00:00,1296900,1296900,1281300,1293800,7473900,, +19990405 00:00,1309400,1323800,1302500,1323800,5533700,, +19990406 00:00,1321900,1329800,1311600,1319400,5022000,, +19990407 00:00,1326900,1333800,1313800,1328800,6056300,, +19990408 00:00,1331900,1347800,1322800,1345300,5645500,, +19990409 00:00,1344400,1356900,1335900,1348800,4132000,, +19990412 00:00,1334700,1362500,1332200,1360600,7944600,, +19990413 00:00,1362500,1364700,1340300,1351900,10581100,, +19990414 00:00,1360600,1360600,1326900,1330300,11566600,, +19990415 00:00,1334400,1335600,1310000,1326300,11010600,, +19990416 00:00,1329100,1329100,1311900,1321300,6139800,, +19990419 00:00,1326900,1345300,1283800,1289100,12557100,, +19990420 00:00,1298100,1310300,1288800,1306300,8576400,, +19990421 00:00,1310600,1337800,1257800,1336900,5330700,, +19990422 00:00,1351300,1362500,1343900,1359700,6576600,, +19990423 00:00,1358800,1367500,1350000,1357500,4218900,, +19990426 00:00,1365000,1368100,1354700,1361300,3304000,, +19990427 00:00,1371300,1375000,1358400,1365600,4907600,1375000,High +19990428 00:00,1364400,1372500,1350000,1353400,5446900,, +19990429 00:00,1355600,1360600,1338100,1345600,9593600,, +19990430 00:00,1350900,1356300,1315000,1334700,10538700,, +19990503 00:00,1334400,1357200,1330300,1356300,10658900,, +19990504 00:00,1351300,1358100,1331300,1333100,10221800,, +19990505 00:00,1339400,1350000,1318400,1349700,9747000,, +19990506 00:00,1344400,1351300,1323800,1335000,13134000,, +19990507 00:00,1345000,1349800,1334400,1346300,8344100,, +19990510 00:00,1348400,1357200,1335300,1342200,5372100,, +19990511 00:00,1353100,1368800,1257800,1357200,6679600,, +19990512 00:00,1357500,1372200,1315000,1366300,15070800,, +19990513 00:00,1372500,1380000,1368100,1370200,4174600,, +19990514 00:00,1345600,1362500,1333100,1343000,8210400,, +19990517 00:00,1336300,1344800,1323100,1343100,6277500,, +19990518 00:00,1345300,1349800,1326300,1336300,8114700,, +19990519 00:00,1344700,1348800,1332500,1348100,4273700,, +19990520 00:00,1351300,1355900,1300600,1343100,4349700,, +19990521 00:00,1341300,1346900,1195800,1334200,6117400,1195800,Low +19990524 00:00,1338400,1338400,1303900,1310900,7687100,, +19990525 00:00,1313800,1323400,1286900,1288400,9523800,, +19990526 00:00,1293100,1310000,1280900,1306600,12776900,, +19990527 00:00,1298400,1302800,1280000,1284400,13998900,, +19990528 00:00,1290000,1307500,1285900,1305900,8348100,, +19990601 00:00,1301300,1301600,1283800,1298800,6391500,, +19990602 00:00,1297500,1301900,1206300,1297800,6812100,, +19990603 00:00,1306900,1309100,1297800,1302800,5933500,, +19990604 00:00,1314700,1331900,1309400,1319400,9507800,, +19990607 00:00,1334400,1341900,1329100,1337500,5078600,, +19990608 00:00,1333800,1338000,1315900,1321600,5000500,, +19990609 00:00,1324100,1330900,1318100,1321600,7428700,, +19990610 00:00,1314400,1315000,1295900,1309100,6785900,, +19990611 00:00,1312200,1322200,1290900,1298100,12587100,, +19990614 00:00,1306900,1307500,1295500,1297800,6542000,, +19990615 00:00,1304700,1316600,1300800,1305900,5438900,, +19990616 00:00,1323800,1338800,1321600,1334800,7562200,, +19990617 00:00,1328800,1355600,1326300,1346600,8476400,, +19990618 00:00,1340600,1346900,1333800,1343100,2601000,, +19990621 00:00,1344700,1350000,1336600,1349400,4452000,, +19990622 00:00,1340000,1351900,1333400,1337000,5603600,, +19990623 00:00,1330000,1336300,1321300,1332800,9474700,, +19990624 00:00,1328800,1338100,1306600,1316900,9029400,, +19990625 00:00,1325900,1330200,1312500,1316600,3966300,, +19990628 00:00,1326900,1336300,1324700,1333800,5175700,, +19990629 00:00,1330000,1351300,1327800,1351300,6514400,, +19990630 00:00,1346300,1375000,1338400,1367500,16362400,, +19990701 00:00,1370000,1385000,1360600,1380600,9586200,, +19990702 00:00,1381300,1393000,1379100,1391900,3637300,, +19990706 00:00,1392500,1407500,1385900,1387200,10954800,, +19990707 00:00,1390600,1397200,1385200,1395600,3052600,, +19990708 00:00,1390600,1406300,1387500,1395600,7133500,, +19990709 00:00,1400000,1404700,1393800,1402200,2770400,, +19990712 00:00,1409400,1409400,1395000,1400600,4233900,, +19990713 00:00,1393800,1399200,1386600,1395000,6359600,, +19990714 00:00,1400000,1402200,1387500,1398400,4246900,, +19990715 00:00,1407800,1488800,1403100,1411300,3236000,1488800,High +19990716 00:00,1412500,1421600,1407500,1420000,2078000,, +19990719 00:00,1421900,1422500,1405600,1410000,4029000,, +19990720 00:00,1401300,1404100,1375300,1378000,6843600,, +19990721 00:00,1380900,1389100,1370000,1378800,4599000,, +19990722 00:00,1374400,1380000,1354700,1361400,7580400,, +19990723 00:00,1366600,1370000,1351300,1357500,4432000,, +19990726 00:00,1348800,1361300,1346300,1350000,4026700,, +19990727 00:00,1360000,1372000,1353800,1365000,5722800,, +19990728 00:00,1362500,1373100,1355900,1367300,3803200,, +19990729 00:00,1349400,1352500,1333100,1343800,7638800,, +19990730 00:00,1348100,1353400,1328800,1330900,5569700,, +19990802 00:00,1327500,1347500,1325000,1329400,5783300,, +19990803 00:00,1337200,1338400,1313800,1323600,5268700,, +19990804 00:00,1327200,1338800,1305300,1306900,5986000,, +19990805 00:00,1308800,1317200,1288400,1315600,9910600,, +19990806 00:00,1312200,1320000,1295000,1300600,7129800,, +19990809 00:00,1305900,1318000,1297200,1300500,5162600,, +19990810 00:00,1298800,1301600,1270000,1282200,9971000,1270000,Low +19990811 00:00,1296900,1305300,1286300,1305300,7796900,, +19990812 00:00,1306900,1318100,1300000,1300200,6292100,, +19990813 00:00,1316300,1332500,1311300,1331900,5609100,, +19990816 00:00,1331300,1339700,1322500,1333800,3637600,, +19990817 00:00,1344400,1351600,1331300,1347000,4708500,, +19990818 00:00,1342000,1343800,1334100,1335600,4046500,, +19990819 00:00,1323800,1332300,1316900,1328800,6345700,, +19990820 00:00,1330600,1339100,1326900,1338800,3054700,, +19990823 00:00,1348100,1364500,1346600,1363900,5284900,, +19990824 00:00,1360600,1379700,1353800,1365000,9108100,, +19990825 00:00,1371900,1387800,1279100,1384400,5894000,1387800,High +19990826 00:00,1382800,1384200,1365000,1365000,4057900,, +19990827 00:00,1368800,1370600,1351300,1351600,5935300,, +19990830 00:00,1353400,1355000,1323900,1326600,4286300,, +19990831 00:00,1329400,1337500,1307500,1325000,11968000,, +19990901 00:00,1329400,1335600,1323100,1335600,6137800,, +19990902 00:00,1321300,1326700,1306600,1322500,11370700,, +19990903 00:00,1348800,1362800,1346900,1361900,9796800,, +19990907 00:00,1360600,1366300,1342800,1355200,4507400,, +19990908 00:00,1348400,1360600,1335000,1349100,6999800,, +19990909 00:00,1347500,1352500,1336900,1351300,5950500,, +19990910 00:00,1362500,1363600,1349400,1354500,2671700,, +19990913 00:00,1351300,1354700,1345000,1348100,2130600,, +19990914 00:00,1340600,1345600,1333800,1340600,3558700,, +19990915 00:00,1354400,1354400,1320600,1320800,6522800,, +19990916 00:00,1325000,1328100,1303100,1323800,15114200,, +19990917 00:00,1326300,1339400,1321600,1337200,8371300,, +19990920 00:00,1339400,1340000,1330900,1336300,2602800,, +19990921 00:00,1322500,1324700,1301600,1309100,9018700,, +19990922 00:00,1312500,1318400,1297500,1311600,12758600,, +19990923 00:00,1318100,1342500,1237800,1280000,11455200,1237800,Low +19990924 00:00,1277500,1283800,1263100,1280600,13686000,, +19990927 00:00,1287500,1297500,1282800,1282800,6797200,, +19990928 00:00,1279400,1288100,1255600,1281900,11184900,, +19990929 00:00,1284400,1291300,1267800,1267800,7351000,, +19990930 00:00,1274400,1294400,1269700,1283800,7185300,, +19991001 00:00,1279400,1285600,1266300,1283400,10818900,, +19991004 00:00,1291900,1306300,1287500,1306300,6202900,, +19991005 00:00,1307200,1319700,1286900,1301900,11376700,, +19991006 00:00,1307500,1328100,1306900,1326300,11399000,, +19991007 00:00,1328600,1330000,1315000,1320000,5986000,, +19991008 00:00,1317500,1338800,1312300,1337200,9560400,, +19991011 00:00,1335900,1341300,1333100,1338100,3970800,, +19991012 00:00,1331300,1333100,1311900,1314100,8223800,, +19991013 00:00,1306900,1313100,1282500,1286600,10731100,, +19991014 00:00,1284800,1291900,1267500,1284100,10461400,, +19991015 00:00,1260000,1267500,1245000,1248100,14030700,, +19991018 00:00,1249400,1257500,1234400,1255600,9088500,, +19991019 00:00,1271900,1282500,1259400,1260800,17208700,, +19991020 00:00,1277500,1292500,1271300,1292200,8467400,, +19991021 00:00,1272200,1288800,1266300,1286300,9352900,, +19991022 00:00,1297500,1312200,1295600,1303400,8087900,, +19991025 00:00,1293100,1304700,1287500,1295000,7667400,, +19991026 00:00,1301900,1306900,1281900,1282500,5696200,, +19991027 00:00,1283800,1303100,1282500,1301300,5049600,, +19991028 00:00,1324400,1345000,1321900,1345000,10053700,, +19991029 00:00,1358400,1376900,1357200,1365600,10480000,, +19991101 00:00,1365000,1370000,1356300,1359400,3631400,, +19991102 00:00,1359700,1372500,1347500,1348100,5787700,, +19991103 00:00,1360000,1363800,1351300,1356900,7310900,, +19991104 00:00,1367500,1373600,1357700,1364700,7695600,, +19991105 00:00,1386300,1391100,1367800,1372200,7618700,, +19991108 00:00,1370000,1383800,1367500,1379400,4517900,, +19991109 00:00,1385000,1386900,1362800,1367200,4361300,, +19991110 00:00,1362500,1383900,1360800,1377500,6173600,, +19991111 00:00,1381900,1385600,1374700,1383800,4724400,, +19991112 00:00,1392500,1399700,1371300,1397500,15589200,, +19991115 00:00,1398400,1402500,1394100,1398100,2101000,, +19991116 00:00,1405600,1426300,1400900,1424400,7442900,, +19991117 00:00,1422500,1429400,1413100,1415600,9129600,, +19991118 00:00,1424400,1430000,1416300,1428100,11360400,, +19991119 00:00,1424100,1429700,1420000,1425000,4641100,, +19991122 00:00,1424400,1430000,1415000,1424700,4149600,, +19991123 00:00,1428400,1428400,1400600,1408800,5948300,, +19991124 00:00,1407500,1424400,1400000,1420600,4357200,, +19991126 00:00,1424700,1428800,1412500,1414400,1694900,, +19991129 00:00,1408800,1419200,1404400,1410000,7653200,, +19991130 00:00,1407500,1423100,1390000,1392500,8403900,, +19991201 00:00,1393100,1405000,1390000,1401300,6790400,, +19991202 00:00,1406300,1413600,1403800,1411300,6706200,, +19991203 00:00,1430300,1454100,1430300,1436900,9860300,, +19991206 00:00,1435300,1437200,1422500,1427500,2950200,, +19991207 00:00,1432800,1433100,1413800,1419400,10334900,, +19991208 00:00,1413400,1420600,1406300,1406300,4357000,, +19991209 00:00,1418100,1422200,1393800,1410000,6029100,, +19991210 00:00,1422800,1428100,1408800,1420000,4698200,, +19991213 00:00,1414400,1427200,1412800,1421300,3919800,, +19991214 00:00,1416300,1424800,1406300,1408100,5625700,, +19991215 00:00,1403800,1422000,1400000,1418000,6539200,, +19991216 00:00,1421900,1426600,1411600,1423800,5503200,, +19991217 00:00,1430000,1433100,1420600,1423800,4355000,, +19991220 00:00,1425600,1431900,1410900,1416900,4888100,, +19991221 00:00,1415900,1440600,1413400,1433400,7829500,, +19991222 00:00,1436300,1441900,1429700,1437500,5250700,, +19991223 00:00,1450200,1464400,1449700,1460900,5566200,, +19991227 00:00,1465000,1467800,1450600,1458100,2602500,, \ No newline at end of file From 3f28031839f13c3d98f252f64a9a98b30a3d4d79 Mon Sep 17 00:00:00 2001 From: Josue Nina Date: Mon, 23 Dec 2024 10:41:34 -0500 Subject: [PATCH 6/6] Refactor UpdatePivot logic --- Indicators/ZigZag.cs | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/Indicators/ZigZag.cs b/Indicators/ZigZag.cs index 1eb761513475..b8e2562bf082 100644 --- a/Indicators/ZigZag.cs +++ b/Indicators/ZigZag.cs @@ -148,7 +148,7 @@ protected override decimal ComputeNextValue(IBaseDataBar input) } else if (input.Low <= _lastPivot.Low) { - UpdatePivot(input); + UpdatePivot(input, true); currentPivot = LowPivot; } } @@ -161,7 +161,7 @@ protected override decimal ComputeNextValue(IBaseDataBar input) } else if (input.High >= _lastPivot.High) { - UpdatePivot(input); + UpdatePivot(input, false); currentPivot = HighPivot; } } @@ -174,19 +174,23 @@ protected override decimal ComputeNextValue(IBaseDataBar input) /// If a change in trend is detected, the pivot type is switched and the corresponding pivot (high or low) is updated. /// /// The current bar of market data used for the update. - /// Indicates whether the trend has reversed. If null, the pivot is updated without changing the trend. - private void UpdatePivot(IBaseDataBar input, bool? hasChanged = null) + /// Indicates whether the trend has reversed. + private void UpdatePivot(IBaseDataBar input, bool pivotDirection) { _lastPivot = input; _count = 0; - if (hasChanged == null) + if (_lastPivotWasLow == pivotDirection) { + //Update previous pivot (_lastPivotWasLow ? LowPivot : HighPivot).Update(input.EndTime, _lastPivotWasLow ? input.Low : input.High); - return; } - (_lastPivotWasLow ? HighPivot : LowPivot).Update(input.EndTime, _lastPivotWasLow ? input.High : input.Low); - PivotType = _lastPivotWasLow ? PivotPointType.High : PivotPointType.Low; - _lastPivotWasLow = hasChanged.Value; + else + { + //Create new pivot + (_lastPivotWasLow ? HighPivot : LowPivot).Update(input.EndTime, _lastPivotWasLow ? input.High : input.Low); + PivotType = _lastPivotWasLow ? PivotPointType.High : PivotPointType.Low; + } + _lastPivotWasLow = pivotDirection; } ///