Fehler, Irrtümer, Fragen - Seite 2768

 
Grüße. Findet das Initialisierungsereignis beim Einschalten des Terminals statt?
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Sehr geehrte Verwaltung. An wen muss ich mich wenden, um mein Konto (mit Registrierung als Verkäufer) bei mql5.com zu löschen?
 

Hallo! Es gibt einen MT5-Indikator "Grid Builder", der horizontale Linien in Kursabstufungen zeichnet. Sie können z.B. 100p, 200p usw. auswählen. Und es baut ein horizontales Gitter auf und ab mit einem bestimmten Schritt. Aber es hat ein Problem, zum Beispiel, wenn ich zeichnen horizontale Ebenen auf Zeitrahmen H4 (ich setzen horizontale Linien aus Zeichnung Werkzeuge im Terminal) und wechseln Sie zu einem anderen Zeitrahmen, alle meine Linien werden entfernt. Es verbleiben nur horizontale Anzeigeebenen. Wie kann ich diesen Fehler im Code korrigieren? Um sicherzustellen, dass meine horizontalen Ebenen niemals gelöscht werden. Hier ist der Code des Indikators.

//+------------------------------------------------------------------+
//|                                                  GridBuilder.mq5 |
//|                                              Copyright 2015, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property indicator_chart_window

//---- для расчёта и отрисовки индикатора использовано ноль буферов
#property indicator_buffers 0
//---- использовано всего ноль графических построений
#property indicator_plots   0
//--- входные параметры 
input int count = 50;      //количество линий вверх вниз от цены
input int step  = 333;     //шаг линий 
input double pr = 1.4622;  //цена от которой пляшем
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ObjectsDeleteAll(0,0,OBJ_HLINE);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
   ObjectsDeleteAll(0,0,OBJ_HLINE);
  }
//+------------------------------------------------------------------+ 
//| Создает горизонтальную линию                                     | 
//+------------------------------------------------------------------+ 
bool HLine(const string name="HLine",double price=0)
  {
//--- создадим горизонтальную линию 
   if(!ObjectCreate(0,name,OBJ_HLINE,0,0,price))
     {
      Print(__FUNCTION__,
            ": не удалось создать горизонтальную линию! Код ошибки = ",GetLastError());
      return(false);
     }
//--- установим цвет линии 
   ObjectSetInteger(0,name,OBJPROP_COLOR,clrGreen);
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
   return(true);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
   double price=pr;
//--- создадим горизонтальную линию 
   for(int i=0;i<=count;i++)
     {
      HLine("HLine"+(string)i,price+step*i*_Point);
      HLine("HLine"+(string)(i+count+1),price-step*i*_Point);
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
Александр:

Hallo! Es gibt einen MT5-Indikator "Grid Builder", der horizontale Linien in Kursabstufungen zeichnet. Sie können z.B. 100p, 200p usw. auswählen. Und es baut ein horizontales Gitter auf und ab mit einem bestimmten Schritt. Aber es hat ein Problem, zum Beispiel, wenn ich zeichnen horizontale Ebenen auf Zeitrahmen H4 (ich setzen horizontale Linien aus Zeichnung Werkzeuge im Terminal) und wechseln Sie zu einem anderen Zeitrahmen, alle meine Linien werden entfernt. Es verbleiben nur horizontale Anzeigeebenen. Wie kann ich diesen Fehler im Code korrigieren? Um sicherzustellen, dass meine horizontalen Ebenen niemals gelöscht werden. Hier ist der Code des Indikators.

Bitte versuchen Sie,den Code korrekteinzufügen.

MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • www.mql5.com
Теперь вы можете не только читать статьи и скачивать программы на языке MQL5, но и участвовать в обсуждении интересующих вас тем на Форуме, оставлять комментарии к статьям и опубликованным кодам. Кроме того, вы можете не только выкладывать собственные разработки в Code Base, но и публиковать Статьи, за которые мы предлагаем вознаграждение...
 

Beaubra an alle.

Wenn ich den Zeitrahmen wechsle, der lange Zeit inaktiv war, friert der Indikator ein. Bitte sagen Sie mir, wo der Hund begraben ist. Ich danke Ihnen!

 
BROXIV:

Beaubra an alle.

Wenn ich den Zeitrahmen wechsle, der lange Zeit inaktiv war, friert der Indikator ein. Bitte sagen Sie mir, wo der Hund begraben ist. Ich danke Ihnen!

Der Hund lädt gerade Daten.

 
BROXIV:

Beaubra an alle.

Wenn ich den Zeitrahmen wechsle, der lange Zeit inaktiv war, friert der Indikator ein. Bitte sagen Sie mir, wo der Hund begraben ist. Ich danke Ihnen!

Dieselbe Stelle, an der der Wolf den Fuchs gebissen hat....

Er hat darauf gebissen. Was meinen Sie dazu? )))))))

 
Wie kann eine Funktion erst aufgerufen und dann deklariert werden? Läuft das Programm außer der Reihe oder was?
 
Ivan_Invanov:
Wie kann eine Funktion erst aufgerufen und dann deklariert werden? Läuft das Programm nicht in einer Reihe oder was?

MQL-Compiler, nicht Interpreter, googeln Sie "Linker-Compiler".





Wie hoch ist die Wahrscheinlichkeit, dass ein kleiner Textstring(10-50 Symbole) md5-hash (16 Bytes) gleich0xAAAAAAAAAAAAAAAAA + 0xAAAAAAAAAAAAAAAAAAAAAAAA ist

ulong hash[2]
this.hash[0] = this.hash[1] = 0xAAAAAAAAAAAAAAAA; 

im Allgemeinen brauche ich einige Initialisierer HASH_NULL (ich brauche einige vernünftige Varianten), ich finde 0 unzuverlässig aus irgendeinem Grund


UPD: md5-Entschlüsselung online gesucht https://md5.web-max.ca/

auf dem md5-Hash: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sagt Fehler , 0 ist auch ein Fehler

 

Guten Tag, ich schreibe eine Klasse zum Sammeln von Extrema auf der Basis von iWPR-Indikatorwerten. Hier ist ein Stück Code: Ich beginne mit der Erstellung eines Handles für einen Indikator und kopiere dann die Daten in einen Puffer. Ich erstelle eine Schleife zum Abrufen von Indikatordaten auf der Grundlage der Arraygröße und schreibe den Verlauf der Ereignisse in die Datei, um zu verstehen, was vor sich geht. Ich möchte darauf hinweisen, dass ich diesen Code von MQL4 kopiert und natürlich für MQL5 angepasst habe. Ich verstehe nicht, was da los ist, aber die Daten der dwpr-Variablen werden in eine Datei geschrieben, in der ein ziemliches Durcheinander herrscht. Was mache ich falsch? Ich füge die Textdatei des so genannten Logs bei!

   hWPR=iWPR(NULL,period,240);
   CopyBuffer(hWPR,0,0,ibars,WPRBuffer);
   CopyLow(NULL,0,0,ibars,Low);
   CopyHigh(NULL,0,0,ibars,High);
   CopyTime(NULL,0,0,ibars,Time);
   int y=ArraySize(WPRBuffer);
   //int w=ArraySize(Low);
   //int x=ArraySize(High);
   //int z=ArraySize(Time);
   
   ResetLastError(); 
   if(flag){filehandle=FileOpen(Symbol()+"_VertexUpLoad_3.txt",FILE_WRITE|FILE_TXT);}
   if(flag){FileWrite(filehandle,"Количество элементов в буфере WPRBuffer "+IntegerToString(y)+" Low "+IntegerToString(w)+
            " High "+IntegerToString(x)+" Time "+IntegerToString(z));}
   //for(int i=ibars-1;i>0;i--)
   for(int i=1;i</*ibars*/ y-1;i++)
     {
      if(i==344)
      {
      Print("");}
      datetime d=Time[i];
      //if(x<D'2004.04.02. 12:00:00'){continue;}//участок кода для тестирования
      if(flag){FileWrite(filehandle,"======================================================================================");}
      dwpr=NormalizeDouble(WPRBuffer[i],4);
      if(dwpr>=dup&&dwpr<0.0){chflag=2;}//индикатор в верхней экстремальной зоне
      if(dwpr<=ddn&&dwpr>-100.1){chflag=1;}//индикатор в нижней ЭЗ, а остальное все тоже самое
//Самое начало пока индикатор "балтается"      
      if(dwpr>=0.0000){if(flag){FileWrite(filehandle,"Самое начало пока индикатор балтается. Бар № "+IntegerToString(i)+
                                         " dwpr "+DoubleToString(dwpr,4));}
Dateien: