28 !!! валютных пар, 1 эксперт. Опять грааль, но такого помоему еще никто не показывал. + ДЕМО СЧЕТ - страница 5

 

Да уж... Ты бы хоть линейку взял, когда фломастером рисуешь, granit77!

Руки у тебя дрожат, противно смотреть.

 
granit77:
Valmars:

Простите за прямоту, уважаемые разработчики, но слабо вам похоронить вековечную мечту трейдера - Мечту о Граале, хоть в 207-м билде, хоть в 2007-м . По совету Valmars'а - Conys'у сегодня скачал и поставил 207 билд от 25 июля. Запустил свой Грааль на периоде с 1 января 2007 по сегодня.

Предупреждая напрашивающиеся вопросы, привожу все существенные данные тестирования: период М1, символ EURUSD, история от Альпари без всякой правки, автоматически подкачанная терминалом, постоянный лот=1, один открытый ордер, модель "Все тики". Используются данные со старшего ТФ EURUSD, никакие другие символы советник не использует. Никакой оптимизации, никакой подгонки, профитность одинакова на любом периоде истории, думаю, что так же будет и у любого другого брокера. Чистая прибыль 106293$. Количество сделок (1-4 в сутки, 328 за полгода) и матожидание (32 пипса) никак не позволяют отнести советник к пипсовщикам. Прибыльные сделки (% от всех) 92.07%. ММ не ставил - это ж миллиарды получатся, а жена и так пилит, что захламил весь дом.

Попробуйте придраться к корректности тестирования.

Казалось, пора бы прицениться к острову, да не тут-то было.... Стратегия, заложенная в советник, изначально предполагает подглядывание в будущее (в конечные данные еще не закрытого бара старшего ТФ). И не компостируйте мне мозги (извиняюсь за каламбур), что на одной своей паре, без привлечения других символов, подглядывание в тестере невозможно. Ничем другим полученные результаты объяснить не могу.

Что скажете, Valmars? Какой билд еще попробовать?

P.S. Реальных трейдеров прошу не беспокоиться. На демо советник выглядит ничуть не лучше других "граалей".


Ну, что сказать? Поздравляю. Вы опровергли разработчиков. Единственное , что не укладывается в рамки нормального тестирования, так это качество моделирования, 25% по всем тикам. А должно быть 90%, или , хотя бы 89 с копейками. С таким тестированием (или котировками), извините, хорошо в клозет ходить, а не на форум. Автоматически подкачать терминал может только чуть больше 32000 последних баров, у Вас же там аж 165936. Это вовсе не опровергает Ваших достижений, просто доказательства должны быть более вескими. Продемонстрируйте лучше на котировках History Centra, тем более.что советник у Вас не пипсовочный.
 
Valmars:
Yurixx:

2. На дневках разбег между High и Low самый большой. Для эксперта заглядывающего в будущее - самое раздолье. Но Вы ведь утверждаете, что Ваш эксперт анализирет тики. Значит ему дорлжно быть совершенно все равно на каком т/ф работать. Так поставьте его на М1. Я думаю, что у Вас сразу перестанет рябить в глазах от нулей в отчете.

2. После последних доработок тестера заглядывание в будующее в принципе невозможно, во всяком случае, по утверждению разработчиков, и пока никто не доказал обратное. Разве, что встроить модель истории в сам эксперт.

И чего это вы парни так разошлись ? Из-за вот этого утверждения Valmars'а что ли ? Ну сказал - не подумал, мало ли. Может просто иллюзии питает по молодости лет. Разве запретишь ?

А вообще смешно ожидать от разработчиков, что они будут тратить силы и время на то, чтобы в тестере было невозможно (тем более "в принципе") подделать красивые результаты. Зачем им это ?

Тот кто хочет получить действительную, приближенную к реальной, оценку своего эксперта, тот и сам будет стремиться использовать тестер по назначению, адекватно. И светников своих будет писать правильно, честно, без уловок. Ну а тот, кто стремится к обману (неважно - самого себя или потенциального покупателя), тот всегда найдет способ. Как известно любое изделие, любую технологию, любое открытие можно использовать как во благо, так и во вред. И зависит это не от автора, а от того, в чьи руки оно попало.

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

PS Между прочим conys мог бы выложить и более крутую картинку. Например вот эту

Правда по поводу нее он постеснялся признаться что это "заглядывание в будущее".

 
Ну, что сказать? Поздравляю. Вы опровергли разработчиков. Единственное , что не укладывается в рамки нормального тестирования, так это качество моделирования, 25% по всем тикам. А должно быть 90%, или , хотя бы 89 с копейками. С таким тестированием (или котировками), извините, хорошо в клозет ходить, а не на форум. Автоматически подкачать терминал может только чуть больше 32000 последних баров, у Вас же там аж 165936. Это вовсе не опровергает Ваших достижений, просто доказательства должны быть более вескими. Продемонстрируйте лучше на котировках History Centra, тем более.что советник у Вас не пипсовочный.
Приношу свои извинения, совсем забыл, что на 1M таймфрейме выше (25%) и не бывает. Интересно было бы взглянуть на код, заглядывающий в будующее, тем более, что на практике он не применим.
 
Откуда у тебя, Valmars, такое странное заблуждение? На минутках может быть и 90. Но это максимум.

P.S. Ну да, пардон. На любом ТФ, более крупном, чем минута, но с исходным самым мелким материалом "минутки", как раз 90% и получается. ..
 
granit77:
Valmars:
А Вы давно терминал обновляли ? Советую скачать последнюю версию и запустить приведённый пример. А график, что получите, выложете, пожалуйста , сюда. Посмотрим, как Вам удалось заглянуть в будующее !

Простите за прямоту, уважаемые разработчики, но слабо вам похоронить вековечную мечту трейдера - Мечту о Граале, хоть в 207-м билде, хоть в 2007-м . По совету Valmars'а - Conys'у сегодня скачал и поставил 207 билд от 25 июля. Запустил свой Грааль на периоде с 1 января 2007 по сегодня.

Предупреждая напрашивающиеся вопросы, привожу все существенные данные тестирования: период М1, символ EURUSD, история от Альпари без всякой правки, автоматически подкачанная терминалом, постоянный лот=1, один открытый ордер, модель "Все тики". Используются данные со старшего ТФ EURUSD, никакие другие символы советник не использует. Никакой оптимизации, никакой подгонки, профитность одинакова на любом периоде истории, думаю, что так же будет и у любого другого брокера. Чистая прибыль 106293$. Количество сделок (1-4 в сутки, 328 за полгода) и матожидание (32 пипса) никак не позволяют отнести советник к пипсовщикам. Прибыльные сделки (% от всех) 92.07%. ММ не ставил - это ж миллиарды получатся, поскольку просадок практически нет, а жена и так пилит, что захламил весь дом.

Попробуйте придраться к корректности тестирования.

Казалось, пора бы прицениться к острову, да не тут-то было.... Стратегия, заложенная в советник, мне кажется, изначально предполагает подглядывание в будущее (в конечные данные еще не закрытого бара старшего ТФ). И не компостируйте мне мозги (извиняюсь за каламбур), что на одной своей паре, без привлечения других символов, подглядывание в тестере невозможно. Ничем другим полученные результаты объяснить не могу.

Что скажете, Valmars? Какой билд еще попробовать?

P.S. Реальных трейдеров прошу не беспокоиться. На демо советник выглядит ничуть не лучше других "граалей".


Вот простой советник, который проверяет на несовпадение текущего Bid и Close всех вышестоящих таймфреймов. Как только такое несоответствие в 1 и более пункт будет обнаружено, сразу будет выведено значение времени и, текущий Bid и Close того таймфрейма, который не сошелся:

//+------------------------------------------------------------------+
//|                                             CheckBigTF_Close.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net/ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net/ru/"
 
int myPeriodNumber; 
 
//+------------------------------------------------------------------+
//|  возвращает период в минутах                                     |
//+------------------------------------------------------------------+
int GetPeriod(int Number)
   {
   int res;
//----
   switch(Number)
      {
      case 0: res=PERIOD_M1; break;
      case 1: res=PERIOD_M5; break;
      case 2: res=PERIOD_M15; break;
      case 3: res=PERIOD_M30; break;
      case 4: res=PERIOD_H1; break;
      case 5: res=PERIOD_H4; break;
      case 6: res=PERIOD_D1; break;
      case 7: res=PERIOD_W1; break;
      case 8: res=PERIOD_MN1; break;
      default: res=Period();
      }
//----
   return(res);   
   } 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
  for (int i=0;i<9;i++)
   {
   if (GetPeriod(i)==Period()) break;
   }
  myPeriodNumber=i;
  Print("Родной период тестирования ",GetPeriod(myPeriodNumber)," минут");
//----
   return(0);
  }
 
//+------------------------------------------------------------------+
//| right comparison of 2 doubles                                    |
//+------------------------------------------------------------------+
bool CompareDoubles(double number1,double number2, int Dig,double accuracy)
  {
   if(NormalizeDouble(MathAbs(number1-number2),Dig)>=accuracy) return(true);
   else return(false);
  }
 
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  string Str;
  
  double myClose=Bid;
  for (int i=myPeriodNumber; i<9; i++)
   {
   if (CompareDoubles(myClose,iClose(NULL,GetPeriod(i),0) ,Digits,Point))
      {
      Str = TimeToStr(TimeCurrent()) + ", myClose = " + DoubleToStr(myClose, Digits)+"  Close("+GetPeriod(i)+")="+iClose(NULL,GetPeriod(i),0);
      Print(Str);
      
      }
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+

Я прогнал на котировках их History Center на EURUSD M1 Every Ticks c 1999 года по 30 июля 2007 года и ни одного сообщения не вышло. Какое подглядывание в будущее Вы имеет в виду?
 
Valmars:
Ну, что сказать? Поздравляю. Вы опровергли разработчиков. Единственное , что не укладывается в рамки нормального тестирования, так это качество моделирования, 25% по всем тикам. А должно быть 90%, или , хотя бы 89 с копейками. С таким тестированием (или котировками), извините, хорошо в клозет ходить, а не на форум. Автоматически подкачать терминал может только чуть больше 32000 последних баров, у Вас же там аж 165936. Это вовсе не опровергает Ваших достижений, просто доказательства должны быть более вескими. Продемонстрируйте лучше на котировках History Centra, тем более.что советник у Вас не пипсовочный.


Конечно, чайника может обидеть каждый, но пусть тогда профи покажут мне тест на минутках с бОльшим качеством моделирования. Где взять данные с младшего ТФ, если ниже идут только генерированые тики? Мне кажется, что 25% на М1 теоретический предел. А, насчет количества подкачанных баров, мы, чайники, в таких тонкостях не разбираемся. Терминал не выключается с декабря 2006г, в настройках стоит "Макс. баров в истории: 10000000", чего еще надо человеку для счастья?

Я думаю, трейдерам ничего дополнительно доказывать не надо, разработчикам же доказано, что тестер продолжает плодить граали. Может быть, это им пригодится при разработке МТ5. Для меня же основной результат то, что в существующем тестере возможно подглядывание старшего ТФ внутри одного символа. Раньше я встречал утверждения (в том числе и разработчиков), что в силу особенностей тестера это возможно только с валютных пар, отличных от тестируемой. Это приводило к обидным потерям времени и сил на заранее обреченные разработки. Теперь все ясно: родился я нищим, нищим и помру.

 
Rosh:

Я прогнал на котировках их History Center на EURUSD M1 Every Ticks c 1999 года по 30 июля 2007 года и ни одного сообщения не вышло. Какое подглядывание в будущее Вы имеет в виду?



Извините, Valmars и Rosh, прозевал ваши посты, пока писал свой.
2 Rosh
Мне сложно Вам объяснить, поскольку я реально чайник, пишу код "подвывая и шевеля губами", а "программировал" до MQL только один раз на Минск-22, пробивая табулятором машинные коды на перфокартах,  чтобы сдать зачет.
Естественно, у меня нет причин сомневаться в Ваших результатах,  но это первый, "лобовой" уровень проверки. Сам факт того,  что существует советник, использующий только старший ТФ тестируемого символа, показывающий  92% прибыльных сделок на истории при самых жестких условиях тестирования и сливающий на демо в том же периоде, у того же брокера, на тех же котировках,  доказывает некорректность тестирования с использованием старших ТФ. А он существует, "мамой клянусь".
Может быть, текущие Bid и Close вышестоящих таймфреймов совпадают, но при этом врут индикаторы, использующие эти ТФ, не знаю, некомпетентен. Но, "что-то в консерватории неладно".
Если этот казус представляет интерес для разработчиков,  мой майл = мой ник на Яндексе.  Здесь код публиковать не хочу,  это заготовка рабочего советника,  грааль получился случайно.
 
granit77, а ты попробуй в советник вставить то, что сделал Rosh, и покажи результаты при тестировании. Во всяком случае, будет решен вопрос о том, что тестер видит, а что нет.
 

Убиваем мечту у граале...

Взяв код уважаемого Rosh'а прогнав его впринципе получили правильный результат и вроде успакоились, но идем дальше....

//+------------------------------------------------------------------+
//|                                              CheckBigTF_High.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net/ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net/ru/"
 
int myPeriodNumber; 
 
//+------------------------------------------------------------------+
//|  возвращает период в минутах                                     |
//+------------------------------------------------------------------+
int GetPeriod(int Number)
   {
   int res;
//----
   switch(Number)
      {
      case 0: res=PERIOD_M1; break;
      case 1: res=PERIOD_M5; break;
      case 2: res=PERIOD_M15; break;
      case 3: res=PERIOD_M30; break;
      case 4: res=PERIOD_H1; break;
      case 5: res=PERIOD_H4; break;
      case 6: res=PERIOD_D1; break;
      case 7: res=PERIOD_W1; break;
      case 8: res=PERIOD_MN1; break;
      default: res=Period();
      }
//----
   return(res);   
   } 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
  for (int i=0;i<9;i++)
   {
   if (GetPeriod(i)==Period()) break;
   }
  myPeriodNumber=i;
  Print("Родной период тестирования ",GetPeriod(myPeriodNumber)," минут");
//----
   return(0);
  }
 
//+------------------------------------------------------------------+
//| right comparison of 2 doubles                                    |
//+------------------------------------------------------------------+
bool CompareDoubles(double number1,double number2, int Dig,double accuracy)
  {
   if(NormalizeDouble(MathAbs(number1-number2),Dig)>=accuracy) return(true);
   else return(false);
  }
 
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  string Str;
  
  double myClose=Bid;
  for (int i=myPeriodNumber; i<9; i++)
   {
   if (CompareDoubles(myClose,iHigh(NULL,GetPeriod(i),0),Digits,Point))
      {
      Str = TimeToStr(TimeCurrent()) + ", myHigh = " + DoubleToStr(myClose, Digits)+"  High("+GetPeriod(i)+")="+iHigh(NULL,GetPeriod(i),0);
      Print(Str);
      
      }
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+

Если тестер сгенерировав тики из истории котировок при этом bid == Close всех таймфреймов, что логично. Но если в индикаторах используются High или Low или все вместе, и эксперт торгует с учётом их, то имеем явное подсматривание в будущее. Код выше это доказывает. И пока сей факт будет существовать граали так и будут вылазить по всему интернету.

Впринципе лично мне сей факт известен и я не стараюсь его применить в реально работающих эксперта, но разработчики извените скоро чемпионат, многие эксперты наверняка используют High и Low со старших таймфреймов. Даже получается после Вашей проверки кода или теста эксперта он попадает на чемпионат и участник автоматически становится в очередь сливальщиков. Мало того, еще и славу себе наживает как неудавшегося программера.

Исправляйте!

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