Нужен ли режим тестирования по ценам открытия текущего таймфрейма? (как в МТ4) - страница 12

 
stringo:
Слава, большое вам спасибо, за расширение возможностий оптимизации в последнем билде.
 
stringo:
Нулевой бар никогда не считается завершённым, пока он не станет первым. До тех пор, пока не пришла котировка со временем большим или =, чем <время открытия бара+таймфрейм>, бар не считается закрытым.

Полностью согласен с таким условием. Советник показал, что это условие на MT4 не выполняется. Однако, ответ servicedesk полностью говорит о позиции разработчиков:

Мы не будем вносить изменения в четвёрку, так как считаем этот "баг" (документированный баг называется фичей, поэтому "баг" - в кавычках) незначительным и ни на что не влияющим.

Ну раз так считаете, можете этот "баг" прописать и в MT5. Жаль, никто не взялся проверить.

 

hrenfx:

... Жаль, никто не взялся проверить.

А почему Вам жаль, если

hrenfx:

На данный момент совсем не заинтересован в MT5-тестере и MT5-платформе в целом.

Могли бы уже сами давно проверить, если Вам действительно жаль. Или это такая игра разума? )))

//+------------------------------------------------------------------+
//|                                                  Test_hrenfx.mq5 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"

//--- input parameters
input string   SecondSymbol="USDJPY";
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   static int Digits2;
   static double h[],l[],o[],c[];
   static datetime time1[],time2[],PrevTime=0;
//---
   ArraySetAsSeries(o,true);
   ArraySetAsSeries(c,true);
   ArraySetAsSeries(h,true);
   ArraySetAsSeries(l,true);
   ArraySetAsSeries(time1,true);
   ArraySetAsSeries(time2,true);
//---
   if(CopyTime(_Symbol,_Period,0,1,time1)<1)
     { Print("Не удалось скопировать значения в массив времени (time1)!"); }
//---
   if(CopyTime(SecondSymbol,_Period,0,1,time2)<1)
     { Print("Не удалось скопировать значения в массив времени (time2)!"); }
//---
   if(CopyOpen(SecondSymbol,_Period,0,1,o)<1)
     { Print("Не удалось скопировать значения в массив времени (o)!"); }
//---
   if(CopyClose(SecondSymbol,_Period,0,1,c)<1)
     { Print("Не удалось скопировать значения в массив времени (c)!"); }
//---
   if(CopyHigh(SecondSymbol,_Period,0,1,h)<1)
     { Print("Не удалось скопировать значения в массив времени (h)!"); }
//---
   if(CopyLow(SecondSymbol,_Period,0,1,l)<1)
     { Print("Не удалось скопировать значения в массив времени (l)!"); }
//---
   if(PrevTime==time1[0]) { return; }
//---
   PrevTime=time1[0];
//---
   if(time2[0]<time1[0])
     {
      Digits2=(int)SymbolInfoInteger(SecondSymbol,SYMBOL_DIGITS);
      //---
      Print("CurrentTime = "+TimeToString(PrevTime)+", SecondSymbol = "+SecondSymbol+
            ", OHLC = {"+DoubleToString(o[0],Digits2)+
            ", "+DoubleToString(h[0],Digits2)+
            ", "+DoubleToString(l[0],Digits2)+
            ", "+DoubleToString(c[0],Digits2)+"}");
     }
//---
   return;
  }
//+------------------------------------------------------------------+

//---

Проверяйте.

 
tol64:

А почему Вам жаль, если

Могли бы уже сами давно проверить, если Вам действительно жаль. Или это такая игра разума? ))) 

У меня двоякое отношение к MT5-продукту: использовать не буду (не вижу не единого трейдерского преимущества перед предшественником, есть даже некоторая ущербность), но хочется, чтобы был лучше.

Вы не внимательны (см. ссылку), мне жаль, что не проверили предположение о гораздо более серьезном баге, который описан с самого начала этого затянувшегося обсуждения. Данный советник ничего по этому поводу не показывает.

 
hrenfx:

У меня двоякое отношение к MT5-продукту: использовать не буду (не вижу не единого трейдерского преимущества перед предшественником, есть даже некоторая ущербность), но хочется, чтобы был лучше.

Вы не внимательны (см. ссылку), мне жаль, что не проверили предположение о гораздо более серьезном баге, который описан с самого начала этого затянувшегося обсуждения. Данный советник ничего по этому поводу не показывает.

А какие трейдерские преимущества вы бы хотели?

может это можно реализовать на MQL5

 
hrenfx:

У меня двоякое отношение к MT5-продукту: использовать не буду (не вижу не единого трейдерского преимущества перед предшественником, есть даже некоторая ущербность), но хочется, чтобы был лучше.

Вы не внимательны (см. ссылку), мне жаль, что не проверили предположение о гораздо более серьезном баге, который описан с самого начала этого затянувшегося обсуждения. Данный советник ничего по этому поводу не показывает.

Проверю этот момент на досуге, если покажете где. Не хочу искать. ))

 
Трейдерские преимущества
MT4
MT5
Надежный механизм виртуальных позиций
+ (отлично пашет на рыночных ECN/STP)
-
Ask-история
+- (реализовывается брокером, как отдельный символ)
+- (не видел)
Кастомная история
+
-
Тестер на кастомной истории (включая реальную тиковую)
+ (через взлом)
-
Синхронизированная мультисимвольная баровая история
+- (через CustomHistory)
-
Формирование баров по временному принципу (отказ от модели "нет тика - нет бара")
+- (через CustomHistory)
-
Тестер "по ценам открытия", учитывающий Ask-историю
+-- (через CustomHistory)
-
OnTick (не костыль, где есть пропуски) на подписанные символы, отказ от привязки к символу и чарту
-
-
Время цены с точностью до мс.
-
-
Тиковая история (возможность, брокер может не давать)--
Level2-история (возможность, брокер может не давать) --
В потиковом тестере иметь фильтр по длительности тика и его объему+- (через CustomHistory и взлом)-
Level2-тестер --
Возможность задания в тестере торговых условий - CustomSymbol+-- (только фикс. Spread, не комиссия, свопы и т.д.)-
Асинхронные торговые приказы -+- (не продумано еще)
Быстрая обработка торговых приказов ( < 100 ms) --
Независимость счета от торговой платформы (можно зайти через NinjaTrader, MT4, MT5-терминалы...)--
Торговый и исторический API+- (через одно место)+- (через одно место) 
Мультиядерный оптимизатор-++ (Cloud)
Мультивалютный тестер-+- (неточный)
Установка лимитных приказов хуже текущей цены--
Тиковый+Level2-визуализатор динамики изменения рыночных условий с нанесением торговых сделок--
Мощный анализатор результатов торговли--
Хранение и изменение служебной информации на торговом сервере+- (через фэйковые отложки)+- (через фэйковые отложки)
Хранение и выполнение торговых скриптов прямо на торговом сервере - без взаимодействия с терминалом--
Безмаржинальные лимитные приказы для ECN/STP модели--

 
tol64:

Проверю этот момент на досуге, если покажете где. Не хочу искать. ))

К сожалению, не покажу - MT5 не использую. Автоматом найти нужные для теста дырки для вас - несколько строчек кода.
 
hrenfx:
Трейдерские преимущества
MT4
MT5
Надежный механизм виртуальных позиций
+ (отлично пашет на рыночных ECN/STP)
-
Ask-история
+- (реализовывается брокером, как отдельный символ)
есть
Кастомная история
+
-
Тестер на кастомной истории (включая реальную тиковую)
+ (через взлом)
-
Синхронизированная мультисимвольная баровая история
+- (через CustomHistory)
-
Формирование баров по временному принципу (отказ от модели "нет тика - нет бара")
+- (через CustomHistory)
-
Тестер "по ценам открытия", учитывающий Ask-историю
+-- (через CustomHistory)
есть, Ask в каждом M1
OnTick (не костыль, где есть пропуски) на подписанные символы, отказ от привязки к символу и чарту
-
-
Время цены с точностью до мс.
по приходу тика
по приходу тика
Тиковая история--
Level2-историяни у кого нет
ни у кого нет
В потиковом тестере иметь фильтр по длительности тика и его объемуанализ в OnTickанализ в OnTick
Level2-тестер ни у кого нет и еще долго не будет
ни у кого нет и еще долго не будет
Возможность задания в тестере торговых условий - CustomSymbol+- (только фикс. Spread, не комиссия, свопы и т.д.)-
Асинхронные торговые приказы -давно уже все, читайте новости
Быстрая обработка торговых приказов ( < 100 ms) -давно уже все, читайте новости
Независимость счета от торговой платформы (можно зайти через NinjaTrader, MT4, MT5-терминалы...)глупости для слабых платформ
глупости для слабых платформ
Торговый и исторический APIвсе в MQL4
все в MQL5
Мультиядерный тестер-++ (Cloud)
Мультивалютный тестер-точный
Установка лимитных приказов хуже текущей цены-куча режимов
Тиковый+Level2-визуализатор динамики изменения рыночных условий с нанесением торговых сделок-будет, это не проблема
Мощный анализатор результатов торговли-есть, посмотрите отчет
Хранение и изменение служебной информации на торговом сервере+- (через фэйковые отложки)+- (через фэйковые отложки)
Хранение и выполнение торговых скриптов прямо на торговом сервере - без взаимодействия с терминалом--

Как видите, Вы соврали ошиблись достаточно много. Я выделил зеленым явные ошибки.

Кроме того, часть Ваших пунктов - это пожелания костылей.

 
hrenfx:

Я удалил всё чего не будет точно (ибо требует тиковой истории, хотя если насобираете то можно и это сделать), серым оставил то что можно сделать в MQL5, ну а красным это к MQ.

Трейдерские преимущества
MT4
MT5
Надежный механизм виртуальных позиций
+ (отлично пашет на рыночных ECN/STP)
-



Кастомная история
+
-
Тестер на кастомной истории (включая реальную тиковую)
+ (через взлом)
-
Синхронизированная мультисимвольная баровая история
+- (через CustomHistory)
-
Формирование баров по временному принципу (отказ от модели "нет тика - нет бара")
+- (через CustomHistory)
-



OnTick (не костыль, где есть пропуски) на подписанные символы, отказ от привязки к символу и чарту
-
-















Возможность задания в тестере торговых условий - CustomSymbol+- (только фикс. Spread, не комиссия, свопы и т.д.)-
Асинхронные торговые приказы -++
Быстрая обработка торговых приказов ( < 100 ms) -++



Торговый и исторический API+- (через одно место)+- (через одно место) 
Мультиядерный тестер-++ (Cloud)
Мультивалютный тестер-+- (неточный)
Установка лимитных приказов хуже текущей цены-- А это зачем



Мощный анализатор результатов торговли--
Хранение и изменение служебной информации на торговом сервере+- (через фэйковые отложки)+- (через фэйковые отложки)
Хранение и выполнение торговых скриптов прямо на торговом сервере - без взаимодействия с терминалом--