Пользовательские символы. Ошибки, баги, вопросы, предложения. - страница 3

 

Просьба не показывать на чарте текущими нулевые цены кастомного символа, если в Обзор рынка не были проброшены тики


 

Баг 06.

Тестер на некоторых кастомных символах ведет себя полностью неадекватно в режиме по реальным тикам.


В прицепе файл с json и тиковой/баровой историей. Создайте символ на основе этих файлов и запустите тест по реальным тикам. На выходе будет такое безобразие

TESTER_EURUSD.rann_RannForex: history data begins from 2019.03.01 00:00
TESTER_EURUSD.rann_RannForex: ticks data begins from 2019.03.01 00:00
agent process started
connecting to 127.0.0.1:3000
connected
authorized (agent build 2007)
TESTER_EURUSD.rann_RannForex,M1 (MetaQuotes-Beta): testing of Experts\fxsaber\TesterTickCheck.ex5 from 2019.03.01 00:00 to 2019.03.14 00:00
common synchronization completed
TESTER_EURUSD.rann_RannForex: history for 2018 year synchronized
TESTER_EURUSD.rann_RannForex: ticks synchronized already [87 bytes]
MetaTester 5 started on 127.0.0.1:3000
initialization finished
login (build 2007)
3860 bytes of account info loaded
1482 bytes of tester parameters loaded
1724 bytes of input parameters loaded
675 bytes of symbols list loaded
expert file added: Experts\fxsaber\TesterTickCheck.ex5. 21663 bytes loaded
5659 Mb available, 70 blocks set for ticks generating
initial deposit 10000.00 EUR, leverage 1:100
successfully initialized
22 Kb of total initialization data received
Intel Core i7-2700K  @ 3.50GHz, 16301 MB
TESTER_EURUSD.rann_RannForex: symbol to be synchronized
TESTER_EURUSD.rann_RannForex: symbol synchronized, 3464 bytes of symbol info received
TESTER_EURUSD.rann_RannForex: load 71 bytes of history data to synchronize in 0:00:00.000
TESTER_EURUSD.rann_RannForex: history synchronized from 2019.03.01 to 2019.03.13
TESTER_EURUSD.rann_RannForex: ticks synchronization started
TESTER_EURUSD.rann_RannForex: load 78 bytes of tick data to synchronize in 0:00:00.000
TESTER_EURUSD.rann_RannForex: history ticks synchronized from 2019.03.01 to 2019.03.13
TESTER_EURUSD.rann_RannForex: start time changed to 2019.03.02 00:00 to provide data at beginning
TESTER_EURUSD.rann_RannForex,M1: history cache allocated for 13776 bars and contains 1429 bars from 2019.03.01 00:00 to 2019.03.01 23:54
TESTER_EURUSD.rann_RannForex,M1: history begins from 2019.03.01 00:00
TESTER_EURUSD.rann_RannForex,M1 (MetaQuotes-Beta): generating based on real ticks
TESTER_EURUSD.rann_RannForex,M1: testing of Experts\fxsaber\TesterTickCheck.ex5 from 2019.03.01 00:00 to 2019.03.14 00:00 started with inputs:
  BeginTime=1551484800
  EndTime=1552176000
  inFlags=false
TESTER_EURUSD.rann_RannForex : 2019.03.04 23:59 - real ticks absent for 2 minutes out of 1430 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.04 23:59 - real ticks discarded for 1425 minutes out of 1430 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.04 00:22 - 2019.03.04 23:59  4 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.04 23:59 - 62003 tick prices mismatch for 1428 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.05 23:59 - real ticks absent for 2 minutes out of 1437 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.05 23:59 - real ticks discarded for 1418 minutes out of 1437 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.05 00:29 - 2019.03.05 23:59  2 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.05 23:59 - 56107 tick prices mismatch for 1421 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.06 23:59 - real ticks absent for 1 minutes out of 1436 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.06 23:59 - real ticks discarded for 1428 minutes out of 1436 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.06 05:18 - 2019.03.06 23:59  3 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.06 23:59 - 67510 tick prices mismatch for 1431 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.07 23:59 - real ticks absent for 2 minutes out of 1436 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.07 23:59 - real ticks discarded for 1427 minutes out of 1436 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.07 01:40 - 2019.03.07 23:59  4 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.07 23:59 - 67626 tick prices mismatch for 1428 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.08 23:59 - real ticks absent for 6 minutes out of 1435 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.08 23:59 - real ticks discarded for 1423 minutes out of 1435 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.08 23:59 - 70706 tick prices mismatch for 1425 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.11 23:59 - real ticks absent for 2 minutes out of 1433 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.11 23:59 - real ticks discarded for 1426 minutes out of 1433 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.11 00:17 - 2019.03.11 23:59  2 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.11 23:59 - 54732 tick prices mismatch for 1428 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.12 23:59 - real ticks absent for 1 minutes out of 1435 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.12 23:59 - real ticks discarded for 1429 minutes out of 1435 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.12 04:14 - 2019.03.12 23:59  5 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.12 23:59 - 57023 tick prices mismatch for 1429 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.13 23:59 - real ticks discarded for 1427 minutes out of 1437 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.13 00:35 - 2019.03.13 23:59  3 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.13 23:59 - 54368 tick prices mismatch for 1432 minute bars
TESTER_EURUSD.rann_RannForex : real ticks begin from 2019.03.01 00:00:00
TESTER_EURUSD.rann_RannForex : 2019.03.02 00:00 - 2019.03.14 00:00  real ticks absent for 16 minutes of 11479 total minute bars, every tick generation used
TESTER_EURUSD.rann_RannForex : 2019.03.02 00:00 - 2019.03.14 00:00  real ticks discarded for 11403 minutes of 11479 total minute bars, every tick generation used
TESTER_EURUSD.rann_RannForex : 2019.03.02 00:00 - 2019.03.14 00:00  23 minute bars absent in total while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.02 00:00 - 2019.03.14 00:00  tick volumes not matched for 51 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.02 00:00 - 2019.03.14 00:00  tick prices of 490075 ticks not matched for 11422 minute bars
final balance 10000.00 EUR
TESTER_EURUSD.rann_RannForex,M1: 761877 ticks, 11470 bars generated. Test passed in 0:00:02.019 (including ticks preprocessing 0:00:00.297).
222 Mb memory used including 0.94 Mb of history data, 64 Mb of tick data
log file "C:\Program Files\ICMarkets - MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20190314.log" written
connection closed

Но что еще круче, тики будут подаваться не из импортированной истории, а с потолка.

Интересно, что если эти исторические данные импортировать в другой json, то Тестер отработает по ним правильно.

Просьба поправить, а то оказывается, что Тестер пробрасывает абсолютно левые тики. А потом гадаешь, почему результаты отличаются.


В прицепе также советник, с помощью которого теперь проверяю корректность тиков Тестера, сравнивая с тиками из Терминала. Никак не думал, что до такого дойдет.

 
fxsaber:
Кастомные символы на реале являются только информационными, не торговыми. Торговать по ним можно только в Тестере.
а в тестере как они работают?

например синтетик EURUSD-GBPUSD

Если я  буду покупать этот синтетик,
то EURUSD купится по цене аск EURUSD, а GBPUSD продастся по цене бид GBPUSD ?
 
multiplicator:
а в тестере как они работают?

например синтетик EURUSD-GBPUSD

Если я  буду покупать этот синтетик,
то EURUSD купится по цене аск EURUSD, а GBPUSD продастся по цене бид GBPUSD ?

По заданной формуле синтетика только вычисляются его цены.

Торговля в Тестере идет по этим вычисленным ценам и никакого отношения не имеет к тому, как они были вычислены.

 
fxsaber:

По заданной формуле синтетика только вычисляются его цены.

Торговля в Тестере идет по этим вычисленным ценам и никакого отношения не имеет к тому, как они были вычислены.

то есть спреды при тестировании не будут учитываться?
 
multiplicator:
то есть спреды при тестировании не будут учитываться?

Будет полноценное тестирование по символу со своими ранее вычисленным ценами.

 
fxsaber:

Будет полноценное тестирование по символу со своими ранее вычисленным ценами.

то есть,

если я использую синтетик EURUSD-GBPUSD,

то цены аск и бид ему так посчитает:

Bid — bid(EURUSD)-bid(GBPUSD)
Ask — ask(EURUSD)-ask(GBPUSD)


И тогда, когда я буду осуществлять операцию прокупки синтетика, то я буду открываться по цене ask(EURUSD)-ask(GBPUSD).


Но это же неправильно!
ведь, если я хочу купить этот синтетик, то EURUSD должно купиться по цене аск , а GBPUSD должно продастся по цене бид.


 
multiplicator:

Но это же неправильно!

"Торговля" в Тестере синтетиком - это не то, что вы себе придумали.

 
fxsaber:

"Торговля" в Тестере синтетиком - это не то, что вы себе придумали.

я не придумал. это оно должно так быть. по нормальному.

иначе тогда, на фиг оно нужно, если оно спреды не учитывает.