Советники: VR---BUCH

 

VR---BUCH:

Вроде бы классика, но хорошие результаты

Author: Владимир

 
Стратегия азбучная, так что даже непонятно, что именно обсуждать. Поставьте на бэктест, сравните с оптимизированным участком.
 

Такие советники помогают пасть депозитам новичков как жертвы оптимизации)

 
В тестере выдаёт много ошибок. Переделал код и все ошибки пропали.
//////////////////////////////////////////////////////////////////////
//                             VR---BUCH.mq4                        //
//                              Voldemar227                         //
//                     http://www.tesvop.narod.ru                   //
//////////////////////////////////////////////////////////////////////
//                   ПЕРЕСЕЧЕНИЕ МУВИНГОВ                           //
//////////////////////////////////////////////////////////////////////
#property copyright "http://www.tesvop.narod.ru"
extern string Настройки       = "Главные настройки";                ////////////////////////
extern int    Magic     = 227                ;                //Индивидуальный номер//
extern double Lots            =0.1                 ;                                                   //
extern int    slippage            = 5                  ;                //Проскальзывание////////////////////////////////////////////////////////////////
//------------------------------------------------------------------//         //
//Индикаторы                                                        //         //
//------------------------------------------------------------------//         //
extern string Индикатор1      = "MA-Медленный"     ;                //         //
extern int    MAPeriod1       = 130               ;                //Период   //
extern int    MA1_price       = 3                  ;          
extern int    MA1_shift       = 11                  ; 
extern int    MA1_type        = 1                  ;
extern string Индикатор2      = "MA-Быстрый"       ;                //         //
extern int    MAperiod2       = 61                ;                //Период   //
extern int    MA2_price       = 2                  ;          
extern int    MA2_shift       = 5                  ; 
extern int    MA2_type        = 3                  ;
//------------------------------------------------------------------/////////////
double MA1,MA2;
int start()
{
//---------------------------------------------------------------------------------------------------------------//          
  MA1 =iMA(NULL,0,MAPeriod1,MA1_shift,MA1_type,MA1_price,0);                   //        вычисляем индикатор МА // 
  //Print("ma1=====",MA1);
  MA2 =iMA(NULL,0,MAperiod2,MA2_shift,MA2_type,MA2_price,0);                   //        вычисляем индикатор МА //
  //Print("ma2=====",MA2);    
//---------------------------------------------------------------------------------------------------------------//     
      if (OrderCheck()>0) return(0);
      else      
         {
         if((MA2>MA1)&&(Close[0]>MA2 )) OpenOrder(0);
         if((MA2<MA1)&&(Close[0]<MA2)) OpenOrder(1);
         }
 return(0);
 }
 //---------------------------------------------------------------------------------------------------------------//
 int OrderCheck()
   {
   int kolichestvo=0;
   for (int i=0; OrdersTotal()>i;i++)
      {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if (OrderMagicNumber()==Magic && OrderSymbol()==Symbol())
         {
         CloseOrder(OrderTicket());
         kolichestvo++;
         }
      }
   return(kolichestvo);
   }
void OpenOrder(int type)
   {
   if (type==0) OrderSend(Symbol(),type,Lots,NormalizeDouble(Ask,Digits),slippage,0,0,NULL,Magic,0,CLR_NONE);
   if (type==1) OrderSend(Symbol(),type,Lots,NormalizeDouble(Bid,Digits),slippage,0,0,NULL,Magic,0,CLR_NONE);
   return;
   }
 void CloseOrder(int numm)
    {
      OrderSelect(numm,SELECT_BY_TICKET,MODE_TRADES);
      if((MA2>MA1)&&(Close[0]>MA2 ) && OrderType()==OP_SELL)
      {     
      OrderClose(numm,Lots,Ask,slippage,Red);
      }
        
      if((MA2<MA1)&&(Close[0]<MA2) && OrderType()==OP_BUY)
      {
      OrderClose(numm,Lots,Bid,slippage,Red);
      }
    }
 

Смысл данной стратегии в правильном входе на минимуме и правильном выходе на максимуме. Тоесть тяжолые мувинги используются к примеру 144 и 200.

за год должно быть не больше 30 сделок но с мат ожиданием 700-1200 пунктов.

 

А мне нравится, правда пару косяков нашел всё таки =))

1) Первый ордер всегда убыточный. При старте тестирования советник сразу же открывает ордер, это не верно, т.е. условие if((MA2>MA1)&&(Close[0]>MA2 )) не верно.

http://s012.radikal.ru/i319/1011/5c/802ed0d4969c.gif

2) Убыточные сделки, впринципе, можно и отфильтровать добавив еще какой нибудь индикатор или еще одну машку.

http://s009.radikal.ru/i309/1011/37/1e38eb313ef0.gif

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

И что что азбучная! Человек тренируется и показывает свои результаты! И у него работает

 

Чет у меня ордера не открывает в чем подвох??? а так, тестер хорошо работает, а в торговле не открывает. что не так?

Самое интересное, что я тоже писал нечто подобное, зашел посмотреть какой-нибудь пример и увидел этот советник. порадовался. Проверил, работает без ошибок. 

ТОЛЬКО НЕ ТОРГУЕТ В РЕАЛЕ!!! Почему???

 
mader:

Чет у меня ордера не открывает в чем подвох??? а так, тестер хорошо работает, а в торговле не открывает. что не так?

Самое интересное, что я тоже писал нечто подобное, зашел посмотреть какой-нибудь пример и увидел этот советник. порадовался. Проверил, работает без ошибок.

ТОЛЬКО НЕ ТОРГУЕТ В РЕАЛЕ!!! Почему???


Что то вы не так настраиваете !!!...... Медленный мувинг должен быть всегда больше быстрого т е медленный 200 быстрый 66 Если в тестере торгует то и в реале будет торговать !!!! Но я б не советовал ставить советник на реал без тестирования на демо не менее 3 месяцев..........
 
Noterday:

А мне нравится, правда пару косяков нашел всё таки =))

1) Первый ордер всегда убыточный. При старте тестирования советник сразу же открывает ордер, это не верно, т.е. условие if((MA2>MA1)&&(Close[0]>MA2 )) не верно.

http://s012.radikal.ru/i319/1011/5c/802ed0d4969c.gif

2) Убыточные сделки, впринципе, можно и отфильтровать добавив еще какой нибудь индикатор или еще одну машку.

http://s009.radikal.ru/i309/1011/37/1e38eb313ef0.gif

Спасибо !!! Будет время подправлю