Советники: Советник "Пробой дня" - страница 3

 
polsvv:
Почему не работает на 5-ти минутке


Что то Вы делаете не так???
Вот его работа на M5, хотя ему впринципе все равно какой таймфрейм.

 

Спасибо, хорошая вещь!

Чуть-чуть добавил "для себя" распознавание 4 или 5 знаковой системы ДЦ в блоке инициализации. Теперь SL TP Delta нужно вводить как при 4-х значной системе, советник поймет и умножит их на 10 если будет 5-ти знаковая система.

//+------------------------------------------------------------------+
//|Пробой уровня прошлого дня                  BreakdownLevelDay.mq4 |
//|                               Copyright © 2011, Хлыстов Владимир |
//|                                                cmillion@narod.ru |
//+------------------------------------------------------------------+
// параметры TP SL Delta нужно ставить как для 4 знаков: 
// советник правильно распознаёт их и применяет на 5 знаковой системе
#property copyright "Copyright © 2011, http://cmillion.narod.ru"
#property link      "cmillion@narod.ru"
//--------------------------------------------------------------------
extern string TimeSet      = "07:32";  //Время в которое происходит выставление стоп ордеров, если TimeSet = "00:00", то пробой прошлого дня.
extern int    Delta        = 6,        //Выше или ниже екстремумов дня
              SL           = 120,      //Стоплосс в пунктах
              TP           = 90,       //Тейкпрофит в пунктах
              risk         = 0,        //Если 0 то по фиксированному лоту
              NoLoss       = 0,        //Если 0 то нет установки безубытка
              trailing     = 0;        //Если 0 то нет трейлинга
extern double Lot          = 0.10;     //используется только при risk = 0
extern bool   OpenStop     = true;     //Выставлять стоп ордера при открытом ордере
extern color  color_BAR    = DarkBlue; //цвет инфо
int           nn           = 1;        //множитель, учитывающий 4 или 5 знаков
//--------------------------------------------------------------------
double        MaxPrice,MinPrice;
int           STOPLEVEL,magic=123321,tip,TimeBarBay,TimeBarSell,LastDay;
//--------------------------------------------------------------------
int init()
{
   if(Digits==3 || Digits==5) nn=10;
   TP     = TP     * nn; 
   SL     = SL     * nn; 
   Delta  = Delta  * nn; 
   NoLoss = NoLoss * nn; 
   trailing = trailing * nn; 
   
   STOPLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL);
   if (SL < STOPLEVEL) SL = STOPLEVEL;
   if (TP < STOPLEVEL) TP = STOPLEVEL;
   if (NoLoss   < STOPLEVEL && NoLoss   != 0) NoLoss   = STOPLEVEL;
   if (trailing < STOPLEVEL && trailing != 0) trailing = STOPLEVEL;
   Comment("Copyright © 2011 cmillion@narod.ru\nУстановленные параметры BreakdownLevelDay "+"\n"+
      "TimeSet   "   , TimeSet,           "\n",
      "Delta       " , Delta,             "\n",
      "SL           ", SL,                "\n",
      "TP          " , TP,                "\n",
      "Lot          ", DoubleToStr(Lot,2),"\n",
      "risk         ", risk,              "\n",
      "NoLoss    "   , NoLoss,            "\n",
      "trailing     ", trailing);
   if (TimeSet=="00:00") LastDay=1;
}
//--------------------------------------------------------------------
int start()
{
   if (OpenStop) magic=TimeDay(CurTime());
   if (!IsDemo()) {Comment("Демо версия, обратитесь cmillion@narod.ru для разблокировки");return;}
   //-----------------------------------------------------------------
   int bay,sel,error;
   bool BUY=false,SEL=false;
   for (int i=0; i<OrdersTotal(); i++)
   {  if (OrderSelect(i, SELECT_BY_POS)==true)
      {  
         if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic) continue;
         tip=OrderType();
         if (tip==0) BUY = true;
         if (tip==1) SEL = true;
         if (tip==4) bay++;
         if (tip==5) sel++;
      }   
   }
   if ((BUY||SEL)&&(bay!=0||sel!=0)) DelAllStop();          //если есть открытый ордер удаляем стоп ордера
   if ( BUY||SEL) 
   {
      if (trailing!=0) TrailingStop(trailing);
      if (NoLoss!=0) No_Loss(NoLoss);
      return;                                               //если есть открытый ордер
   }
   if (TimeStr(CurTime())!=TimeSet) return;                //если время не совпадает с временем выставления ордеров
   
   int expiration=CurTime()+(23-TimeHour(CurTime()))*3600+(60-TimeMinute(CurTime()))*60;  //время закрытия стоп ордера
   double TrPr,StLo;
   if (risk!=0) Lot = LOT(); 
   if (bay<1&&TimeBarBay!=TimeDay(CurTime()))
   {
      MaxPrice=iHigh(NULL,1440,LastDay)+NormalizeDouble(Delta*Point,Digits);
      if (Ask+STOPLEVEL*Point>MaxPrice) MaxPrice = NormalizeDouble(Ask+STOPLEVEL*Point,Digits);
      if (TP!=0) TrPr = NormalizeDouble(MaxPrice + TP * Point,Digits);                 
      if (SL!=0) StLo = NormalizeDouble(MaxPrice - SL * Point,Digits);                 
      error=OrderSend(Symbol(),OP_BUYSTOP ,Lot,MaxPrice,3,StLo,TrPr,"BUYSTOP BLD",magic,expiration,Blue);
      if (error==-1) Alert("Error BUYSTOP ",GetLastError(),"   ",Symbol(),"   Lot ",Lot,"   Price ",MaxPrice,"   SL ",StLo,"   TP ",TrPr,"   expiration ",expiration);
      else TimeBarBay=TimeDay(CurTime());
   }
   if (sel<1&&TimeBarSell!=TimeDay(CurTime()))
   {
      MinPrice=iLow(NULL,1440,LastDay)-NormalizeDouble(Delta*Point,Digits);
      if (Bid-STOPLEVEL*Point<MinPrice) MinPrice = NormalizeDouble(Bid-STOPLEVEL*Point,Digits);
      if (TP!=0) TrPr = NormalizeDouble(MinPrice - TP * Point,Digits);                 
      if (SL!=0) StLo = NormalizeDouble(MinPrice + SL * Point,Digits);   
      error=OrderSend(Symbol(),OP_SELLSTOP,Lot,MinPrice,3,StLo,TrPr,"SELLSTOP BLD",magic,expiration,Red );
      if (error==-1) Alert("Error SELLSTOP ",GetLastError(),"   ",Symbol(),"   Lot ",Lot,"   Price ",MinPrice,"   SL ",StLo,"   TP ",TrPr,"   expiration ",expiration);
      else TimeBarSell=TimeDay(CurTime());
   }
   if (bay<1&&sel<1)
   {
      ObjectDelete("bar0");
      ObjectCreate("bar0", OBJ_RECTANGLE, 0, 0,0, 0,0);
      ObjectSet   ("bar0", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet   ("bar0", OBJPROP_COLOR, color_BAR);
      ObjectSet   ("bar0", OBJPROP_BACK,  true);
      ObjectSet   ("bar0", OBJPROP_TIME1 ,iTime( NULL, 1440, 0));
      ObjectSet   ("bar0", OBJPROP_PRICE1,MaxPrice);
      ObjectSet   ("bar0", OBJPROP_TIME2 ,CurTime());
      ObjectSet   ("bar0", OBJPROP_PRICE2,MinPrice);
   }
   return(0);
}
//--------------------------------------------------------------------
void DelAllStop()
{
   int tip;
   for (int i=0; i<OrdersTotal(); i++)
   {                                               
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
      {
         if (OrderSymbol()!=Symbol()||OrderMagicNumber()!=magic) continue;
         tip=OrderType();
         if (tip==4||tip==5) OrderDelete(OrderTicket());
      }   
   }
}
//--------------------------------------------------------------------
void TrailingStop(int trailing)
{
   double TrPr,StLo;
   int tip;
   bool error;
   color col;
   for (int i=0; i<OrdersTotal(); i++) 
   {
      if (OrderSelect(i, SELECT_BY_POS)==true)
      {
         tip = OrderType();
         if (tip<2 && OrderSymbol()==Symbol())
         {
            if (OrderMagicNumber()!=magic) continue;
            if (tip==0) //Bay               
            {  
               StLo = Bid - trailing*Point;          
               if (StLo > OrderStopLoss() && StLo > OrderOpenPrice()) 
                  {error=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(StLo,Digits),OrderTakeProfit(),0,White);Comment("Трейлинг "+OrderTicket());Sleep(500);}
            }                                         
            if (tip==1) //Sell               
            {                                         
               StLo = Ask + trailing*Point;            
               if (StLo < OrderStopLoss() && StLo < OrderOpenPrice()) 
                  {error=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(StLo,Digits),OrderTakeProfit(),0,White);Comment("Трейлинг "+OrderTicket());Sleep(500);}
            } 
            if (error==false && SL!=0) Alert("Error SELLSTOP ",GetLastError(),"   ",Symbol(),"   SL ",StLo);
         }//tip<2
      }//OrderSelect
   }//for
}
//------------------------------------------------------------------+
double LOT()
{
   double MINLOT = MarketInfo(Symbol(),MODE_MINLOT);
   double LOT = AccountFreeMargin()*risk/100/MarketInfo(Symbol(),MODE_MARGINREQUIRED)/15;
   if (LOT>MarketInfo(Symbol(),MODE_MAXLOT)) LOT = MarketInfo(Symbol(),MODE_MAXLOT);
   if (LOT<MINLOT) LOT = MINLOT;
   if (MINLOT<0.1) LOT = NormalizeDouble(LOT,2); else LOT = NormalizeDouble(LOT,1);
   return(LOT);
}
//------------------------------------------------------------------+
void No_Loss(int NoLoss)
{
   double TrPr,StLo;
   int tip;
   bool error;
   color col;
   for (int i=0; i<OrdersTotal(); i++) 
   {
      if (OrderSelect(i, SELECT_BY_POS)==true)
      {
         tip = OrderType();
         if (tip<2 && OrderSymbol()==Symbol())
         {
            if (OrderMagicNumber()!=magic) continue;
            if (tip==0) //Bay               
            {  
               if (OrderStopLoss()>=OrderOpenPrice()) return;
               StLo = Bid - NoLoss*Point;          
               if (StLo > OrderStopLoss() && StLo > OrderOpenPrice()) 
                  {error=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(StLo,Digits),OrderTakeProfit(),0,White);Comment("Трейлинг "+OrderTicket());Sleep(500);}
            }                                         
            if (tip==1) //Sell               
            {                                         
               if (OrderStopLoss()<=OrderOpenPrice()) return;
               StLo = Ask + NoLoss*Point;            
               if (StLo < OrderStopLoss() && StLo < OrderOpenPrice()) 
                  {error=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(StLo,Digits),OrderTakeProfit(),0,White);Comment("Трейлинг "+OrderTicket());Sleep(500);}
            } 
            if (error==false && SL!=0) Alert("Error SELLSTOP ",GetLastError(),"   ",Symbol(),"   SL ",StLo);
         }//tip<2
      }//OrderSelect
   }//for
}
//------------------------------------------------------------------+
string TimeStr(int taim)
{
   string sTaim;
   int HH=TimeHour(taim);     // Hour                  
   int MM=TimeMinute(taim);   // Minute   
   if (HH<10) sTaim = StringConcatenate(sTaim,"0",DoubleToStr(HH,0));
   else       sTaim = StringConcatenate(sTaim,DoubleToStr(HH,0));
   if (MM<10) sTaim = StringConcatenate(sTaim,":0",DoubleToStr(MM,0));
   else       sTaim = StringConcatenate(sTaim,":",DoubleToStr(MM,0));
   return(sTaim);
}
//--------------------------------------------------------------------
 
http://fxmts.net/files/ - советник Войтенко - очень похоже
 
lukas1:

Спасибо, хорошая вещь!

Чуть-чуть добавил "для себя" распознавание 4 или 5 знаковой системы ДЦ в блоке инициализации. Теперь SL TP Delta нужно вводить как при 4-х значной системе, советник поймет и умножит их на 10 если будет 5-ти знаковая система.

//+------------------------------------------------------------------+
//|Пробой уровня прошлого дня                  BreakdownLevelDay.mq4 |
//|                               Copyright © 2011, Хлыстов Владимир |
//|                                                cmillion@narod.ru |
//+------------------------------------------------------------------+
// параметры TP SL Delta нужно ставить как для 4 знаков: 
// советник правильно распознаёт их и применяет на 5 знаковой системе
#property copyright "Copyright © 2011, http://cmillion.narod.ru"
#property link      "cmillion@narod.ru"
//--------------------------------------------------------------------
extern string TimeSet      = "07:32";  //Время в которое происходит выставление стоп ордеров, если TimeSet = "00:00", то пробой прошлого дня.
extern int    Delta        = 6,        //Выше или ниже екстремумов дня
              SL           = 120,      //Стоплосс в пунктах
              TP           = 90,       //Тейкпрофит в пунктах
              risk         = 0,        //Если 0 то по фиксированному лоту
              NoLoss       = 0,        //Если 0 то нет установки безубытка
              trailing     = 0;        //Если 0 то нет трейлинга
extern double Lot          = 0.10;     //используется только при risk = 0
extern bool   OpenStop     = true;     //Выставлять стоп ордера при открытом ордере
extern color  color_BAR    = DarkBlue; //цвет инфо
int           nn           = 1;        //множитель, учитывающий 4 или 5 знаков
//--------------------------------------------------------------------
double        MaxPrice,MinPrice;
int           STOPLEVEL,magic=123321,tip,TimeBarBay,TimeBarSell,LastDay;
//--------------------------------------------------------------------
int init()
{
   if(Digits==3 || Digits==5) nn=10;
   TP     = TP     * nn; 
   SL     = SL     * nn; 
   Delta  = Delta  * nn; 
   NoLoss = NoLoss * nn; 
   trailing = trailing * nn; 
   
   STOPLEVEL = MarketInfo(Symbol(),MODE_STOPLEVEL);
   if (SL < STOPLEVEL) SL = STOPLEVEL;
   if (TP < STOPLEVEL) TP = STOPLEVEL;
   if (NoLoss   < STOPLEVEL && NoLoss   != 0) NoLoss   = STOPLEVEL;
   if (trailing < STOPLEVEL && trailing != 0) trailing = STOPLEVEL;
   Comment("Copyright © 2011 cmillion@narod.ru\nУстановленные параметры BreakdownLevelDay "+"\n"+
      "TimeSet   "   , TimeSet,           "\n",
      "Delta       " , Delta,             "\n",
      "SL           ", SL,                "\n",
      "TP          " , TP,                "\n",
      "Lot          ", DoubleToStr(Lot,2),"\n",
      "risk         ", risk,              "\n",
      "NoLoss    "   , NoLoss,            "\n",
      "trailing     ", trailing);
   if (TimeSet=="00:00") LastDay=1;
}
//--------------------------------------------------------------------
int start()
{
   if (OpenStop) magic=TimeDay(CurTime());
   if (!IsDemo()) {Comment("Демо версия, обратитесь cmillion@narod.ru для разблокировки");return;}
   //-----------------------------------------------------------------
   int bay,sel,error;
   bool BUY=false,SEL=false;
   for (int i=0; i<OrdersTotal(); i++)
   {  if (OrderSelect(i, SELECT_BY_POS)==true)
      {  
         if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic) continue;
         tip=OrderType();
         if (tip==0) BUY = true;
         if (tip==1) SEL = true;
         if (tip==4) bay++;
         if (tip==5) sel++;
      }   
   }
   if ((BUY||SEL)&&(bay!=0||sel!=0)) DelAllStop();          //если есть открытый ордер удаляем стоп ордера
   if ( BUY||SEL) 
   {
      if (trailing!=0) TrailingStop(trailing);
      if (NoLoss!=0) No_Loss(NoLoss);
      return;                                               //если есть открытый ордер
   }
   if (TimeStr(CurTime())!=TimeSet) return;                //если время не совпадает с временем выставления ордеров
   
   int expiration=CurTime()+(23-TimeHour(CurTime()))*3600+(60-TimeMinute(CurTime()))*60;  //время закрытия стоп ордера
   double TrPr,StLo;
   if (risk!=0) Lot = LOT(); 
   if (bay<1&&TimeBarBay!=TimeDay(CurTime()))
   {
      MaxPrice=iHigh(NULL,1440,LastDay)+NormalizeDouble(Delta*Point,Digits);
      if (Ask+STOPLEVEL*Point>MaxPrice) MaxPrice = NormalizeDouble(Ask+STOPLEVEL*Point,Digits);
      if (TP!=0) TrPr = NormalizeDouble(MaxPrice + TP * Point,Digits);                 
      if (SL!=0) StLo = NormalizeDouble(MaxPrice - SL * Point,Digits);                 
      error=OrderSend(Symbol(),OP_BUYSTOP ,Lot,MaxPrice,3,StLo,TrPr,"BUYSTOP BLD",magic,expiration,Blue);
      if (error==-1) Alert("Error BUYSTOP ",GetLastError(),"   ",Symbol(),"   Lot ",Lot,"   Price ",MaxPrice,"   SL ",StLo,"   TP ",TrPr,"   expiration ",expiration);
      else TimeBarBay=TimeDay(CurTime());
   }
   if (sel<1&&TimeBarSell!=TimeDay(CurTime()))
   {
      MinPrice=iLow(NULL,1440,LastDay)-NormalizeDouble(Delta*Point,Digits);
      if (Bid-STOPLEVEL*Point<MinPrice) MinPrice = NormalizeDouble(Bid-STOPLEVEL*Point,Digits);
      if (TP!=0) TrPr = NormalizeDouble(MinPrice - TP * Point,Digits);                 
      if (SL!=0) StLo = NormalizeDouble(MinPrice + SL * Point,Digits);   
      error=OrderSend(Symbol(),OP_SELLSTOP,Lot,MinPrice,3,StLo,TrPr,"SELLSTOP BLD",magic,expiration,Red );
      if (error==-1) Alert("Error SELLSTOP ",GetLastError(),"   ",Symbol(),"   Lot ",Lot,"   Price ",MinPrice,"   SL ",StLo,"   TP ",TrPr,"   expiration ",expiration);
      else TimeBarSell=TimeDay(CurTime());
   }
   if (bay<1&&sel<1)
   {
      ObjectDelete("bar0");
      ObjectCreate("bar0", OBJ_RECTANGLE, 0, 0,0, 0,0);
      ObjectSet   ("bar0", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet   ("bar0", OBJPROP_COLOR, color_BAR);
      ObjectSet   ("bar0", OBJPROP_BACK,  true);
      ObjectSet   ("bar0", OBJPROP_TIME1 ,iTime( NULL, 1440, 0));
      ObjectSet   ("bar0", OBJPROP_PRICE1,MaxPrice);
      ObjectSet   ("bar0", OBJPROP_TIME2 ,CurTime());
      ObjectSet   ("bar0", OBJPROP_PRICE2,MinPrice);
   }
   return(0);
}
//--------------------------------------------------------------------
void DelAllStop()
{
   int tip;
   for (int i=0; i<OrdersTotal(); i++)
   {                                               
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
      {
         if (OrderSymbol()!=Symbol()||OrderMagicNumber()!=magic) continue;
         tip=OrderType();
         if (tip==4||tip==5) OrderDelete(OrderTicket());
      }   
   }
}
//--------------------------------------------------------------------
void TrailingStop(int trailing)
{
   double TrPr,StLo;
   int tip;
   bool error;
   color col;
   for (int i=0; i<OrdersTotal(); i++) 
   {
      if (OrderSelect(i, SELECT_BY_POS)==true)
      {
         tip = OrderType();
         if (tip<2 && OrderSymbol()==Symbol())
         {
            if (OrderMagicNumber()!=magic) continue;
            if (tip==0) //Bay               
            {  
               StLo = Bid - trailing*Point;          
               if (StLo > OrderStopLoss() && StLo > OrderOpenPrice()) 
                  {error=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(StLo,Digits),OrderTakeProfit(),0,White);Comment("Трейлинг "+OrderTicket());Sleep(500);}
            }                                         
            if (tip==1) //Sell               
            {                                         
               StLo = Ask + trailing*Point;            
               if (StLo < OrderStopLoss() && StLo < OrderOpenPrice()) 
                  {error=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(StLo,Digits),OrderTakeProfit(),0,White);Comment("Трейлинг "+OrderTicket());Sleep(500);}
            } 
            if (error==false && SL!=0) Alert("Error SELLSTOP ",GetLastError(),"   ",Symbol(),"   SL ",StLo);
         }//tip<2
      }//OrderSelect
   }//for
}
//------------------------------------------------------------------+
double LOT()
{
   double MINLOT = MarketInfo(Symbol(),MODE_MINLOT);
   double LOT = AccountFreeMargin()*risk/100/MarketInfo(Symbol(),MODE_MARGINREQUIRED)/15;
   if (LOT>MarketInfo(Symbol(),MODE_MAXLOT)) LOT = MarketInfo(Symbol(),MODE_MAXLOT);
   if (LOT<MINLOT) LOT = MINLOT;
   if (MINLOT<0.1) LOT = NormalizeDouble(LOT,2); else LOT = NormalizeDouble(LOT,1);
   return(LOT);
}
//------------------------------------------------------------------+
void No_Loss(int NoLoss)
{
   double TrPr,StLo;
   int tip;
   bool error;
   color col;
   for (int i=0; i<OrdersTotal(); i++) 
   {
      if (OrderSelect(i, SELECT_BY_POS)==true)
      {
         tip = OrderType();
         if (tip<2 && OrderSymbol()==Symbol())
         {
            if (OrderMagicNumber()!=magic) continue;
            if (tip==0) //Bay               
            {  
               if (OrderStopLoss()>=OrderOpenPrice()) return;
               StLo = Bid - NoLoss*Point;          
               if (StLo > OrderStopLoss() && StLo > OrderOpenPrice()) 
                  {error=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(StLo,Digits),OrderTakeProfit(),0,White);Comment("Трейлинг "+OrderTicket());Sleep(500);}
            }                                         
            if (tip==1) //Sell               
            {                                         
               if (OrderStopLoss()<=OrderOpenPrice()) return;
               StLo = Ask + NoLoss*Point;            
               if (StLo < OrderStopLoss() && StLo < OrderOpenPrice()) 
                  {error=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(StLo,Digits),OrderTakeProfit(),0,White);Comment("Трейлинг "+OrderTicket());Sleep(500);}
            } 
            if (error==false && SL!=0) Alert("Error SELLSTOP ",GetLastError(),"   ",Symbol(),"   SL ",StLo);
         }//tip<2
      }//OrderSelect
   }//for
}
//------------------------------------------------------------------+
string TimeStr(int taim)
{
   string sTaim;
   int HH=TimeHour(taim);     // Hour                  
   int MM=TimeMinute(taim);   // Minute   
   if (HH<10) sTaim = StringConcatenate(sTaim,"0",DoubleToStr(HH,0));
   else       sTaim = StringConcatenate(sTaim,DoubleToStr(HH,0));
   if (MM<10) sTaim = StringConcatenate(sTaim,":0",DoubleToStr(MM,0));
   else       sTaim = StringConcatenate(sTaim,":",DoubleToStr(MM,0));
   return(sTaim);
}
//--------------------------------------------------------------------
При компиляции на "Броко" выдает 36 ошибок
 
зачетный советнег
 
ZZZEROXXX:
зачетный советнег


Спасибо, надеюсь Вам понравятся и другие мои работы

 

Очень понравился Ваш советник, но столкнулся с одной проблемой, которую не могу решить....

00:02:35 BreakdownLevelDay EURUSD,M5: open #1204182533 buy stop 0.01 EURUSD at 1.39768 sl: 1.38568 tp: 1.40668 ok
00:02:35 BreakdownLevelDay EURUSD,M5: open #1204182550 sell stop 0.01 EURUSD at 1.38289 sl: 1.39489 tp: 1.37389 ok
11:43:55 BreakdownLevelDay EURUSD,M5: delete #1204182550 sell stop 0.01 EURUSD at 1.38289 sl: 1.39489 tp: 1.37389 ok
11:43:55 BreakdownLevelDay EURUSD,M5: Alert: Error SELLSTOP 0 EURUSD SL 1.3936
11:43:55 BreakdownLevelDay EURUSD,M5: Alert: Error SELLSTOP 0 EURUSD SL 1.3935

Это при установки ещё trailing а без него (0) всё работает отлично...

Что может быть ?

 
57-miracle:

Очень понравился Ваш советник, но столкнулся с одной проблемой, которую не могу решить....

00:02:35 BreakdownLevelDay EURUSD,M5: open #1204182533 buy stop 0.01 EURUSD at 1.39768 sl: 1.38568 tp: 1.40668 ok
00:02:35 BreakdownLevelDay EURUSD,M5: open #1204182550 sell stop 0.01 EURUSD at 1.38289 sl: 1.39489 tp: 1.37389 ok
11:43:55 BreakdownLevelDay EURUSD,M5: delete #1204182550 sell stop 0.01 EURUSD at 1.38289 sl: 1.39489 tp: 1.37389 ok
11:43:55 BreakdownLevelDay EURUSD,M5: Alert: Error SELLSTOP 0 EURUSD SL 1.3936
11:43:55 BreakdownLevelDay EURUSD,M5: Alert: Error SELLSTOP 0 EURUSD SL 1.3935

Это при установки ещё trailing а без него (0) всё работает отлично...

Что может быть ?



Да в советнике появляется ошибка 0, когда трейлинг пытается перенести стоплосс на тот же уровень. Я обновил программу, здесь она появится после проверки модератором, а пока Вы можете ее скачать здесь:

https://www.mql5.com/ru/users/cmillion

Зарегистрироваться в форуме Вы можете по моей ссылке: https://www.mql5.com/ru/users/cmillion

 

Добрый день! Хотел бы приложить свой отчет. Сейчас не могу определиться по следующей причине: первоначальные прогоны на домашнем ноуте показали неплохие результаты, а на другой компе результат прямо противоположный, отчет прилагаю. Хотелось бы услышать комментарии автора по данным результатам. Отчет сформирован за 2 года по текущую дату.

Strategy Tester Report
BreakdownLevelDay
InstaForex-Europe.com (Build 388)

СимволEURUSD (Euro vs US Dollar)
ПериодДень (D1) 2009.01.02 00:00 - 2010.12.30 00:00 (2009.01.01 - 2010.12.31)
МодельВсе тики (наиболее точный метод на основе всех наименьших доступных таймфреймов)
ПараметрыTimeSet="07:32"; Delta=6; SL=120; TP=90; risk=0; NoLoss=0; trailing=0; Lot=0.01; OpenStop=true; color_BAR=DarkBlue;

Баров в истории1448Смоделировано тиков20711899Качество моделирования90.00%
Ошибки рассогласования графиков0




Начальный депозит1000.00



Чистая прибыль-6.87Общая прибыль19.53Общий убыток-26.40
Прибыльность0.74Матожидание выигрыша-0.02

Абсолютная просадка7.57Максимальная просадка7.63 (0.76%)Относительная просадка0.76% (7.63)

Всего сделок437Короткие позиции (% выигравших)196 (46.94%)Длинные позиции (% выигравших)241 (51.87%)

Прибыльные сделки (% от всех)217 (49.66%)Убыточные сделки (% от всех)220 (50.34%)
Самая большаяприбыльная сделка0.09убыточная сделка-0.12
Средняяприбыльная сделка0.09убыточная сделка-0.12
Максимальное количествонепрерывных выигрышей (прибыль)7 (0.63)непрерывных проигрышей (убыток)12 (-1.44)
Максимальнаянепрерывная прибыль (число выигрышей)0.63 (7)непрерывный убыток (число проигрышей)-1.44 (12)
Среднийнепрерывный выигрыш2непрерывный проигрыш2



















































































 
bastada:

Добрый день! Хотел бы приложить свой отчет. Сейчас не могу определиться по следующей причине: первоначальные прогоны на домашнем ноуте показали неплохие результаты, а на другой компе результат прямо противоположный, отчет прилагаю. Хотелось бы услышать комментарии автора по данным результатам. Отчет сформирован за 2 года по текущую дату.

А что тут комментировать, если у Вас на одном компьютере все в порядке, а на другом нет, то просто обновите котировки.
Причина обращения: