[Архив!] ПИШЕМ СОВЕТНИКА ВМЕСТЕ!!! - страница 20

 

Я понимаю что встрял с 19 страницы прочитав первую, но давайте уясним:

1) за основу взят советник работающий на пробой

2) все остальные идеи, не соответствующие пробою - отметаются?

3) а не стоит ли провести классификацию стратегий и потом построить 3-4 советника?

4) готов поддержать начинания идеями и кодом

5) прошу прощения - обязуюсь прочесть предъидущие 18 страниц

 
да пока что вообще никаких предложений конкретных нет... ни по пробою ни других... пока только конкретное от автора по мультивалютному анализу (хедж)
 

Тогда первое предложение от меня:

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

 
я полагаю что всем до фонаря принцип стратегии лишь бы был профит...
 
sllawa3 >>:
я полагаю что всем до фонаря принцип стратегии лишь бы был профит...

С таким подходом до фонаря может быть что угодно.

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

1) Есть некая стратегия господина BookKeeper'a. Давайте ради памяти о человеке создадим советника на ее основе. Стратегию можно взять здесь http://uploadbox.com/files/73dd564596/

2) Давайте пока не будем обращать внимания на ее прибыльность - процесс реализации подскажет нам всем наиболее узкие моменты, что может послужить отправной точкой для следующих проектов.

3) Предлагаю создать новую ветку (надеюсь модераторы будут не против) - Создание стратегии 'Советник на основе стратегии BookKeeper'a'

 
caspermax >>:

Тогда первое предложение от меня:

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

Если кто-то не удосужился прочитать все 19 страниц, то вкрации расскажу ;)

Изначально действительно была идея на пробой хая/лоу предыдущего дня. Просто тупо входим с фиксированным стопом и профитом. Такая система на долгосрочном периоде работает с проф.фактором примерно ранвой 1,0. Т.е. сколько зарабатывает, столько и сливает 50/50. Исходя из этого предлагал при помощи дополнительных инструментов увеличить профитность советника используя период тестирования 2009 год. Напоминаю что в советнике изначально не было ни одного индикатора, ни осцилятора, ни трала, ни правил выхода из рынка, т.е. ничего...

После этого последовало пару предложений и как вариант, со своей стороны, решил тоже выложить свой мультивалютный индикатор. Прикрутив его к советнику, получил результаты с 2000г. (стр.9)

Но почему-то, потом забыли про изначальную идею и стали обсуждать уже сам индикатор ))) и строить уже на нем ТС. Вот вообщем вкрации:)

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

 
RomanS >>:

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

Я  тут пока со своим разбираюсь.. Но на счет индикатора присоединяюсь) Что-то должно быть в качестве фильтра сделок...

 
ALex2008 >>:

Я  тут пока со своим разбираюсь.. Но на счет индикатора присоединяюсь) Что-то должно быть в качестве фильтра сделок...


Да я периодически заглядываю в эту ветку...

интересно конечные результаты посмотреть, у тебя я смотрю все почти готово, а тут еще лес дремучий )))

 

Тот же советник, что и на первой странице, только добавил проверку на дивергенцию по МАКД. т.е исли если дивергенция не наблюдается открываемся в сторону пробоя, если есть, то с точностью до наоборот. Вот пример работы эксперта на рисунке

При этом стоп лос ставиться в 2 раза меньше чем тейкпрофит.

Вот код

//+-----------------------------------------------------------------------+
//|                                                     Крокодил ГЕНА.mq4 |
//|                                                         Крокодил ГЕНА |
//+-----------------------------------------------------------------------+

  // Внешние переменные
  extern double TakeProfit = 1100; 
  extern double Lot        = 1;    
  extern string SYMBOL     = "EURUSD";
  
  // Глобальные переменные
  int LastTradeTime = 0;      // Время последней открытой сделки
  
  // Поехали... :)
  int start() 
  {  
     int Ticket;
  double BID,
         ASK,
         SL=0,
         TP=0;                                  
    bool Ans         = false,
         Open_Bay_1  = false,
         Open_Sell_1 = false,
         Open_Bay_2  = false,
         Open_Sell_2 = false;

  // Критерии открытия позиций
    RefreshRates();                                             
    BID = MarketInfo(SYMBOL,9);
    ASK = MarketInfo(SYMBOL,10);
    if (BID > iHigh (SYMBOL,PERIOD_D1,1))
      {
       if (iMACD(SYMBOL,15,12,26,9,0,0,0)>iMACD(SYMBOL,15,12,26,9,0,0,iHighest(SYMBOL,15,MODE_HIGH,96,1)))Open_Bay_1 = true;
       if (iMACD(SYMBOL,15,12,26,9,0,0,0)<iMACD(SYMBOL,15,12,26,9,0,0,iHighest(SYMBOL,15,MODE_HIGH,96,1)))Open_Sell_2 = true;
      }
    if (BID < iLow (SYMBOL,PERIOD_D1,1))
      {
       if (iMACD(SYMBOL,15,12,26,9,0,0,0)<iMACD(SYMBOL,15,12,26,9,0,0,iHighest(SYMBOL,15,MODE_HIGH,96,1)))Open_Sell_1 = true;
       if (iMACD(SYMBOL,15,12,26,9,0,0,0)>iMACD(SYMBOL,15,12,26,9,0,0,iHighest(SYMBOL,15,MODE_HIGH,96,1)))Open_Bay_2 = true;
      } 
        
  // Открытие позиций 1
      if (Open_Bay_1 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!=LastTradeTime)                                           
        {      
         SL = iLow(SYMBOL,PERIOD_D1,0);
         TP = ASK + TakeProfit*Point;
         Ticket=OrderSend(SYMBOL,OP_BUY,Lot,ASK,20,SL,TP);         
         LastTradeTime=TimeDay(TimeCurrent()); // задаем время сделки, чтобы сегодня больше не торговать 
        }
     if (Open_Sell_1 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!=LastTradeTime)                                             
        {      
         SL = iHigh (SYMBOL,PERIOD_D1,0);
         TP = BID - TakeProfit*Point;
         Ticket = OrderSend(SYMBOL,OP_SELL,Lot,BID,20,SL,TP);         
         LastTradeTime=TimeDay(TimeCurrent());  // задаем время сделки, чтобы сегодня больше не торговать
        }
        
  // Открытие позиций 2
      if (Open_Bay_2 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!=LastTradeTime)                                           
        {      
         SL = BID - TakeProfit/2*Point; 
         TP = ASK + TakeProfit*Point;
         Ticket=OrderSend(SYMBOL,OP_BUY,Lot,ASK,20,SL,TP);         
         LastTradeTime=TimeDay(TimeCurrent()); 
        }
     if (Open_Sell_2 == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!=LastTradeTime)                                             
        {      
         SL = BID + TakeProfit/2*Point;                                            
         TP = BID - TakeProfit*Point;
         Ticket = OrderSend(SYMBOL,OP_SELL,Lot,BID,20,SL,TP);         
         LastTradeTime=TimeDay(TimeCurrent());   
        } 
   // Закрытие позиций
     for(int i=0; i<=OrdersTotal(); i++)   
      {  
       if (OrderSelect(i,SELECT_BY_POS)==true)  
         {                                        
          if (OrderSymbol() != SYMBOL) continue;
          if (OrderType()==0)
            {
             if (OrderProfit()>0 && TimeDay(TimeCurrent())!=LastTradeTime)
             Ans = OrderClose(OrderTicket(),OrderLots(),ASK,20);
            }
          if (OrderType()==1)
            {
            if (OrderProfit()>0 && TimeDay(TimeCurrent())!=LastTradeTime)
            Ans = OrderClose(OrderTicket(),OrderLots(),BID,20);
            }
         } 
      }        
   return;       
  }

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

Вот с 01,01,2009 по сегодня.

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

 
принцип пробоя мной был опробован около года назад в самых различных вариантах.. могу уверенно сказать о его нежизнеспособности... по поводу отсутствия индикаторов тоже могу заметить что в любом случае цена уже индикатор.. а все остальные это от неё производные.. с различными степенями усреднения.. задержки и т.д... я предлагаю написать мультивалютную систему на простом и эффективном принципе.. это вход при зашкаливании одновременно 2х индюков.. стохастика и впр.. причём одновременно на нескольких таймфреймах ( напр м1 и5 и м15или 30 )