[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 500

 
Надо найти максимум и минимум от заданого времени Time1 до времени Time1+Time2. Time1+Time2 зделано для того, чтобы можно было переходить на другие сутки. Я  код написал такой
extern int     Time1            = 0;      // Start box Time (broker time)
extern int     Time2            = 8;      // Start box plius Time2 hours  (broker time)
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   datetime StartBox,EndBox;
   int      StartBar,EndBar;  
   double   HighBox,LowBox;
   
   StartBox  = StrToTime(Year()+"."+Month()+"."+Day()+" "+Time1+":00"); //time(s)
   Print("    startBox        ",StartBox);
   EndBox    = StartBox+Time2*3600; //time(s)
   Print("    endBox          ",EndBox);
   StartBar  = iBarShift("GBPJPY",240,StartBox,true);
   Print("  startBar        ",StartBar);
   EndBar    = iBarShift("GBPJPY",240,EndBox,true);
   Print("   endBar        ",EndBar);
   HighBox   = High[iHighest("GBPJPY",240,MODE_HIGH,StartBar-EndBar,EndBar+1)];
   Print("HihghBox       ",HighBox);
   LowBox    = Low[iLowest("GBPJPY",240,MODE_LOW,StartBar-EndBar,EndBar+1)];
   Print("LowBox    ",LowBox);
   return(0);
  }
Журнал

2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: LowBox 137.655
2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: HihghBox 138.367
2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: endBar 2
2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: startBar 4

2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: endBox 1269849600
2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: startBox 1269820800

В журнале пишет что искали с четвертого до второго бара. Что означает время 16:43. Это время брокера ? или нужна поправка на GMT ? Почему с четвертого и до второго, если я хотел с 0 часов и до 8 часов. 
Кто может, обьясните мне, пожалуйста. Может возможно код написать по другому .
 
gince писал(а) >>
Надо найти максимум и минимум от заданого времени Time1 до времени Time1+Time2. Time1+Time2 зделано для того, чтобы можно было переходить на другие сутки. Я код написал такой
Журнал

2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: LowBox 137.655
2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: HihghBox 138.367
2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: endBar 2
2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: startBar 4

2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: endBox 1269849600
2010.03.31 10:24:59 2010.03.29 16:43 b GBPJPY,H4: startBox 1269820800

В журнале пишет что искали с четвертого до второго бара. Что означает время 16:43. Это время брокера ? или нужна поправка на GMT ? Почему с четвертого и до второго, если я хотел с 0 часов и до 8 часов.
Кто может, обьясните мне, пожалуйста. Может возможно код написать по другому .


16:43 - терминальное время, время запуска скрипта
Поиск и должен делаться от начала суток до 8 утра, на Н4 это и есть два бара
в 16:43 уже есть полностью сформированные четыре бара Н4 и один формируемый (нулевой)

 
Добрый день.
Хочу еще раз обратиться с вопросом к сообществу по поводу 226 build.
"Может кто нибудь уже спрашивал, но я поискал и не нашел ответ вот на такой вопрос. С понедельника при включении терминала приходит обновление на новый 226 build. Запускаю загрузку, и когда начинаю устанавливать начинает матерится антивирусник. Чтоб не делал все равно не пропускает. Даже если загружаю без антивирусника он потом чикает это обновление. Как справится с этой напастью.
Антивирусник стоит AVG. Все правильно если без антивирусника то все работает, но только подключаешь антивирусник он сразу пишет "Определен вирус Win32/Themida. Обнаружено при открытии" И любые дальнейшие действия приводят только к удалению обновления."
 
gvi2504 писал(а) >>
Добрый день.
Хочу еще раз обратиться с вопросом к сообществу по поводу 226 build.
"Может кто нибудь уже спрашивал, но я поискал и не нашел ответ вот на такой вопрос. С понедельника при включении терминала приходит обновление на новый 226 build. Запускаю загрузку, и когда начинаю устанавливать начинает матерится антивирусник. Чтоб не делал все равно не пропускает. Даже если загружаю без антивирусника он потом чикает это обновление. Как справится с этой напастью.
Антивирусник стоит AVG. Все правильно если без антивирусника то все работает, но только подключаешь антивирусник он сразу пишет "Определен вирус Win32/Themida. Обнаружено при открытии" И любые дальнейшие действия приводят только к удалению обновления."


https://www.mql5.com/ru/forum/120616/page2#209538
но я поискал и не нашел ответ вот на такой вопрос
https://www.mql5.com/ru/search
 

Спасибо конечно, но что делать. Везде одни разговоры, а конкретных предложений нет. Скажите, а можно ли в терминале отключить автоматическое обновление? При запуске приходит предложение для обновления. Если этот билд не проходит по антивирусу, то пусть и не приходят автоматически.

 
gvi2504 писал(а) >>

Спасибо конечно, но что делать. Везде одни разговоры, а конкретных предложений нет. Скажите, а можно ли в терминале отключить автоматическое обновление? При запуске приходит предложение для обновления. Если этот билд не проходит по антивирусу, то пусть и не приходят автоматически.

Я про Ваш AVG ничего не знаю, но вот "результат поиска" по "avg+Themida"
https://www.mql5.com/go?link=https://support.avg.com/answers

"Please add these files to AVG Resident Shield exceptions (not PUP) -> open AVG -> menu Tools -> Advanced Settings -> Resident Shield -> file/folder exceptions"
 

Есть одна непонятность. Помогите понять, пожалуйста. ))

int start(){
   double MasOrd[2][3];
   double po = MarketInfo(Symbol(), MODE_POINT );
   int di = MarketInfo(Symbol(), MODE_DIGITS);
   int Level = 2; 
   int o = 1;
   if(OrderSelect(0,SELECT_BY_POS)==true){
      MasOrd[o][1] = NormalizeDouble(OrderOpenPrice(), di);//0.34610000 
      MasOrd[o][2] = NormalizeDouble(OrderStopLoss() , di);//0.34630000
   }
   if(MasOrd[o][2] - MasOrd[o][1] == Level*po) Alert(MasOrd[o][2] - MasOrd[o][1]);
   return(0);
}
При том, что в последнем if() условия полностью выполняются (0.34630000 - 0.34610000 == 2*0,00010000) Alert() не выводится. Почему так происходит? Если нормализовать разность с помощью функции NormalizeDouble(MasOrd[o][2]-MasOrd[o][1]) - то тогда всё нормально. Я же MasOrd[o][2] и MasOrd[o][1] по отдельности нормализовал - их разность по идее тоже должна быть нормальная?
 
gvi2504 >>:

...Везде одни разговоры, а конкретных предложений нет. Скажите, а можно ли в терминале отключить автоматическое обновление? При запуске приходит предложение для обновления. Если этот билд не проходит по антивирусу, то пусть и не приходят автоматически.

Переименуйте в папке терминала файл LiveUpdate.exe, например, в LiveUpdate.$$$. Автообновление лишится исполняемого файла и перестанет Вас беспокоить. После решения проблемы можно будет переименовать файл обратно, и восстановить обновление.

 
Вопрос, наверное, довольно не редкий, но что-то внятный ответ пока на глаза не попался. Помогите, пожалуйста, разобраться.
Есть советник, который одновременно работает с несколькими парами - есть ли возможность протестить его на истории?
(Важен именно синхронный прогон по истории заданного набора пар.)
 
Здравствуйте.
Помогите пожалуйста, что здесь не так. Почему во втором буфере сначала нуль, а потом рассчитываемые значения?
//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LightSeaGreen
#property indicator_color2 Red

extern int cciPeriod = 14;
extern int cciPrice  = 5;
extern int maPeriod  = 14;

double Buf_0[],Buf_1[];
//+------------------------------------------------------------------+ 
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
SetIndexBuffer(0,Buf_0);
SetIndexBuffer(1,Buf_1);
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1);
SetIndexLabel (0,"Buffer CCI");
SetIndexLabel (1,"Buffer Average CCI");
IndicatorShortName("CCI & MA("+cciPeriod+","+cciPrice+","+maPeriod+") ");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//----
   int i,z,Counted_bars;
   double sum;
   Counted_bars=IndicatorCounted();
   i=Bars-Counted_bars-1;
   while(i>=0)
   {
      while(z<maPeriod){
         sum+=iCCI(Symbol(),0,cciPeriod,cciPrice,i+z);
         z++;}
      Buf_0[i]=iCCI(Symbol(),0,cciPeriod,cciPrice,i);
      Buf_1[i]=sum/maPeriod;
      i--;
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
Причина обращения: