Разработчикам MT4. Глюк тестера в Build 216 - страница 4

 
Prival:

stringo

Вы все время пытаетесь улучшить модель генерации тиков внутри минутного бара, но ведь есть простой и кардинальный выход, решить все проблемы разом - хранить не историю минуток, а тики.

Планируете ли Вы сделать это ?

З.Ы. Модель как бы не была совершенна, это всегда модель (

Весьма сомнительно, как в плане расхода трафика, так и рассогласований. Достаточно взглянуть на разницу потиковых объемов с разных серверов, чтобы убедиться в том, что на уровне брокеров собрать потиковую историю хоть каким либо образом приближенную к реальности проблемно. Пока не будет единого поставщика котировок и потиковую историю не начнут формировать на самих биржевых площадках (а Forex, как известно, даже единой такой площадки не имеет), эта затея будет на уровне прожженного прожектерства.

 

А по-моему всё просто.

1. Нужно в момент закачки минуток откорректировать все ТФ по минуткам (более общий случай - по закачанному младшему ТФ).

2. Не нужно тики. Максимальная глубина - это OHLC (на белых и OLHC на чёрных). И не надо никакого моделирования тиков на минутках (ну, зачем ещё тратить ресурсы на минутный шум?). 

3. При тестировании - развитие в глубину на старших ТФ до  OHLC-OLHC указанного юзером младшего ТФ.

Просто и ясно. И избыточно и достаточно.

 

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

Однако, где-то она видимо рядом.

Тестировние ведется в режиме "все тики"

Приведу выдержки из журнала. ( Между кусками лога - с отмеченными позициями и ордерами ничего не происходит(по журналу).)

Открытие позиций. Тестер открывает две позиции одна на Sell, другая на Buy. Пока нормально.

12:19:52 2005.02.07 08:00 TestStrategyEURUSD,M5: open #43 buy stop 1.00 EURUSD at 1.2860 sl: 1.2690 tp: 1.2867 ok

12:19:52 2005.02.07 12:52 Tester: order #43, buy 1.00 EURUSD is opened at 1.2860

12:19:52 2005.02.09 09:25 TestStrategyEURUSD,M5: open #48 sell stop 1.00 EURUSD at 1.2747 sl: 1.2917 tp: 1.2740 ok

12:19:52 2005.02.09 14:49 Tester: order #48, sell 1.00 EURUSD is opened at 1.2747

Меняем лимит и стоп на позах. Стоп сельного ордера и лимит байного ставятся на один уровень.

12:19:53 2005.02.14 02:39 TestStrategyEURUSD,M5: modify #48 sell 1.00 EURUSD at 1.2747 sl: 1.3167 tp: 1.2897 ok

12:19:53 2005.02.14 02:39 TestStrategyEURUSD,M5: modify #43 buy 1.00 EURUSD at 1.2860 sl: 0.0000 tp: 1.3167 ok

Происходит срабатывание стопа 48 позы, и не срабатывает лимит 43.

После чего стратегия успешно убирает на 43-м лимит, и пытается закрыть его по рынку.

Закрытие не получается:

12:19:53 2005.02.22 06:28 Tester: stop loss #48 at 1.3167 (1.3166 / 1.3168)

12:19:53 2005.02.22 06:28 TestStrategyEURUSD,M5: modify #43 buy 1.00 EURUSD at 1.2860 sl: 0.0000 tp: 0.0000 ok

12:19:53 2005.02.22 06:28 TestStrategyEURUSD,M5: invalid ticket for OrderClose function

12:19:53 2005.02.22 06:28 TestStrategyEURUSD,M5: OrderClose error 4051

В конце тестирования поза принудительно закрывается тестером:

12:19:56 2005.03.31 23:59 Tester: order #43 is closed

Возникает вопрос - почему сельная сделка #48 благополучно закрылась, а байная - нет.

И второй вопрос, непонятно что вообще с позицией #43 творится. Она таки закрытая или нет, если нет, то почему не сработал на ней лимит, и почему потом ее не смогли закрыть с рынка.

А если она уже закрыта, то где она закрылась, и что потом тестер закрывает в конце тестирования?

 
Itrych:

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

Однако, где-то она видимо рядом.

Тестировние ведется в режиме "все тики"

Приведу выдержки из журнала. ( Между кусками лога - с отмеченными позициями и ордерами ничего не происходит(по журналу).)

Открытие позиций. Тестер открывает две позиции одна на Sell, другая на Buy. Пока нормально.

12:19:52 2005.02.07 08:00 TestStrategyEURUSD,M5: open #43 buy stop 1.00 EURUSD at 1.2860 sl: 1.2690 tp: 1.2867 ok

12:19:52 2005.02.07 12:52 Tester: order #43, buy 1.00 EURUSD is opened at 1.2860

12:19:52 2005.02.09 09:25 TestStrategyEURUSD,M5: open #48 sell stop 1.00 EURUSD at 1.2747 sl: 1.2917 tp: 1.2740 ok

12:19:52 2005.02.09 14:49 Tester: order #48, sell 1.00 EURUSD is opened at 1.2747

Меняем лимит и стоп на позах. Стоп сельного ордера и лимит байного ставятся на один уровень.

12:19:53 2005.02.14 02:39 TestStrategyEURUSD,M5: modify #48 sell 1.00 EURUSD at 1.2747 sl: 1.3167 tp: 1.2897 ok

12:19:53 2005.02.14 02:39 TestStrategyEURUSD,M5: modify #43 buy 1.00 EURUSD at 1.2860 sl: 0.0000 tp: 1.3167 ok

Происходит срабатывание стопа 48 позы, и не срабатывает лимит 43.

После чего стратегия успешно убирает на 43-м лимит, и пытается закрыть его по рынку.

Закрытие не получается:

12:19:53 2005.02.22 06:28 Tester: stop loss #48 at 1.3167 (1.3166 / 1.3168)

12:19:53 2005.02.22 06:28 TestStrategyEURUSD,M5: modify #43 buy 1.00 EURUSD at 1.2860 sl: 0.0000 tp: 0.0000 ok

12:19:53 2005.02.22 06:28 TestStrategyEURUSD,M5: invalid ticket for OrderClose function

12:19:53 2005.02.22 06:28 TestStrategyEURUSD,M5: OrderClose error 4051

В конце тестирования поза принудительно закрывается тестером:

12:19:56 2005.03.31 23:59 Tester: order #43 is closed

Возникает вопрос - почему сельная сделка #48 благополучно закрылась, а байная - нет?

Потому что короткая закрывается по Аsk, а длинная по Bid. Когда Ask достиг 1.3167 и сработал лось у короткой, Bid был на отметке 1.3165 (или даже ниже, если спред более 2-х пипсов) и явно не дотягивал до тейка длинной.

 
Itrych:

12:19:53 2005.02.22 06:28 TestStrategyEURUSD,M5: invalid ticket for OrderClose function

12:19:53 2005.02.22 06:28 TestStrategyEURUSD,M5: OrderClose error 4051



И второй вопрос, непонятно что вообще с позицией #43 творится. Почему потом ее не смогли закрыть с рынка?


Читайте внимательно вышеприведенные Вами же строчки, там все ясным английским языком написано: invalid ticket for OrderClose function

 
Reshetov:
Prival:

stringo

Вы все время пытаетесь улучшить модель генерации тиков внутри минутного бара, но ведь есть простой и кардинальный выход, решить все проблемы разом - хранить не историю минуток, а тики.

Планируете ли Вы сделать это ?

З.Ы. Модель как бы не была совершенна, это всегда модель (

Весьма сомнительно, как в плане расхода трафика, так и рассогласований. Достаточно взглянуть на разницу потиковых объемов с разных серверов, чтобы убедиться в том, что на уровне брокеров собрать потиковую историю хоть каким либо образом приближенную к реальности проблемно. Пока не будет единого поставщика котировок и потиковую историю не начнут формировать на самих биржевых площадках (а Forex, как известно, даже единой такой площадки не имеет), эта затея будет на уровне прожженного прожектерства.

митукти отличаються тоже. Это не довод. Имея тики, очень просто из них собрать бары, любые хоть эквиобъемные. Да и вообще реализовать любую логику построения бара, если он комуто нужен вообще :-). Представление графика в виде бара это уже даже не прошлый вэк, а позапрошлый :-)

 
Prival:
Reshetov:
Prival:

stringo

Вы все время пытаетесь улучшить модель генерации тиков внутри минутного бара, но ведь есть простой и кардинальный выход, решить все проблемы разом - хранить не историю минуток, а тики.

Планируете ли Вы сделать это ?

З.Ы. Модель как бы не была совершенна, это всегда модель (

Весьма сомнительно, как в плане расхода трафика, так и рассогласований. Достаточно взглянуть на разницу потиковых объемов с разных серверов, чтобы убедиться в том, что на уровне брокеров собрать потиковую историю хоть каким либо образом приближенную к реальности проблемно. Пока не будет единого поставщика котировок и потиковую историю не начнут формировать на самих биржевых площадках (а Forex, как известно, даже единой такой площадки не имеет), эта затея будет на уровне прожженного прожектерства.

митукти отличаються тоже. Это не довод. Имея тики, очень просто из них собрать бары, любые хоть эквиобъемные. Да и вообще реализовать любую логику построения бара, если он комуто нужен вообще :-). Представление графика в виде бара это уже даже не прошлый вэк, а позапрошлый :-)

Только в том случае, что если мы действительно имеем дело с реальными тиками. А поскольку мы имеем уже на уровне брокера всего лишь синтетическую модель этих самых тиков, т.е. нечто суррогатное, прошедшее через фильтры поставщиков котировок, брокеров и субброкеров (частично задержанное, а частично сформированное задним числом), то для целей "теханализа" такого суррогата нет никакой особой разницы, моделировать локально эти самые тики из баров в терминале или тянуть с удаленного сервера. В случае стягивания с сервера, разница будет в излишнем расходе трафика.

 

Мне почему то кажется, что не надо разработчиков учить - строить бары

---

обнаруженные явные ошибки, с доказательной базой, да - помогать найти надо



 
SK. писал (а):

А по-моему всё просто.

1. Нужно в момент закачки минуток откорректировать все ТФ по минуткам (более общий случай - по закачанному младшему ТФ).

2. Не нужно тики. Максимальная глубина - это OHLC (на белых и OLHC на чёрных). И не надо никакого моделирования тиков на минутках (ну, зачем ещё тратить ресурсы на минутный шум?).

3. При тестировании - развитие в глубину на старших ТФ до OHLC-OLHC указанного юзером младшего ТФ.

Просто и ясно. И избыточно и достаточно.

Если Вам нет нужды в этом, то это не означает что это никому не нужно. Тестер вообще не осуществляет моделирование лагов тиков (расстояние по времени между приходами тиков).

В качестве примера приведу всеголиш два бара, и если в них одинаковое количество информации то можете бросить в меня камень при встрече.

16.05.2008

10:59

1.5497

1.5499

1.5497

1.5499

9

16.05.2008

11:00

1.55

1.5501

1.5495

1.5498

36

Данные котировки взяты с Альпари классик. Так вот тут наглядно показано, что кто то сидит и ждет когда этот бар (часовой закроется, и только потом я буду принимать торговое решение). Но тик который пришел и закрыл бар и тик который открыл новый бар физически ничем не отличается. Просто некоторые почему то считают (непонятно почему), что вот именно этот тик важен, а остальные тики внутри бара, это шум (вообще фантастика).

SK. Да и для всех. Хочу подарить один фильтр, который работает, и работает очень надежно. Это интенсивность потока (количество тиков в единицу времени).

  1. Что можно сделать с его помощью, это идентифицировать шпильку.
  2. Определить начало движения не дожидаясь окончания бара. Сейчас на дворе 21 век, и кто раньше встал того и тапки ).

Вот только проверить этот фильт на истории у Вас не получиться, так как терминал это не моделирует (

 
Prival:
SK. писал (а):

А по-моему всё просто.

1. Нужно в момент закачки минуток откорректировать все ТФ по минуткам (более общий случай - по закачанному младшему ТФ).

2. Не нужно тики. Максимальная глубина - это OHLC (на белых и OLHC на чёрных). И не надо никакого моделирования тиков на минутках (ну, зачем ещё тратить ресурсы на минутный шум?).

3. При тестировании - развитие в глубину на старших ТФ до OHLC-OLHC указанного юзером младшего ТФ.

Просто и ясно. И избыточно и достаточно.

Если Вам нет нужды в этом, то это не означает что это никому не нужно. Тестер вообще не осуществляет моделирование лагов тиков (расстояние по времени между приходами тиков).

В качестве примера приведу всеголиш два бара, и если в них одинаковое количество информации то можете бросить в меня камень при встрече.

16.05.2008

10:59

1.5497

1.5499

1.5497

1.5499

9

16.05.2008

11:00

1.55

1.5501

1.5495

1.5498

36

Данные котировки взяты с Альпари классик. Так вот тут наглядно показано, что кто то сидит и ждет когда этот бар (часовой закроется, и только потом я буду принимать торговое решение). Но тик который пришел и закрыл бар и тик который открыл новый бар физически ничем не отличается. Просто некоторые почему то считают (непонятно почему), что вот именно этот тик важен, а остальные тики внутри бара, это шум (вообще фантастика).

SK. Да и для всех. Хочу подарить один фильтр, который работает, и работает очень надежно. Это интенсивность потока (количество тиков в единицу времени).

  1. Что можно сделать с его помощью, это идентифицировать шпильку.
  2. Определить начало движения не дожидаясь окончания бара. Сейчас на дворе 21 век, и кто раньше встал того и тапки ).

Вот только проверить этот фильт на истории у Вас не получиться, так как терминал это не моделирует (

Я не согласен.

Моё предложение, данное в предыдущем сообщении, сводится к ограничениею глубины истории по Оpen, High, Low и Close минутного бара. На мой взгляд этого вполне достаточно для моделирования любой нормальной стратегии. 

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

А глубину истории для моделирования в тестере можно штатно разрешать пользователю по OHLC указанного пользователем ТФ. Можно хоть на недельном моделировать минимальный интервал 15 сек. В случае нехватки данных тестер должен автоматически восполнить пробелы, предварительно испросив разрешение у пользователя.

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