[Архив!] ПИШЕМ СОВЕТНИКА ВМЕСТЕ!!! - страница 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 )