Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 668

 
Artyom Trishkin:

Tun Sie es. Dann den Code hier.

Übrigens, Artem.

Die anstehende Aufgabe wirft eine interessante Frage auf.

Um ALLES prüfen zu können, benötigen Sie ein "Datenimport"-Verfahren.

Das heißt, dass dynamische Arrays mit ihren eigenen dynamischen Daten aus Drittquellen geladen werden sollten.

Ich weiß nicht, ob MT4/MT5 über dieses Verfahren verfügen - oder nicht?

Wie importiert man Daten in MT4/MT5?

Ist das überhaupt möglich???

-------------------------------------------------------------------

Ich bin daran interessiert, dynamische Daten zu importieren, nicht nur Daten aus einem Array zu lesen.

---------------------------------------------------------------------------------------------------------------

Übrigens, hier sollte http://tol64.blogspot.com/2015/12/easy-and-fast-gui-mql.html diese Einfuhr konstruktionsbedingt sein.

Ohne sie geht es einfach nicht.

------------------------------------------------------------------------------------------

Ich sehe den Import nicht in MT4/MT5 oder deren Erweiterungen.

Gib mir die Einfuhr!!!

Библиотека "Easy And Fast GUI" для создания графических интерфейсов на MQL
  • tol64.blogspot.com
С этой статьи я начинаю еще одну серию, относящуюся к разработке графических интерфейсов. На текущий момент нет ни одной библиотеки кода, которая позволяла бы легко и быстро создавать качественные графические интерфейсы в MQL-приложениях. Я имею в виду графические интерфейсы, к которым мы все привыкли в известных операционных системах. Цель проекта — дать конечному пользователю такую возможность и научить это делать с помощью моей библиотеки. Я постарался сделать ее максимально понятной в изучении, с возможностями дальнейшего развития.
 
Aleksey Lebedev:

Das ist ein heftiger Unsinn, der es wert ist, in die Annalen des Forums einzugehen.

"Ah, die Moussa! Ich weiß, sie ist stark,
"Das bellt den Elefanten an!"

https://ru.wikisource.org/wiki/%D0%A1%D0%BB%D0%BE%D0%BD_%D0%B8_%D0%9C%D0%BE%D1%81%D1%8C%D0%BA%D0%B0_(%D0%9A%D1%80%D1%8B%D0%BB%D0%BE%D0%B2)

Alexej!

Ich mache aus dir ein Hack, im Forum !!!

Entschuldigung!

 

Guten Tag!

Könnten Sie mir bitte sagen, wie man das Füllen des Indikatorpuffers mit Daten durch Kopieren aus dem Puffer eines anderen Indikators, der über iCustom aufgerufen wird, korrekt implementiert? Die Idee ist, denselben Indikator, der auf der Grundlage von Daten eines anderen Instruments erstellt wurde, im Fenster des aktuellen Instruments aufrufen zu können.

Das Ergebnis ist, dass der Datenpuffer leer ist und das Diagramm nicht gezeichnet wird. Der Farbpuffer ist nicht wichtig.

//---- indicator settings
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   1
#property indicator_type1   DRAW_COLOR_HISTOGRAM
#property indicator_color1  Green,Red
#property indicator_style1  0
#property indicator_width1  3

//--- input data
input string OtherSymbol=""; //Название символа, по которому считать. Если пусто - текущий символ
//---- indicator buffers
double                    DataBuffer[];
double                    ColorsBuffer[];
//---- external indicator handle
int                       CustomHandle=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {  
   SetIndexBuffer(0,DataBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ColorsBuffer,INDICATOR_COLOR_INDEX);
   IndicatorSetString(INDICATOR_SHORTNAME,"PercentChangeHistogram");
   IndicatorSetInteger(INDICATOR_DIGITS,2);
//----
   if (OtherSymbol!="") //если есть имя другого символа, рекурсивно вызываем индикатор через iCustom 
      { 
      CustomHandle=iCustom(OtherSymbol,_Period,"PercentChangeHistogram","");
     if (CustomHandle==-1)
         {Alert ("iCustom function initialization failed!");
         return (INIT_FAILED);}
     }
   return (INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|  OnCalculate                                                     |
//+------------------------------------------------------------------+
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[])
  {
   if(rates_total<2)
      return(0);
   int start=prev_calculated-1;
   if(start<1) start=1;
   //---
   if (OtherSymbol=="")// если input переменная содержит пустую строку, заполняем индикаторный массив через простой расчет функцией CalculateData
                       // если input переменная содержит не пустую строку, пытаемся заполнить индикаторный массив копированием данных другого индикатора
   CalculateData(start,rates_total,open,close);
   else
   CopyBuffer(CustomHandle,0,start,rates_total-prev_calculated,DataBuffer);
   //---
   return(rates_total);
  }
  
...
 
Aleksey Lebedev:

Das ist ein Haufen Blödsinn, der in die Annalen des Forums eingehen sollte.

Alexej!

Wie lange sind Sie schon Händler? -

- Keine?

Die Händler haben früher schlicht und einfach argumentiert?

- Welches Konto haben Sie, Alexey - in Plus oder Minus, und wie viele Jahre?

- Oder haben Sie überhaupt kein Handelskonto?

- Oder sind Sie einfach nur hirnlos und haben beschlossen, andere Händler zu unterrichten?

- Davon gibt es eine ganze Menge.

--------------------------------------------------------------------------------------

- Ich habe ein Händlerkonto, und es ist ein gutes Konto. Eine lange Zeit. 20 Jahre. Und ich werde niemanden unterrichten.

- Das ist das Paradoxe.

 
neverness:

Alexej!

Wie lange sind Sie schon Händler? -

- Keine?

Die Händler haben früher schlicht und einfach argumentiert?

- Welches Konto haben Sie, Alexey - in Plus oder Minus, und wie viele Jahre?

- Oder haben Sie überhaupt kein Handelskonto?

- Oder sind Sie einfach nur hirnlos und haben beschlossen, andere Händler zu unterrichten?

- Davon gibt es eine ganze Menge.

--------------------------------------------------------------------------------------

- Ich habe ein Händlerkonto, und es ist ein anständiges Konto. Eine lange Zeit. 20 Jahre. Und ich werde niemanden unterrichten.

- Das ist das Paradoxe.

Sie haben eine Antwort auf die technische Seite der Medaille erhalten, die nichts mit der Qualität des Handels zu tun haben sollte.

 
Vitaly Muzichenko:

Sie haben eine Antwort auf die technische Seite der Medaille erhalten, die nichts mit der Qualität des Handels zu tun haben sollte.

Warum ist das so?

Oder halten Sie Händler für "ungebildete Idioten", die zocken und auf den Markt wetten?

Dann bin ich einer von ihnen.

Nur ich nehme das Integral von dx ohne Schwierigkeiten. Und Sie? - Was, haben Sie ein Problem?

Sie sind offensichtlich kein Händler, so wie viele andere "Experten" in diesem Forum!

Für einen Händler ist der FOREX-Markt eine "heilige Kuh", die IMMER RICHTIG ist.

Wenn Sie Ihre Idee auf diesem Markt durchsetzen können, sind Sie ein Held!

Wenn der Markt Sie überrollt, dann wissen Sie, was Sie erwartet!

--------------------------------------------------------------------------------------------------------

Aber niemand wird auf dem Devisenmarkt verboten - ein weiteres Paradoxon!!!

Ob Sie Recht haben oder nicht - es spielt keine Rolle, alles ist bezahlt!!!

 
Artyom Trishkin:

Nochmals. Sehen Sie sich das Bild genau an:


Vielen Dank für den Hinweis.

 
neverness:

Warum ist das so?

Oder halten Sie Händler für "ungebildete Idioten", die zocken und auf den Markt wetten?

Dann bin ich einer von ihnen.

Nur ich nehme das Integral von dx ohne Schwierigkeiten. Und Sie? - Was, haben Sie ein Problem?

Sie sind offensichtlich kein Händler, so wie viele andere "Experten" in diesem Forum!

Für einen Händler ist der FOREX-Markt eine "heilige Kuh", die IMMER RICHTIG ist.

Wenn Sie Ihre Idee auf diesem Markt durchsetzen können, sind Sie ein Held!

Wenn der Markt Sie überrollt, dann wissen Sie, was Sie erwartet!

--------------------------------------------------------------------------------------------------------

Aber niemand wird auf dem Devisenmarkt verboten - ein weiteres Paradoxon!!!

Ob Sie Recht haben oder nicht - es spielt keine Rolle, alles ist bezahlt!!!

Sie sprechen von Arrays und Sie sprechen von Forex! Ein Paradoxon, allerdings!

 
neverness:


- Und ich habe ein Händlerkonto, und zwar ein anständiges. Seit langer Zeit. 20 Jahre. Und ich werde niemanden unterrichten.

- Das ist das Paradoxe.

Man hat das Gefühl, Sie sagen Ihr Alter, nicht Ihr Dienstalter.
 

Ich habe Ihre Nachricht gelesen, es sieht alles gut aus :-) aber was ist mit der Frage, die diese Verwirrung ausgelöst hat?

Das Deklarieren eines Arrays überSetIndexBuffer(1, tmp1) bewirkt nichts. Natürlich kann ich die Array-Größe in der gleichen Schleife erhöhen, aber ich möchte einen einfacheren und effizienteren Weg kennen.