Ищу тестовый Грааль! - страница 2

 
Mathemat:
А чему там верить, Aleksey24? Логика тривиальна, а сама система в долговременном плане не может ничего иного, как сливать или давать такие бешеные просадки, что мама не горюй. Тестирование системы на 3 днях - это несерьезно, извини.
Не знаю как тестил ты, но я протестил в свое время на куче рынков с 1992 года на Н1 или Н4 - кругом прибыля без просадок.
Возможно ты закачал не тот код.
Но сама идея - абсурд полный (точнее вакханалия).
Скорее всего это просто "ловушка тестера".
 
Вот код:

//+------------------------------------------------------------------+
//|                                                        kotov.mq4 |
//|                                                             Rosh |
//|                 http://forum.viac.ru/viewtopic.php?p=68234#68234 |
//+------------------------------------------------------------------+
#property copyright "Rosh"
#property link      "http://forum.viac.ru/viewtopic.php?p=68234#68234"
 
//---- input parameters
extern int       CloseHour=22;
extern int       Slippage=3;
extern double    Lots=0.1;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//---- 
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| закрытие ордеров                                                 |
//+------------------------------------------------------------------+
void CloseAllOrders()
  {
   int typeTrade;
//---- 
   for (int cnt=OrdersTotal();cnt>=0;cnt--)
      {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      typeTrade=OrderType();
      Print("typeTrade=",typeTrade);
      switch (typeTrade)
         {
         case OP_BUY: 
              {OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,White);Sleep(30000);}
         case OP_SELL:
              {OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,White);Sleep(30000);}
         //default: continue;
         }
      }
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int total;
  total=OrdersTotal();
//---- 
   Print("CurTime()=",TimeHour(CurTime()));
   if (total==0 && TimeHour(CurTime())>=0 && TimeHour(CurTime())< CloseHour)
      {
      if ((Ask+Bid)/2.0>(High[1]+Low[1]+Open[1]+Close[1])/4.0 && Ask>Open[0]) 
          OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"buy",0,0,Blue);
      if ((Ask+Bid)/2.0<(High[1]+Low[1]+Open[1]+Close[1])/4.0 && Bid<Open[0]) 
          OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"buy",0,0,Red);
      }
   if (total>0 && TimeHour(CurTime())>=CloseHour) CloseAllOrders();
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
Он? А тестил как - по ценам открытия или еще как?
 
Нет, скорее всего не этот код.
У тебя CloseHour=22
А там было CloseHour=4 или 8 если помню.

Поищи еще на том форуме.
Залил туда непосредственно Рош.

У меня оригинал не сохранился к сожалению, т.к. покромсал
и исковеркал я код очень сильно пока эта одея мне не опротивела.

Но рубил капусту этот пипсовик 2-15 пунктов совершенно абсурдным и алогичным способом.
На очень больном количестве рынков.

Я тестил и по "барам" и "по всем тикам" результат был потрясный.

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

Но повторюсь только в тестере(ИМХО).

Можешь у Роша спросить - наверняка подскажет.
 

Вот еще ссылка там Рош ведет полемику с какимто фомой-неверующим на эту тему, возможно я код взял там - не помню.
Рош ему втолковывает прелести трейдинга, а тот лох сопротивляется.
https://www.mql5.com/en/forum/46511

 
Ну мужика лохом явно не назовешь, разве что в шутку. Он все правильно говорит: если система оптимизировалась, то по логике нейросетевика (или генетика) надо оставлять часть истории на тестирование. То есть оптимизировать, скажем, на первых 70% истории, а тестить на оставшихся 30. Иначе - оверфиттинг.

Если же система не оптимизировалась, то проще не становится: придется вводить в среду тестирования дополнительные степени свободы (остается вероятность того, что параметры уже были оптимизированы раньше, т.е. снова шансы оверфиттинга).

Вообще-то эта проблема - самая больная на любом форуме. У каждого свои критерии уверенности в системе. Лично я еще не встречал множества нормальных, статистически обоснованных критериев, дающих ту уверенность в системе, которая нужна мне.
 
Mathemat:
Ну мужика лохом явно не назовешь, разве что в шутку.
Да конечно это была моя ирония. Хотя ему 10 раз говорят что здвиг в в плюс существует, а он бубнит что это невозможно.

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

Но как эту идею загнать в один эксперт для тестирования, пока не придумал.

Спрашивал у Posh о этой проблеме, но ответа все нет.

Может Вы, Mathemat, проконсультируете:

Задача многомерного нормального распределения и нейронные сети типа aX+bY+...=Z это одно и то же (для трейдинга), или я все перепутал и у меня каша в голове?
 

Каша, Aleksey24. Никакой явной связи между этими вещами нет. И вообще - что такое "задача многомерного нормального распределения" в твоем понимании?

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

P.S. То, что ты предлагаешь (несколько экспертов), не является ИНС.

 
Mathemat:

И вообще - что такое "задача многомерного нормального распределения" в твоем понимании?

http://www.nsu.ru/mmf/tvims/chernova/tv/lec/node37.html
Идея в том чтобы торговать не конкретными значениями параметров, в спектрами каждого из параметров.
 

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

 
Mathemat:

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

Я имею в виду не "спектр параметров " , а спектры параметров если оптимизируемых параметнов несколько и спектр параметра если параметр один.

Например если система состоит из одной МА: прибыль получается при значениях МА от 10 до 30 с оптимальным значением на этом временном (тестируемом) отрезке - 20, Но это конечно подгонка под историю.

А диапазон 10-30 это и есть спектр.
Так сказать распределение вероятности.
И я хочу начать открывать сделки при 10 при 15, 20, 25, 30 с соответствующим размером лота (например).

Тогда риск "переоптимизации" будет меньше для будующего.

То же самое справедливо когда параметров несколько. (несколько МА или др.индикаторов).
И в этом случае получается многомерное распределение вероятности.

Поэтому я и спрашиваю возможно это и есть элементарная нейросеть типа xA+yB...=z
где
х,у - сигнал индикатора(да/нет)
А,В - весовой коэф. - вероятность.

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