Что не так с тиковой историей на MetaQuotes-Demo - страница 5

 

Видел на форуме жалобы/обсуждения что i иногда ведёт себя неправильно )))

На всякий случай заменил её на x

Не оно )))

 

Нашёл причину. Просто волшебная неделя.

По порядку.

Запустил индикатор с начальной датой 2014.12.01 00:00

JL      0       11:03:47.462    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     Самый первый тик >>> 2014.12.01 00:00
QH      0       11:03:47.463    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     Тик №1 имеет цену...
MQ      0       11:03:47.463    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:1 >>> 342616 > 7921
OK      0       11:03:47.463    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56405 >>> 1.55904 == -500.9999999999959
DI      0       11:03:47.463    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 0
IS      0       11:03:47.464    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:1 >>> 342616 > 25680
KO      0       11:03:47.464    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.55904 >>> 1.56405 == 500.9999999999959
JH      0       11:03:47.464    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 1
CO      0       11:03:47.464    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:g >>> 342616 > 41419
EL      0       11:03:47.464    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56405 >>> 1.56913 == 507.9999999999973
GK      0       11:03:47.464    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 2
PE      0       11:03:47.465    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:1 >>> 342616 > 55425
MM      0       11:03:47.465    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56913 >>> 1.57413 == 500.0000000000115
GJ      0       11:03:47.465    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 3
FH      0       11:03:47.467    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 342616 > 123848
HP      0       11:03:47.467    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.57413 >>> 1.56909 == -503.9999999999933
JM      0       11:03:47.467    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 4
LF      0       11:03:47.468    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:1 >>> 342616 > 137558
CQ      0       11:03:47.468    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56909 >>> 1.56408 == -500.9999999999959
FL      0       11:03:47.468    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 5
DG      0       11:03:47.470    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:g >>> 342616 > 186457
LS      0       11:03:47.470    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56408 >>> 1.5691 == 502.0000000000024
LO      0       11:03:47.470    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 6
JD      0       11:03:47.473    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 342616 > 290596
HG      0       11:03:47.473    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.5691 >>> 1.56409 == -501.0000000000181
JQ      0       11:03:47.473    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 7
OH      0       11:03:47.474    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:1 >>> 342616 > 313210
LG      0       11:03:47.474    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56409 >>> 1.56909 == 500.0000000000115
PP      0       11:03:47.474    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 8
DF      0       11:03:47.474    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 342616 > 319199
GF      0       11:03:47.474    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56909 >>> 1.56372 == -537.0000000000097
IS      0       11:03:47.474    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 9
LQ      0       11:03:47.475    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 342616 > 326839
HG      0       11:03:47.475    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56372 >>> 1.55868 == -504.0000000000155
LQ      0       11:03:47.475    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 10
CP      0       11:03:47.475    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     Конец периода... 178 <=> 168 День недели = 5 >>> 23:59:58 >>> 2014-12-5
ML      0       11:03:47.475    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:1 >>> 342616 > 342615
NK      0       11:03:47.475    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.55868 >>> 1.56046 == 178.0000000000115
IG      0       11:03:47.475    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 11

На каком тике сформировалась свеча. Цена открытия, цена закрытия, размер в пунктах.

Первая неделя просчиталась. Вторая неделя тоже просчиталась. Всё хорошо.

А вот следующая, волшебная, неделя выглядит так:

JL      0       11:03:47.688    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     > Первый тик в контейнере >>> 2014.12.15 00:00
FP      0       11:03:47.688    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     > Тиков в контейнере >>> 625072
MK      0       11:03:47.688    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     Тик №1 без цены...
CK      0       11:03:47.688    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     Тик №2 имеет цену...
QS      0       11:03:47.690    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 625072 > 56448
HK      0       11:03:47.690    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.57144 >>> 1.56641 == -503.000000000009
JF      0       11:03:47.690    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 20
QQ      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 625072 > 86877
HI      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56641 >>> 1.56139 == -502.0000000000024
PD      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 21
IL      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:g >>> 625072 > 86878
LI      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56139 >>> 1.569 == 761.0000000000116
CD      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 22
GO      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 625072 > 86879
ML      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.569 >>> 1.56142 == -757.9999999999919
RJ      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 23
DN      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:g >>> 625072 > 86880
JO      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56142 >>> 1.569 == 757.9999999999919
IJ      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 24
FM      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 625072 > 86881
MN      0       11:03:47.691    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.569 >>> 1.56142 == -757.9999999999919
MH      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 25
CH      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:g >>> 625072 > 86882
GM      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56142 >>> 1.569 == 757.9999999999919
JH      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 26
EK      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 625072 > 86883
LP      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.569 >>> 1.56142 == -757.9999999999919
KN      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 27
JJ      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:g >>> 625072 > 86885
GS      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56142 >>> 1.569 == 757.9999999999919
LN      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 28
II      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 625072 > 86887
CR      0       11:03:47.692    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.569 >>> 1.56141 == -758.9999999999985
.......
RP      0       11:03:55.348    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 15731
CS      0       11:03:55.349    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:g >>> 625072 > 122858
EG      0       11:03:55.349    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.5639 >>> 1.569 == 510.0000000000104
LS      0       11:03:55.349    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 15732
CP      0       11:03:55.350    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 625072 > 122859
IH      0       11:03:55.350    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.569 >>> 1.56393 == -506.9999999999907
IE      0       11:03:55.350    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 15733
RQ      0       11:03:55.352    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:g >>> 625072 > 122860
DK      0       11:03:55.352    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56393 >>> 1.569 == 506.9999999999907
HD      0       11:03:55.352    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 15734
KM      0       11:03:55.353    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// -1:g >>> 625072 > 122861
LK      0       11:03:55.353    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.569 >>> 1.56385 == -514.9999999999987
FF      0       11:03:55.353    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 15735
NN      0       11:03:55.354    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     ////// 1:g >>> 625072 > 122862
NN      0       11:03:55.354    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     1.56385 >>> 1.569 == 514.9999999999987
DI      0       11:03:55.354    nCandles_FgAMAp_1W_1.03 (GBPUSD,H1)     =>=>=> newCandles_index = 15736

Первая свеча сформирована на этом тике, вторая тоже нормально. А вот последующие начинают формироваться практически на каждом тике!

Вот и ответ на вопрос темы. Ну и плюс то, что в контейнер попадают "лишние" тики.

 

Наверное был какой-то сбой.

Повторюсь.


К каким выводам я пришёл.

  1. CopyTicksRange возвращает контейнер, в который попадают тики, выходящие за запрашиваемый период.

  2. Очень многие тики не имеют вообще никаких цен. Наблюдал отсутствие цен у 68 тиков подряд от начала контейнера. В середине контейнеров так же наблюдаются обширные "незасеянные поля".

  3. Тики за "волшебную" неделю с даты 2014.12.15 - битые (или как это назвать?). Распринтовка в предыдущем посте наглядно это демонстрирует.

  4. Судя по задержкам (значительным) между появлениям принта "Конец периода... ", могу сделать обоснованное предположение, что есть и другие периоды на истории в которых "пляшут" тики. Не так как в "волшебную", но тем не менее...
 

Или всех всё устраивает?

Или все настолько благовоспитанные, что стесняются ткнуть меня носом в собственные фекалии??? 

Или ... просто "замолчать"?


И сам терминал, и язык программирования - это очень важно. Проблем, недоработок, ошибок хватает... И их нужно устранять. Я понимаю.

НО! 

Корректность исторических данных, на мой взгляд, куда важнее! Все работы основываются на этих данных. И, если данные "горбатые", то никакие терминалы их не выправят! И никакого смысла уже нет ни в терминале, ни в тестере... 

Тестер, каким бы он барским ни был (а тут тоже много вопросов) не в состоянии обнаружить битые данные. Что подали - то и приготовил...

Люди! АУ!!!????

Причина обращения: