Скачать MetaTrader 5

Build 188

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
В сервисе Фриланс участвуют тысячи разработчиков. Присоединяйся!
Forex Trader
114257
Forex Trader 2006.01.18 14:07 
1.
Тестер стал работать значильно быстрее. Дохлая стратегия вдруг стала показывать нереальную прибыль, в режиме все тики и на 1М. На длинных свечах (быстрых движениях)
после достижения ТП вновь открытие по цене предыдущей и вновь ТП , такой пулемет молотит до 30-40 раз пока не съедет сам "Слип" проблемы не решает...

2. Перестали корректно работать все индикаторы ипользующие функцию iCustom(...),
Мувинги превращаются в вертикальные цветные полосы...

3. Замечательное сообщение "Извените за ошибку" появлялось 6 раз за день, при этом сносило установленные ордера. Все ошибки были по памяти отсыл на не существующий адрес..
MetaQuotes Software Corp.
Модератор
181212
MetaQuotes Software Corp. 2006.01.18 15:21  
Приведите, пожалуйста, полный код эксперта, на котором происходит падение?
Forex Trader
114257
Forex Trader 2006.01.18 15:57  
Не понял связи, имеется ввиду упал терминал и снес ждущий ордер, так он был выставлен вручную а не экспертом, эксперты весь день не работали, только тестил...
Болеее важен для меня вопрос индикаторов, они все крякнулись, а я им только недавно присвоил имя Бэст...
Привожу тексты индикатора-
//+------------------------------------------------------------------+
//|                                            Best_Mov_Weer_Uni.mq4 |
//|             Copyright © 2005, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property indicator_chart_window
//#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 White
#property indicator_color2 Red
#property indicator_color3 Lime
#property indicator_color4 Chocolate
#property indicator_color5 Blue
//#property indicator_color6 Gainsboro
//#property indicator_color7 Gainsboro
//#property indicator_color8 Gainsboro
//----------------------
extern int PeriodM1=8;
extern int PeriodM2=22;
extern int PeriodM3=55;
extern int PeriodM4=89;
extern int PeriodM5=233;
//--------------------
double ka[],ka2[],ka3[],ka4[],ka5[],buf1[];
//********************************************************
int init(){
IndicatorBuffers(6);
SetIndexBuffer(0,ka);
SetIndexStyle(0,DRAW_LINE,2,1);
SetIndexLabel(0,"EMA 1");
SetIndexBuffer(1,ka2);
SetIndexStyle(1,DRAW_LINE,2,1);
SetIndexLabel(1,"EMA 2");
SetIndexBuffer(2,ka3);
SetIndexStyle(2,DRAW_LINE,2,1);
SetIndexLabel(2,"EMA 3");
SetIndexBuffer(3,ka4);
SetIndexStyle(3,DRAW_LINE,2,1);
SetIndexLabel(3,"EMA 4");
SetIndexBuffer(4,ka5);
SetIndexStyle(4,DRAW_LINE,2,1);
SetIndexLabel(4,"EMA 5");
SetIndexBuffer(5,buf1);
SetIndexStyle(5,DRAW_NONE);
//SetIndexEmptyValue(5,0.0);
//SetIndexBuffer(5,ka6);
//SetIndexBuffer(6,ka7);
//SetIndexBuffer(7,buf1);
//SetIndexStyle(7,DRAW_NONE);
//SetIndexLabel(7,"0");
return(0);}
//********************************************************
int start() {
int i,cb;
int f;
//f=Hours*60/Period(); 
cb=Bars-IndicatorCounted()-1;
//------------------------------------------------------------------------------------------------------------------------------
for(i=cb; i>=0; i--) 
{ buf1[i]=iCustom(NULL,0,"FClose",0,i);
}
for(i=cb; i>=0; i--) { 
ka[i]=iMAOnArray(buf1,0,3,0,MODE_EMA,i);
ka2[i]=iMAOnArray(buf1,0,13,0,MODE_EMA,i);
ka3[i]=iMAOnArray(buf1,0,55,0,MODE_EMA,i);
ka4[i]=iMAOnArray(buf1,0,89,0,MODE_EMA,i);
ka5[i]=iMAOnArray(buf1,0,233,0,MODE_EMA,i);
//ka6[i]=iMAOnArray(buf1,0,22,0,MODE_EMA,i);
//ka7[i]=iMAOnArray(buf1,0,22,0,MODE_EMA,i);
}
return(0);}
//end;


/+------------------------------------------------------------------+
//|                                                       FClose.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue
extern int CountBars=70;
//---- buffers
double UPBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(1);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,UPBuffer);
//   SetIndexStyle(1,DRAW_ARROW);
//   SetIndexArrow(1,242);
//   SetIndexBuffer(1,DownBuffer);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| FATLs                                                            |
//+------------------------------------------------------------------+
int start()
  {
   SetIndexDrawBegin(0,Bars-CountBars+38);
  // SetIndexDrawBegin(1,Bars-CountBars+38);
   int i,counted_bars=IndicatorCounted();
   double val1, val2, i1;
   bool trend,old;
//----
   if(Bars<=38) return(0);
//---- initial zero
   if(counted_bars<38)
   {
   for(i=1;i<=0;i++) UPBuffer[CountBars-i]=0.0;
     }
//----
   i=CountBars-38-1;
//   if(counted_bars>=38) i=Bars-counted_bars-1;
   while(i>=0)
     {
      UPBuffer[i]=
0.4360409450*Close[i+0]
+0.3658689069*Close[i+1]
+0.2460452079*Close[i+2]
+0.1104506886*Close[i+3]
-0.0054034585*Close[i+4]
-0.0760367731*Close[i+5]
-0.0933058722*Close[i+6]
-0.0670110374*Close[i+7]
-0.0190795053*Close[i+8]
+0.0259609206*Close[i+9]
+0.0502044896*Close[i+10]
+0.0477818607*Close[i+11]
+0.0249252327*Close[i+12]
-0.0047706151*Close[i+13]
-0.0272432537*Close[i+14]
-0.0338917071*Close[i+15]
-0.0244141482*Close[i+16]
-0.0055774838*Close[i+17]
+0.0128149838*Close[i+18]
+0.0226522218*Close[i+19]
+0.0208778257*Close[i+20]
+0.0100299086*Close[i+21]
-0.0036771622*Close[i+22]
-0.0136744850*Close[i+23]
-0.0160483392*Close[i+24]
-0.0108597376*Close[i+25]
-0.0016060704*Close[i+26]
+0.0069480557*Close[i+27]
+0.0110573605*Close[i+28]
+0.0095711419*Close[i+29]
+0.0040444064*Close[i+30]
-0.0023824623*Close[i+31]
-0.0067093714*Close[i+32]
-0.0072003400*Close[i+33]
-0.0047717710*Close[i+34]
+0.0005541115*Close[i+35]
+0.0007860160*Close[i+36]
+0.0130129076*Close[i+37]
+0.0040364019*Close[i+38];


      i--;
     }
   return(0);
  }
//+------------------------------------------------------------------+




??????

Forex Trader
114257
Forex Trader 2006.01.18 16:09  
Нам необходимо понять причину Ваших крешей. Для этого нам необходимо воспроизвести Вашу ситуацию. Поэтому мы и спрашиваем про эксперты. Если Вы запустите только вышеприведённе индикаторы, то у Вас случится креш?
Forex Trader
114257
Forex Trader 2006.01.18 16:30  
Нет данный индикатор не приводит к крэшу, терминал его криво рисует, т.е. вообще не понятно, что рисует. Крэш происходил по- моему случайно, один раз после сообщения винд. о не хватке памяти, сразу терминал слетел, один раз при тестировании эксперта, какого не помню, тот который строчит профитом не приводит к крэшу.
Один раз снесло отложенный, в другие не трогало. Всего шесть раз. На работе стоит Винд2000, дома ХР.стояли советники по всем валютам, крэшей не было, В188 и там и там...
Forex Trader
114257
Forex Trader 2006.01.18 16:40  
Есть подозрение, что именно функция iCustom может приводить к делению на 0 если используется в эксперте, в Делфи такая ошибка при обращении к несуществующему индексу.
Пока ничего не делаю стоят два одера и все, крэшей не было, может найти эксперт со встроенной функциеей и погонять его в разных режимах?
Forex Trader
114257
Forex Trader 2006.01.18 17:15  
Сейчас запустил Ваш best индикатор на 186 билде от 10 ноября. Получил описываемые Вами вертикальные линии с бешеными значениями. Буду разбираться.
Forex Trader
114257
Forex Trader 2006.01.18 19:13  
Вскрытие показало, что в расчётах скользящих вовсю используются так называемые "пустые значения", которые по умолчанию ненулевые.
В функцию init индикатора FClose я вставил строчку
   SetIndexEmptyValue(0,0.0);


Ваш best индикатор я тоже слегка поправил. Выкладываю полную версию

//+------------------------------------------------------------------+
//|                                            Best_Mov_Weer_Uni.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property indicator_chart_window
//#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 White
#property indicator_color2 Red
#property indicator_color3 Lime
#property indicator_color4 Chocolate
#property indicator_color5 Blue
//#property indicator_color6 Gainsboro
//#property indicator_color7 Gainsboro
//#property indicator_color8 Gainsboro
//----------------------
extern int PeriodM1=8;
extern int PeriodM2=22;
extern int PeriodM3=55;
extern int PeriodM4=89;
extern int PeriodM5=233;
//--------------------
double ka[],ka2[],ka3[],ka4[],ka5[],buf1[];
//********************************************************
int init()
  {
   IndicatorBuffers(6);
   SetIndexBuffer(0,ka);
   SetIndexStyle(0,DRAW_LINE,2,1);
   SetIndexLabel(0,"EMA 1");
   SetIndexEmptyValue(0,0.0);
   SetIndexBuffer(1,ka2);
   SetIndexStyle(1,DRAW_LINE,2,1);
   SetIndexLabel(1,"EMA 2");
   SetIndexEmptyValue(1,0.0);
   SetIndexBuffer(2,ka3);
   SetIndexStyle(2,DRAW_LINE,2,1);
   SetIndexLabel(2,"EMA 3");
   SetIndexEmptyValue(2,0.0);
   SetIndexBuffer(3,ka4);
   SetIndexStyle(3,DRAW_LINE,2,1);
   SetIndexLabel(3,"EMA 4");
   SetIndexEmptyValue(3,0.0);
   SetIndexBuffer(4,ka5);
   SetIndexStyle(4,DRAW_LINE,2,1);
   SetIndexLabel(4,"EMA 5");
   SetIndexEmptyValue(4,0.0);
   SetIndexBuffer(5,buf1);
   SetIndexStyle(5,DRAW_NONE);
   SetIndexEmptyValue(5,0.0);
   //SetIndexBuffer(5,ka6);
   //SetIndexBuffer(6,ka7);
   //SetIndexBuffer(7,buf1);
   //SetIndexStyle(7,DRAW_NONE);
   //SetIndexLabel(7,"0");
   return(0);
  }
//********************************************************
int start()
  {
   int i,cb;
   int f;
   //f=Hours*60/Period(); 
   cb=Bars-IndicatorCounted()-1;
   //--------------------------------------------------------
   for(i=cb; i>=0; i--) 
     {
      buf1[i]=iCustom(NULL,0,"FClose",Bars,0,i);
     }
   for(i=cb; i>=0; i--)
     { 
      ka[i]=iMAOnArray(buf1,0,3,0,MODE_EMA,i);
      ka2[i]=iMAOnArray(buf1,0,13,0,MODE_EMA,i);
      ka3[i]=iMAOnArray(buf1,0,55,0,MODE_EMA,i);
      ka4[i]=iMAOnArray(buf1,0,89,0,MODE_EMA,i);
      ka5[i]=iMAOnArray(buf1,0,233,0,MODE_EMA,i);
      //ka6[i]=iMAOnArray(buf1,0,22,0,MODE_EMA,i);
      //ka7[i]=iMAOnArray(buf1,0,22,0,MODE_EMA,i);
     }
   return(0);
  }
//end;
//+------------------------------------------------------------------+


Добавил установку "пустых" значений и изменил вызов пользовательского индикатора FClose - умолчательное значение extern int CountBars=70; слишком маленькое для Ваших периодов усреднения.

Forex Trader
114257
Forex Trader 2006.01.19 11:31  
Спасибо за потраченное время, все так, чем строже правила, тем больше доверия к инструменту. Начал полную ревизию накопленного "хабара".
Успехов!
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий