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

 
Artyom Trishkin:

Nein. Ich habe oben erklärt, was die Frostgrenze ist.

Danke, Artem, ich werde mich morgen darum kümmern.

 
Artyom Trishkin:

SL und TP sind Aufträge. "Niveaus" - weil dies die Niveaus sind, auf die diese Aufträge gesetzt werden. Man kann sie auch als Einzug oder Abstand in Pips bezeichnen. Das macht sie nicht zu Befehlen.

Ich bin bereit zu akzeptieren, dass es so funktioniert, aber was ich nicht verstehe, ist, wenn SL und TP Aufträge sind, warum sie dann nicht in der Liste der Aufträge, zum Beispiel OrdersTotal() oderHistoryOrdersTotal() sind;

 
Fast235:

Danke, Artem, ich werde mich morgen darum kümmern.

Ich verstehe, dass ))))


 

1) Was ist der Unterschied zwischen einem Skript und einem Dienst?

2) Ist es möglich, den Indikator in jedem beliebigen Fenster des EA ohne Verwendung von Vorlagen auszuführen?

 
Alexandr Sokolov:

1) Was ist der Unterschied zwischen einem Skript und einem Dienst?

2) Ist es möglich, den Indikator aus einem EA in einem beliebigen Fenster ohne Verwendung von Vorlagen auszuführen?

hier ist die Funktion - aus dem EA https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

//+------------------------------------------------------------------+
//| Функция проверки и добавления индикатора на график               |
//+------------------------------------------------------------------+
bool AddIndicator()
  {
//--- выводимое сообщение
   string message;
//--- проверим на совпадение символ индикатора и символ графика
   if(_Symbol!=_Symbol)
     {
      message="Демонстрация использования функции Demo_ChartIndicatorAdd():";
      message=message+"\r\n";
      message=message+"Нельзя на график добавить индикатор, рассчитанный на другом символе.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта символ графика - "+_Symbol+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- проверим на совпадение таймфрейм индикатора и таймфрейм графика
   if(_Period!=_Period)
     {
      message="Нельзя на график добавить индикатор, рассчитанный на другом таймфрейме.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта таймфрейм графика - "+EnumToString(_Period)+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- все проверки прошли, символ и период индикатора соответствуют графику
   if(indicator_handle==INVALID_HANDLE)
     {
      Print(__FUNCTION__,"  Создаем индикатор");
      indicator_handle=iCustom(_Symbol,_Period,InpIndi_name);
      if(indicator_handle==INVALID_HANDLE)
        {
         Print("Не удалось создать индикатор. Код ошибки ",GetLastError());
        }
     }
//--- сбросим код ошибки
   ResetLastError();
//--- накладываем индикатор на график
   Print(__FUNCTION__,"  Добавляем индикатор на график");
   Print("Индикатор построен на ",_Symbol,"/",EnumToString(_Period));
//--- получим номер нового подокна, в которое добавим индикатор
   int subwindow=(int)ChartGetInteger(0,-1);
   PrintFormat("Добавляем индикатор на окно %d графика",subwindow);
   if(!ChartIndicatorAdd(0,subwindow,indicator_handle))
     {
      PrintFormat("Не удалось добавить индикатор на окно %d графика. Код ошибки  %d",
                  subwindow,GetLastError());
     }
//--- добавление индикатора на график прошло успешно
   return(true);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
//| Expert initialization function                                   |                                                                                       ); "Внимание! %s: Попробуем добавить индикатор MACD(%s/%s) на график %s/%s. Получим ошибку 4114"                         subwindow...
 
Alexsandr San:

hier ist die Funktion - vom Berater https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

Ich danke Ihnen!

 
Alexandr Sokolov:

1) Was ist der Unterschied zwischen einem Skript und einem Dienst?

das Skript an ein Diagramm gebunden ist, ist der Dienst nicht

das Skript wird "manuell" gestartet, der Dienst wird über das Terminal gestartet

Ich kenne keine weiteren Unterschiede, es gibt keine Informationen über Dienstleistungen

 
Igor Makanu:

das Skript an ein Diagramm gebunden ist, ist der Dienst nicht

das Skript wird "manuell" gestartet, der Dienst wird über das Terminal gestartet

Ich kenne keine weiteren Unterscheidungen, es gibt keine Informationen über die Dienste

Verstehe ich das richtig? Laufende Indikatoren und Berater haben nach dem Schließen des Terminals die Eigenschaften des Dienstes, aber das Skript nicht, d.h. wenn ein Skript, ein Indikator und ein Berater liefen und das Terminal geschlossen wurde, werden beim Öffnen des Terminals nur der Indikator und der Berater in das Fenster geladen, das Skript aber nicht?

 
Valeriy Yastremskiy:

Verstehe ich das richtig, dass Indikatoren und Berater nach dem Schließen des Terminals die Eigenschaften des Dienstes haben, aber das Skript nicht, d.h. wenn Skript, Indikator und Berater laufen und das Terminal geschlossen wurde, werden beim Öffnen des Terminals nur Indikator und Berater in das Fenster geladen, aber nicht das Skript?

keine

das Wichtigste bei MQL ist "das Diagramm".

Sie alle - Indikatoren, Expert Advisors und Skripte - sind an das Diagramm gebunden

Aber der Dienst ist an nichts gebunden - er startet mit dem Terminal und hat kein Diagramm, d.h. er kann nicht wie üblich etwas überprüfen... Nun, _Symbol, _Ziffern - überhaupt nichts, was wir gewohnt sind zu benutzen, diese Daten sind alle durch die Tabelle gegeben


Für Indikatoren und EA macht es keinen Unterschied, ob Sie den Chart oder das gesamte Terminal schließen. Was den Dienst betrifft, so funktioniert er, wenn Sie alle Charts schließen, bis Sie das Terminal schließen.

Wenn Sie den EA schließen, indem Sie das Diagramm schließen, dann wird es nach dem Neustart des Terminals kein Wunder geben - kein Diagramm, kein EA, und der Dienst startet immer, wenn Sie das Diagramm starten


es ist so, auf meinen Fingern ))))

Gestern habe ich ein Beispiel für den Dienst erstellt: https://www.mql5.com/ru/forum/170952/page173#comment_16044829

Ich weiß noch nicht, was ich mit ihnen machen soll.


ZS: wenn wir über ein Skript, EA und Indikator sprechen - was ist der Unterschied, der Indikator kann nicht handeln, aber es kann Indikator Puffer zeichnen, kann das Skript die gleiche Sache wie EA tun, aber es funktioniert "einmal" und entlädt, nicht zu entladen - Endlosschleife, aber immer noch das Terminal wird das Skript entladen, wenn Sie die TF wechseln


Ich kann es nicht besser erklären, schauen Sie sich einfach die ersten Kapitel an, da steht alles drin

 

Igor Makanu:

aber der Dienst ist an nichts gebunden, er startet mit dem Terminal und hat kein Diagramm, d.h. er kann wie üblich nichts herausfinden... Nun, _Symbol, _Digits - nichts, was wir gewohnt sind zu benutzen, das sind alle Daten, die von der Tabelle gegeben werden.

Wer hat Ihnen das gesagt? Mit _Symbol oder _Digits speziell, kann nicht, aber es ist einfach, diese Werte zu erhalten. Alles, was auf der Karte steht, können Sie von dem Dienst erhalten. Ich war nicht sonderlich an ihnen interessiert, aber angesichts der jüngsten Änderungen nutze ich den Dienst, um die Pfeile und Linien von geschlossenen Positionen zu entfernen, die ich hasse. Ich starte das Terminal, führe den Dienst aus und lösche all diese Markierungen auf allen Diagrammen, ohne die manuell oder durch andere Programme erstellten Markierungen zu berühren.