Советники: Пипсовщик pips4.0

 

Пипсовщик pips4.0:

Пипсовщик с ненавязчивыми проявлениями мартина, точнее долива в зависшую позицию.

Author: Sergey

 

Вот здесь у Вас ошибочка небольшая

      for (int i=OrdersTotal()-1; i>=0; i--)
      {                                               
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         {
            OMN = OrderMagicNumber();  //  1 - переменная больше нигде не используется 
            if (OrderSymbol() == Symbol()) // 2 - Отсутствует проверка на меджик номер ,  два советника не смогут правильно работать
//Правильнее будет так " if (OrderSymbol() == Symbol() && OrderMagicNumber()==MAGICMA )  "
            {
               OOP = NormalizeDouble(OrderOpenPrice(),Digits);
               OT = OrderType();
               OL = OrderLots();
               if (OT==OP_BUY)
               {
                  price_b = price_b+OOP*OL;
                  b++; LB+= OL;
                  ProfitB+=OrderProfit()+OrderSwap()+OrderCommission();
               }
               if (OT==OP_SELL)
               {
                  price_s = price_s+OOP*OL;
                  s++;LS+= OL;
                  ProfitS+=OrderProfit()+OrderSwap()+OrderCommission();
               }
            }
         }
      }
 
"стейт за 6 недель" - не стейт, а отчет из прогона в тестере, это как палец и морковка примерно)
 

И вот это тоже конечно жесть, модификация на каждом изменении цены на 0,00001 пипс.

 
marker:


И вот это тоже конечно жесть, модификация на каждом изменении цены на 0,00001 пипс.


Для новичка очень даже не плохо !
 
Сергей, я написал Вам в личку, посмотрите.
 
VOLDEMAR:

Вот здесь у Вас ошибочка небольшая

//Правильнее будет так " if (OrderSymbol() == Symbol() && OrderMagicNumber()==MAGICMA )  "

Если честно этот участок кода не мой, это тралл от KimIV :-) я его даже не смотрел, т.к. он работал без заморочек.

 
marker:

И вот это тоже конечно жесть, модификация на каждом изменении цены на 0,00001 пипс.


Ну это наверное можно решить изменив параметр StepTrall = 0 (например на 10) будет 1 pt на 5-и знаке

 
Очень смешной советник,жёстко торгует против тренда и то раз в пятилетку. :-)
 

а не подскажете смысл условия в этой строке?

         if(0==1) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);

и еще я не поняла вот эту строчку:

                     if (StLo>=NLb && NLb!=0) if (StLo >OrderStopLoss()) SL = StLo;
как-то два условия подряд безо всяких разделений.. это так можно писать? и что там к чему относится? извините, я начинающая в программировании на мкл-е, просто пытаюсь разобраться.. наверное надо было задать этот вопрос в ветке для новичков но код ваш так что у вас и спрашиваю)) спасибо
 

Эти условия:

// условия
  //BUY  
if (valsar1<Ask && osma0>osma1 && osma1>osma2 && osma1>0  && osma2<0 && Volume[1]>VolumeFiltr) buys=1; buys2=1;
  //SELL  
if (valsar1>Bid && osma1>osma0 && osma2>osma1 && osma1<0  && osma2>0  && Volume[1]>VolumeFiltr) sells=1; sells2=1;

предполагают, что доливка происходит ПОЛЮБОМУ, так как byus2 = 1 и sells2 = 1 ВСЕГДА. А стилистически здесь просятся скобки {}:

// условия
  //BUY
if (valsar1<Ask && osma0>osma1 && osma1>osma2 && osma1>0  && osma2<0 && Volume[1]>VolumeFiltr) {buys=1; buys2=1;}
  //SELL
if (valsar1>Bid && osma1>osma0 && osma2>osma1 && osma1<0  && osma2>0  && Volume[1]>VolumeFiltr) {sells=1; sells2=1;}

если так не задумано стратегически (шоб нихто не дагадался)... :)