Fehler, Irrtümer, Fragen - Seite 1700

 
fxsaber:

Dies ist die Idee hinter dem nicht entfernbaren Indikator.

Geht es darum, eine Verbindung zu "sich selbst" zu organisieren? Es liegt also nicht an "habe", sondern an dir, der den Indikator so exotisch geschrieben hat.

Wenn Sie durch dieses Verhalten des Indikators verwirrt sind, lassen Sie es einfach bleiben.

Wo kann man es hinzufügen und wie könnte es zumindest theoretisch helfen. Dies ist ein Fehler im Terminal. Dies ist ein schwerwiegender Fehler. Ich hatte Glück - ich sehe im Protokoll, dass der Indikator funktioniert. Es gibt jedoch eine Reihe von Indikatoren, die im Terminal funktionieren, ohne dass Informationen über sie vorliegen. Aber das Thema kommt auf, und warum ist meine CPU bei einem leeren Terminal so belastet?

Es gibt eine ganze Reihe von Möglichkeiten, sich "ins eigene Fleisch zu schneiden". Der Indikator kann trivialisiert werden. Und es ist viel einfacher, dies aus Versehen zu tun, als aus Versehen einen Entwurf zu schreiben. Ist dies auch ein "Terminalfehler"?

 
Anton:

Geht es darum, einen Verweis auf "sich selbst" zu organisieren? Es liegt also nicht an "habe", sondern an dir, der den Indikator so exotisch geschrieben hat.

Wenn Sie durch dieses Verhalten des Indikators verwirrt sind, lassen Sie es einfach bleiben.

Es gibt eine ganze Reihe von Möglichkeiten, sich "ins eigene Fleisch zu schneiden". Der Indikator kann trivialisiert werden. Und es ist viel einfacher, dies aus Versehen zu tun, als aus Versehen einen Entwurf zu schreiben. Ist dies auch ein "Terminalfehler"?

Es handelt sich um einen Terminal-Bug, wenn es möglich ist, einen schweren Indikator unwissentlich auf einem völlig leeren (ohne offene Charts) Terminal auszuführen. Und dann gibt es noch Fragen: Warum belastet Ihr Terminal die CPU an einer flachen Stelle? Es ist ein Fehler! Es gibt keinen internen Task-Manager, keine Kontrolle.
 
Anton:

Geht es darum, einen Bezug zu "sich selbst" zu organisieren? Es ist also nicht "got it", sondern du hast den Indikator so exotisch geschrieben.

Es ist nicht exotisch, es ist ein Versuch, sich mit dem Indikator zu identifizieren. Der Versuch, es auf eine zivilisiertere Weise zu tun, erwies sich als Flop.
#property indicator_separate_window
#property indicator_buffers 0
#property indicator_plots   0

bool WhereIAm( long &Chart_ID, int &Sub_Window )
{
  const string PrevShortName = MQLInfoString(MQL_PROGRAM_NAME);  
  
  MathSrand((int)TimeCurrent());
  const string ShortName = (string)MathRand();
    
  IndicatorSetString(INDICATOR_SHORTNAME, ShortName);    
  
  Chart_ID = ChartFirst();

  Print(Chart_ID);
  
  while (Chart_ID > 0)
  {
    const int Total = (int)ChartGetInteger(Chart_ID, CHART_WINDOWS_TOTAL);
    
    for (Sub_Window = 0; Sub_Window < Total; Sub_Window++)
    {
      const int TotalIndicators = ChartIndicatorsTotal(Chart_ID, Sub_Window);
      
      for (int i = 0; i < TotalIndicators; i++)
        if (ShortName == ChartIndicatorName(Chart_ID, Sub_Window, i))
        {
          IndicatorSetString(INDICATOR_SHORTNAME, PrevShortName);
          
          return(true);
        }
    }
    
    Chart_ID = ChartNext(Chart_ID);
  }

  IndicatorSetString(INDICATOR_SHORTNAME, PrevShortName);
  
  return(false);
}


#define  TOSTRING(A) #A + " = " + (string)A + " "

void OnInit( void )
{
  long Chart_ID;
  int Sub_Window;
  
  if (WhereIAm(Chart_ID, Sub_Window))
    Print(TOSTRING(Chart_ID) + TOSTRING(Sub_Window));
    
  return;
}
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[] )
{
  return(rates_total);
}
Es ist also schade, denn der Service Desk wurde, gelinde gesagt, in die Irre geführt.
[Gelöscht]  
fxsaber:
Ich schreibe schon lange nicht mehr in MQL5, ich bin kein Programmierer. Ich kenne MQL4 und jetzt auch ein wenig MQL5. Warum stoße ich fast täglich auf Bugs im MT5? In der Tat findet fast jeden Tag ein Mann auf der Straße zufällig Wanzen! Was hat es damit auf sich, warum ist es so roh? Überhaupt keine Tester? Ich würde nicht lügen, wenn ich sage, dass MT allmählich lästig wird. Und noch ärgerlicher ist die Erkenntnis , dass ich nichts anderes einprogrammieren kann.

Wirklich? Kaum zu glauben :)

Versuchen Sie

 
pako:

Wirklich? Kaum zu glauben :)

Versuchen Sie

Ich brauche nur für den Handel. Ich werde nicht hoch kommen, wenn ich ein Terminal, ein Prüfgerät und andere Dinge baue. Mein Leben wird nicht in Hunderten von Jahren gemessen.
 
fxsaber:
Es ist nicht exotisch, es ist ein Versuch, sich mit einem Indikator zu identifizieren. Der Versuch, es auf eine zivilisiertere Art und Weise zu tun, erwies sich als Flop, denn bei Servicedesk war es irreführend, um es milde auszudrücken.

Bitte beachten Sie Punkt 2:

https://www.mql5.com/ru/docs/chart_operations/chartwindowfind

Zur Antwort in der Servicedesk - alle Menschen machen manchmal Fehler.

Документация по MQL5: Операции с графиками / ChartWindowFind
Документация по MQL5: Операции с графиками / ChartWindowFind
  • www.mql5.com
Операции с графиками / ChartWindowFind - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
[Gelöscht]  
fxsaber:
Ich brauche nur einen für den Handel. Es macht mir keinen Spaß, ein Terminal, einen Tester und so weiter zu bauen. Mein Leben wird nicht in Hunderten von Jahren gemessen.
Wir nahmen die Daten von MT und verarbeiteten sie zu einer Dll.
 
pako:
Daten von mt genommen, in dll verarbeitet.
Kein Problem mit der Sprache, Probleme mit der Visualisierung (Indikatoren) und dem Datum (Copyticks). Dies in eine DLL zu schreiben, ist reine Zeitverschwendung.
 
Anton:

Bitte beachten Sie Punkt 2:

https://www.mql5.com/ru/docs/chart_operations/chartwindowfind

Was die Antwort im Service Desk angeht - alle Menschen machen manchmal Fehler.

Danke, jetzt muss nur noch die Zweideutigkeit des Kurznamens geklärt werden.
[Gelöscht]  
fxsaber:
Kein Problem mit der Sprache, Probleme mit der Visualisierung (Indikatoren) und dem Datum (Copyticks). Dies in eine DLL zu schreiben, ist eine Katastrophe.
Gibt es einen Fisch in den Zecken?