Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1040

 
Liebe Kolleginnen und Kollegen, es besteht die Notwendigkeit, programmatisch festzulegen, in welchem Zeitintervall die Optimierung stattfinden soll. Können Sie uns mitteilen, ob es eine solche Möglichkeit gibt? In OnInit.
 
Anzhela Sityaeva:

Das Komma spielt in der Formel keine Rolle, du hast Recht, es trennt nur den Wert vom Typ, nur um das Verständnis zu erleichtern. Die 5. Klasse ist schon lange her :), und ich war noch nie gut in Mathe, wie es so ist. Aber ich erinnere mich an die Reihenfolge der Operationen.

Die Frage ist genau, dass in beiden Versionen der Berechnungen Ergebnisist das gleiche, welche Option zu betrachten richtig?

Ich wage zu behaupten, dass du geboren wurdest, als ich nicht nur die fünfte Klasse, sondern auch einen Teil der nächsten Klasse bereits hinter mir hatte. Also war es für mich wie gestern... Und wenn Sie sich an die Reihenfolge der Vorgänge erinnern, warum stellen Sie sich dann diese Frage? Wenn das Ergebnis der Berechnungen dasselbe ist, kann dann eine Option richtiger sein als die andere? Nun, es ist offensichtlich, dass es keinen Unterschied gibt.
 
Alexey Viktorov:
Ich wage zu behaupten, dass du geboren wurdest, als ich nicht nur die fünfte Klasse beendet hatte, sondern auch schon die nächsten. Also war es für mich wie gestern... Und wenn Sie sich an die Reihenfolge der Vorgänge erinnern, warum haben Sie dann diese Frage im Kopf? Wenn das Ergebnis der Berechnungen dasselbe ist, kann dann eine Option richtiger sein als die andere? Nun, offensichtlich gibt es keinen Unterschied.
Es ist nicht üblich, ein Mädchen nach ihrem Alter zu fragen, und es ist auch nicht wichtig. Ich wollte die Meinung von jemandem, der auf dem Thema ist und außer mir, Zweifel, wissen Sie :)
 
Anzhela Sityaeva:
Es ist nicht üblich, ein Mädchen nach ihrem Alter zu fragen, und es ist auch nicht wichtig. Ich wollte die Meinung von jemandem, der auf dem Thema ist und außer mir, Zweifel, wissen Sie :)

Ich habe nicht nach Ihrem Alter gefragt. Ich habe nur angedeutet, dass du noch sehr jung bist und nur so tust, als würdest du dich an nichts mehr erinnern.

 
Decromor:

Hallo zusammen...

Ich versuche, einen Indikator zu entfernen, den ich aus einem EA hinzugefügt habe. Ich tue Folgendes:

In Indikator:

Der Indikator wird hinzugefügt, die Nummer des Unterfensters und die Kurzbezeichnung sind korrekt, aber beim Löschen tritt ein Fehler auf:

2019.05.08 12:01:10.068 2019.04.03 12:39:31 Der Indikator blablabla konnte nicht aus dem Fenster #2 gelöscht werden. Fehlercode 4014

4014 - "Die Systemfunktion darf nicht aufgerufen werden". Könnten Sie bitte mitteilen, was das bedeutet und wie man den Indikator entfernt?

Einer der Indikatoren wird vom Expert Advisor für einen kurzen Zeitraum verwendet, die restliche Zeit wird er nicht benötigt und seine Einstellungen werden irrelevant. Deshalb habe ich die erste Option in Betracht gezogen - den Indikator zu entfernen, wenn er nicht benötigt wird, und ihn zum richtigen Zeitpunkt mit neuen Einstellungen hinzuzufügen. Aber ich kann es aus irgendeinem Grund nicht tun.

Eine andere Variante ist: Globale Variablen. Nehmen wir an, der Indikator bleibt immer im Fenster, aber ich ändere seine Eingangsparameter über globale Variablen zum richtigen Zeitpunkt.

Oder? Gibt es noch andere Varianten?

 
Decromor:

Einer der Indikatoren wird vom Expert Advisor für einen kurzen Zeitraum verwendet, die restliche Zeit wird er nicht benötigt, und seine Einstellungen werden irrelevant. Aus diesem Grund war die erste Option, die ich in Betracht zog, den Indikator zu entfernen, wenn er nicht benötigt wird, und ihn zum richtigen Zeitpunkt mit neuen Einstellungen hinzuzufügen. Aber ich kann es aus irgendeinem Grund nicht tun.

Eine andere Variante ist: Globale Variablen. Nehmen wir an, der Indikator bleibt immer im Fenster, aber ich ändere seine Eingangsparameter über globale Variablen zum richtigen Zeitpunkt.

Oder? Gibt es noch andere Varianten?

Ein Expertenindikator auf einem Diagramm ist wie der Drehpunkt eines Hundes.

 
Alexey Viktorov:

Der Indikator auf dem Chart ist wie ein Hund, der sich dreht.

Es ist perfekt für die Einrichtung eines Experten.

So füge ich sie hinzu, aber ich kann sie nicht entfernen.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Fragen von Anfängern MQL5 MT5 MetaTrader 5

Decromor, 2019.05.08 09:17

Hallo zusammen...

Ich versuche, einen Indikator, den ich selbst hinzugefügt habe, aus einem EA zu entfernen. Ich tue Folgendes:

//Объявляю переменные
int win_ind=-1,
    handle_ind = INVALID_HANDLE;

//Создаю
   handle_ind= iCustom(NULL,0,"ind");
   if(handle_ind== INVALID_HANDLE){
      Print("Не удалось создать индикатор. Код ошибки: ",GetLastError());
      return(false);
   }
   win_ind=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); //--- получим номер нового подокна, в которое добавим индикатор 
   if(!ChartIndicatorAdd(0,win_ind,handle_ind)){
      Print("Не удалось добавить индикатор на окно графика. Код ошибки: ",GetLastError());
      return(false);
   }

//Удаляю
   string name = ChartIndicatorName(0, win_ind, 0);
   bool res = ChartIndicatorDelete(0, win_ind, name); 
   if (!res) PrintFormat("Не удалось удалить индикатор %s с окна №%d. Код ошибки %d", name,win_ind,GetLastError());

Im Indikator:

int OnInit(){
   IndicatorSetString(INDICATOR_SHORTNAME,"blablabla");

Der Indikator wird hinzugefügt, die Nummer des Unterfensters und die Kurzbezeichnung sind korrekt, aber beim Löschen tritt ein Fehler auf:

2019.05.08 12:01:10.068 2019.04.03 12:39:31 Der Indikator blablabla konnte nicht aus dem Fenster #2 gelöscht werden. Fehlercode 4014

4014 - "Die Systemfunktion darf nicht aufgerufen werden". Was bedeutet das und wie kann man den Indikator entfernen?


 
Decromor:

Für die Einrichtung eines Experten ist das in Ordnung.


Das ist keine Antwort auf meine Frage. Genauer gesagt, ist es eine Erwiderung. Dann habe ich meinen Gedanken in Form einer Frage formuliert: Warum braucht der EA einen Indikator auf dem Chart?

Wenn wir den unbenutzten Indikatorgriff ablehnen wollen, gibt es dafür eine andere Funktion. Und der Indikator selbst auf dem Diagramm für welchen Zweck?

 
Gibt es eine fertige Lösung, damit wir das Rad nicht neu erfinden müssen?
Wir müssen eine einfache Frage zu beantworten - wie viele geschlossene Geschäfte (nennen wir es, dass) wurden in der Geschichte (für ein bestimmtes Paar oder Zeitraum ist nicht wichtig, die Hauptsache ist das Prinzip). Soweit ich weiß, ist dies keine triviale Aufgabe in mql5. Ich habe nicht einmal einen Namen für dieses Wesen))
 
Evgeny Dyuka:
Haben Sie eine fertige Lösung, ohne das Rad neu erfinden zu müssen?
Wir müssen eine einfache Frage beantworten - wie viele geschlossene Geschäfte (nennen wir es so) gab es in der Vergangenheit (für ein bestimmtes Paar oder einen bestimmten Zeitraum ist nicht wichtig, die Hauptsache ist das Prinzip). Soweit ich weiß, ist dies keine triviale Aufgabe in mql5. Wir haben nicht einmal einen Namen für diese Einheit))

Warum nicht?

bool  HistorySelect(
   datetime  from_date,     // с даты
   datetime  to_date        // по дату
   );

Und dann sieben wir in einer Schleife aus, was wir brauchen.

Oder für eine bestimmte Position.

bool  HistorySelectByPosition(
   long   position_id     // идентификатор позиции - POSITION_IDENTIFIER
   );
Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Функция HistorySelect() создает в mql5-программе список ордеров и список сделок для дальнейшего обращения к элементам списка посредством соответствующих функций. Размер списка сделок можно узнать с помощью функции HistoryDealsTotal(), размер списка ордеров в истории можно получить с HistoryOrdersTotal(). Перебор элементов списка ордеров лучше...