Fehler, Irrtümer, Fragen - Seite 1758

 
-Aleks-:

Wenn ich das Profil in MT4 ändere und dann zurück, wenn der Markt geschlossen ist, beginnt die CPU stark zu belasten - bis zu 5%, nach 18-25%.

Ich hatte das Gefühl, dass etwas mit dem Compiler nicht stimmt, denn wenn ich die Kompilierung von .mq5ME ausführe, stürze ich einfach ab und wenn ich die Kompilierung von .mqh ausführe, werde ich vom Compiler beschimpft))) Und beim Absturz erscheint eine riesige Datei !!!, die ständig aktualisiert wird. Keine Viren außer Win 8.1x64 OS selbst, kein Antivirus auf einem Rechner überhaupt, da nur MT5 ins Netz geht, und OS selbst in sein Repository.

Übrigens zum Thema Renats Antwort über Tausendstel von Tests - bevor ich eine Frage schreibe, prüfe ich ähnliche Dinge auf verschiedenen Betriebssystemen und Maschinen )), wenn das Ergebnis bestätigt wird, stelle ich eine Frage, wenn nicht, fange ich an, das Problem selbst zu ergründen.

 

Ich kann nicht verstehen, was das Problem ist - ob es im Indikator, im Expert Advisor oder im Visualizer liegt).

Dafür hat der Indikator nur die gleichen Einstellungen, der Zeitrahmen ist derselbe.


Code des Expertenberaters

#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()
  {
//---

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

Indikatorcode

#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);
  }
//+------------------------------------------------------------------+
Dateien:
test.mq5  11 kb
 

Das Kursfenster wird beim Minimieren des Terminals zugeklappt. Dies sollte nicht der Fall sein.

 
Vladimir Pastushak:

Das Kursfenster wird beim Minimieren des Terminals zugeklappt. Dies sollte nicht der Fall sein.

Die Spanne war in MT schon immer so (!) gekennzeichnet... Wer weiß warum, vielleicht um Platz zu sparen... was (?), wenn die Spanne länger ist als "!" ...
 

Kann mir jemand sagen, ob die RAM-Größe (rot unterstrichen) korrekt ist?

Notebook-Daten vor der Reparatur:

2013.04.28 01:26:54     OpenCL  Device #2: GPU NVIDIA Corporation GeForce 610 M 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-3210 M CPU @ 2.50 GHz with OpenCL 1.1 (4 units, 2500 MHz, 6029 Mb, version 1.1)

übergab den Laptop zur Reparatur, nach der Reparatur sagte, dass von der Fabrik installiert wurde Speicher (alle seine 6 gb) ist nicht kompatibel (die bei 4 gb) mit der Art von Prozessor.

kann es sein, dass die Größe des Speichers normal angegeben ist, aber in der Tat wegen der Inkompatibilität mit dem Typ des Prozessors war es nicht beteiligt?

 
Alexandr Bryzgalov:

Ich habe meinen Laptop zur Reparatur eingeschickt. Nach der Reparatur wurde mir gesagt, dass der werkseitig installierte Speicher (insgesamt 6gb) nicht mit dem Prozessortyp kompatibel ist (der für 4gb).

Normalerweise werden ALLE Systeme und mit Sicherheit alle Laptops werkseitig getestet, und die Möglichkeit, dass der Hersteller inkompatible Hardware installiert hat, ist sehr, sehr, sehr unwahrscheinlich...
 
ivanivan_11:
Normalerweise werden ALLE Systeme und mit Sicherheit auch Laptops werkseitig getestet, und die Wahrscheinlichkeit, dass werkseitig inkompatible Hardware installiert wird, ist sehr, sehr, sehr unwahrscheinlich...
Aus irgendeinem Grund geht es mir genauso, ich habe das Gefühl, ich werde... ich
 
Alexandr Bryzgalov:
Aus irgendeinem Grund geht es mir genauso, ich habe das Gefühl, ich werde... ich
Wie sich herausstellt, geschieht dies auf unterschiedliche Weise - es gibt Marken-Smartphones, die bereits ab Werk explodieren. Und über den Computer - eine Menge Faktoren nicht wissen - ob jemand in den Laptop vor dem Verkauf gestöbert hatte (es gibt Aufarbeitungen, Rücksendungen), welche Art von Laptop, welches Betriebssystem, etc. - die sich alle auf die Verfügbarkeit von Speicherplatz auswirken können.
 
Alexandr Bryzgalov:

Kann mir jemand sagen, ob die RAM-Größe (rot unterstrichen) korrekt ist?

Notebook-Daten vor der Reparatur:

2013.04.28 01:26:54     OpenCL  Device #2: GPU NVIDIA Corporation GeForce 610 M 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-3210 M CPU @ 2.50 GHz with OpenCL 1.1 (4 units, 2500 MHz, 6029 Mb, version 1.1)

gab den Laptop zur Reparatur, nach der Reparatur sagte, dass von der Fabrik installiert wurde Speicher (nur seine 6gb) ist nicht kompatibel (die auf 4gb) mit der Art von Prozessor.

Ist es möglich, dass die Speichergröße normal angegeben ist, aber in Wirklichkeit aufgrund von Inkompatibilität mit dem Prozessortyp nicht verwendet wird?

Der Speicher kann in Konflikt mit dem Motherboard geraten. Und wenn das Bios den Speicher als vorhanden erkannt hat, ist er zwar vorhanden, funktioniert aber möglicherweise nicht stabil.

Ich nehme an, dass die geringere Speichergröße darauf zurückzuführen ist, dass der Speicher für die Grafikkarte gequetscht wird - einige integrierte Karten tun dies, da sie keinen eigenen Speicher haben.

 

Wie finden Sie Signale, die haben?

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