Ошибки, баги, вопросы - страница 1758

 
-Aleks-:

Если сменить профиль в MT4, а потом обратно, то при закрытом рынке процессор начинает сильно грузиться - до 5%, после 18-25%.

делал, но не помогло ))), говорю же ощущение, что что то с компилятором, потому как при запуске компиляции .mq5ME просто вылетает, а если запустить компиляцию .mqh то ругается на компилятор ))) А в crash появляется огромный файл !!! который постоянно обновляется. Вирусов нет кроме самой ОС Win 8.1x64, антивирус на одной машине вообще отсутствует т.к. в нет ходит только MT5, и сама ОС в свой репозиторий.

Кстати в тему ответа Рената насчет многотысячных тестов - я прежде чем написать вопрос, так же делаю проверку подобных вещей на разных ОС и машинах )) если результат подтверждается, то вопрос задаю, если нет, копаюсь в проблеме сам.

 

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

индикатор один и тот же,настройки одинаковые,тф одинаковый. на скрине вверху визуализация индикатора при прогоне советника с этим индикатором внутри в тестере. внизу просто индикатор накинутый на чарт. и в итоге они показывают разное. индикатор,Если просто накинуть на чарт, показывает верно. легко проверить чисто визуально - цену закрытия минус машка обыкновенная.


код советника

#property strict
input string   Symbol1="EURUSD";
input int Per=14;  
double buf[];
int handle_1,copied1;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

handle_1=iCustom(Symbol(),PERIOD_CURRENT,"test ma",Symbol1,Per);
ArrayInitialize(buf,0);
   return(INIT_SUCCEEDED);
  }
//+---------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  Comment("");
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  copied1=CopyBuffer(handle_1,0,0,4,buf);
  Comment("Индикатор 3 = ",buf[3]);
}  

//+------------------------------------------------------------------+
//| Trade function                                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
//---

  }
//+------------------------------------------------------------------+

код индикатора

#property indicator_separate_window
//---- количество индикаторных буферов 2
#property indicator_buffers 3
//---- использовано всего одно графическое построение
#property indicator_plots   1
//+----------------------------------------------+
//|  объявление констант                         |
//+----------------------------------------------+
#define RESET 0 // Константа для возврата терминалу команды на пересчёт индикатора
//+----------------------------------------------+
//|  Параметры отрисовки индикатора              |
//+----------------------------------------------+
#property indicator_type1   DRAW_HISTOGRAM
#property indicator_color1  clrPlum
//+----------------------------------------------+
//| Входные параметры индикатора                 |
//+----------------------------------------------+
input string Symb1="EURUSD";
input int Per=14;                        
int Shift=0;                              
//+----------------------------------------------+
//---- объявление динамических массивов, которые будут в
// дальнейшем использованы в качестве индикаторных буферов
double Buffer1[];
double Buffer2[];
double Buffer3[],Buffer4[],Buffer5[];
//---- Объявление целых переменных начала отсчёта данных
int min_rates_total;
//---- Объявление целых переменных для хранения хендлов индикаторов
int Handle1,Handle2;
double buf1[],buf2[],close1[],close2[],buf4[];
int closed1,closed2;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+  
int OnInit()
  {
//---- Инициализация переменных начала отсчёта данных
   min_rates_total=Per+1;

//--- получение хендла индикатора Fast iCCI
   Handle1=iMA(Symb1,PERIOD_CURRENT,Per,0,0,0);
   if(Handle1==INVALID_HANDLE)
     {
      Print(" Не удалось получить хендл индикатора");
      return(INIT_FAILED);
     }

//---- превращение динамического массива в индикаторный буфер
   SetIndexBuffer(1,Buffer1,INDICATOR_DATA);
   SetIndexBuffer(0,Buffer3,INDICATOR_DATA);
   SetIndexBuffer(2,buf1,INDICATOR_DATA);
//---- осуществление сдвига индикатора 1 по горизонтали на Shift
   PlotIndexSetInteger(0,PLOT_SHIFT,Shift);
//---- осуществление сдвига начала отсчёта отрисовки индикатора 1 на min_rates_total
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,min_rates_total);
      IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//--- завершение инициализации
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(
                const int rates_total,    // количество истории в барах на текущем тике
                const int prev_calculated,// количество истории в барах на предыдущем тике
                const datetime &time[],
                const double &open[],
                const double& high[],     // ценовой массив максимумов цены для расчёта индикатора
                const double& low[],      // ценовой массив минимумов цены  для расчёта индикатора
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[]
                )
  {
//---- объявления локальных переменных
   int to_copy;
  
//---- расчёты необходимого количества копируемых данных
   if(prev_calculated>rates_total || prev_calculated<=0)// проверка на первый старт расчёта индикатора
     {
      to_copy=rates_total; // стартовый номер для расчёта всех баров
     }
   else to_copy=rates_total-prev_calculated+1; // стартовый номер для расчёта новых баров

      int first,bar;
      if(CopyBuffer(Handle1,0,0,to_copy,Buffer1)<=0) return(RESET);
      if(CopyClose(Symb1,0,0,to_copy,buf1)<=0) return(RESET);
    
//---- расчёт стартового номера first для цикла пересчёта баров
   if(prev_calculated>rates_total || prev_calculated<=0) // проверка на первый старт расчёта индикатора
      first=min_rates_total; // стартовый номер для расчёта всех баров
   else first=prev_calculated-1; // стартовый номер для расчёта новых баров

//---- Основной цикл расчёта индикатора
   for(bar=first; bar<rates_total ; bar++)
   {
   Buffer3[bar]=Buffer1[bar] - buf1[bar];
   }
  
//----    
   return(rates_total);
  }
//+------------------------------------------------------------------+
Файлы:
test.mq5  11 kb
 

Окно котировок сворачивается при сворачивании терминала. Так не должно быть.

 

 
Vladimir Pastushak:

Окно котировок сворачивается при сворачивании терминала. Так не должно быть.

 

Спред всегда в МТ так (!) обозначался... Почему - фигзнает, может для экономии места... какого (?), если значение спреда длиннее знака "!" ...
 

кто подскажет, правильно ли выделил размер оперативки(подчеркнул красным)?

данные ноута до ремонта:

2013.04.28 01:26:54     OpenCL  Device #2: GPU NVIDIA Corporation GeForce 610M with OpenCL 1.1 (1 units, 950 MHz, 2047 Mb, version 305.46)
2013.04.28 01:26:54     OpenCL  Device #1: GPU Intel(R) Corporation Intel(R) HD Graphics 4000 with OpenCL 1.1 (16 units, 350 MHz, 1624 Mb, version 9.17.10.2828)
2013.04.28 01:26:54     OpenCL  Device #0: CPU Intel(R) Corporation  Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz with OpenCL 1.1 (4 units, 2500 MHz, 6029 Mb, version 1.1)

сдавал ноут в ремонт, после ремонта сказали что с завода была установлена память(всего её 6 гб) не совместимая(та что на 4 гб) с типом процессора.

может ли такое быть что размер памяти указывается нормально, а по факту из-за не совместимости с типом процессора она не задействовалась?

 
Alexandr Bryzgalov:

сдавал ноут в ремонт, после ремонта сказали что с завода была установлена память(всего её 6 гб) не совместимая(та что на 4 гб) с типом процессора.

обычно ВСЕ системники и ,наверняка,ноуты проходят фабричное тестирование. и вероятность того,что заводским способом было установлено несовместимое железо...это очень очень очень маловероятно...
 
ivanivan_11:
обычно ВСЕ системники и ,наверняка,ноуты проходят фабричное тестирование. и вероятность того,что заводским способом было установлено несовместимое железо...это очень очень очень маловероятно...
вот почему-то так же думаю, вот чувствую что нае... меня
 
Alexandr Bryzgalov:
вот почему-то так же думаю, вот чувствую что нае... меня
Ну, это по разному бывает, как выясняется - вон с завода брендовые смартфоны взрываются. А по поводу компа - много факторов не известно - копался ли кто в ноуте до продажи (бывают рефурбиши, возвраты), какой ноут, какая операционка и т.д. - это все может влиять на доступность памяти.
 
Alexandr Bryzgalov:

кто подскажет, правильно ли выделил размер оперативки(подчеркнул красным)?

данные ноута до ремонта:

2013.04.28 01:26:54     OpenCL  Device #2: GPU NVIDIA Corporation GeForce 610M with OpenCL 1.1 (1 units, 950 MHz, 2047 Mb, version 305.46)
2013.04.28 01:26:54     OpenCL  Device #1: GPU Intel(R) Corporation Intel(R) HD Graphics 4000 with OpenCL 1.1 (16 units, 350 MHz, 1624 Mb, version 9.17.10.2828)
2013.04.28 01:26:54     OpenCL  Device #0: CPU Intel(R) Corporation  Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz with OpenCL 1.1 (4 units, 2500 MHz, 6029 Mb, version 1.1)

сдавал ноут в ремонт, после ремонта сказали что с завода была установлена память(всего её 6 гб) не совместимая(та что на 4 гб) с типом процессора.

может ли такое быть что размер памяти указывается нормально, а по факту из-за не совместимости с типом процессора она не задействовалась?

Память может конфликтовать с материнской платой. И, если биос определил память в наличие, то она есть, но может не стабильно работать.

Меньший объем памяти, я предположу, что это из-за отжатой памяти для видеокарты - так делают некоторые интегрированные карты так как не имеют своей памяти.

 

Как найти Сигналы, у которых?

Слишком большой прирост за последний месяц говорит о высоком риске