Hilfe bei der Codierung - Seite 684

 
bilbao:

liebe mladen

dieser ma-Indikator hat einen kleinen Fehler

könnten Sie ihn beheben?

mit freundlichen Grüßen

Manchmal wird eine falsche Linie gezeichnet, ähnlich wie in diesem Bild

Hallo bilbao, ist es nicht übermalen
 
shiva12:
Hallo bilbao, ist es nicht neu malen

Hallo

es ist nur 2 ma aber nur Linie zeichnen

perfekt für vielbeschäftigte Charts

 
bilbao:

Hallo

es ist nur 2 ma aber nur Linie zeichnen

perfekt für geschäftige Diagramme

Sie meinen also, dass es nicht neu gezeichnet wird, aber ich habe gesehen, dass es manchmal nicht aktualisiert wird.
 
mladen:
Eine Sache könnte das verhindern: die Überprüfung aller Symbole für Bereiche bei jedem Tick wird (unabhängig davon, wie es gemacht wird) eine Belastung für das Terminal sein, die die normale Arbeit des Terminals verhindern kann. Es ist nicht schwer, es einige Text(e) anzeigen zu lassen, aber all das bei jedem Tick zu überprüfen, ist kein "schneller Weg" (selbst wenn die minimale Überprüfung verwendet wird)

brauchen dies:

 
bilbao:

brauchen dies:

Ich weiß

Aber Sie haben ausdrücklich nach "allen Symbolen" gefragt. Ich habe versucht, Ihnen zu erklären, was passiert, wenn Sie versuchen, dies für alle Symbole zu tun. Für eine begrenzte Liste von Symbolen gibt es kein solches Problem. Jetzt müssen Sie sich entscheiden: Soll es eine begrenzte Liste von Symbolen sein (die mit weniger CPU-Belastung arbeiten kann) oder "alle Symbole" (was mit ziemlicher Sicherheit Ihr Terminal wie verrückt verlangsamen wird)

 

Denn wenn es um die begrenzte Liste von Symbolen geht, ist es so einfach wie dieses:

#property indicator_chart_window
#property indicator_buffers 0

extern string Symbols="EURUSD;EURJPY;GBPUSD;GBPJPY;USDJPY";;

//------------------------------------------------------------------
//
//------------------------------------------------------------------
string aSymbols[];
int init()
{
   Symbols = StringTrimLeft(StringTrimRight(Symbols));
   if (StringSubstr(Symbols,StringLen(Symbols)-1,1) != ";")
                    Symbols = StringConcatenate(Symbols,";");

         //
         //
         //
         //
         //
   
         int s=0,i=StringFind(Symbols,";",s);
         string current;
         while (i > 0)
         {
            current = StringSubstr(Symbols,s,i-s);
               ArrayResize(aSymbols,ArraySize(aSymbols)+1);
                           aSymbols[ArraySize(aSymbols)-1] = current;
                           s = i + 1;
                           i = StringFind(Symbols,";",s);
         }
   return(0);
}
int start()
{
   string comment="";
   for (int i=0; i<ArraySize(aSymbols); i++)
      comment = comment+aSymbols[i]+" "+(string)((iHigh(aSymbols[i],PERIOD_D1,0)-iLow(aSymbols[i],PERIOD_D1,0))/MarketInfo(aSymbols[i],MODE_POINT))+" points\n";
      Comment(comment);
   return(0);
}
 

Liebe mladen scheint zu gut genug zu sein, wenn es sich nicht um eine Übermalung handelt, aber nicht zu aktualisieren und zusätzliche Linien zu bilden, ursprünglich eingereicht von bilbao....

bitte versuchen Sie zu korrigieren

Dateien:
LineMA.mq4  4 kb
 
shiva12:

Liebe mladen scheint zu gut genug zu sein, wenn es sich nicht um eine Übermalung handelt, aber nicht zu aktualisieren und zusätzliche Linien zu bilden, ursprünglich eingereicht von bilbao....

bitte versuchen Sie zu korrigieren

Dies ist nur eine schnelle und schmutzige Lösung
Dateien:
LineMA.mq4  4 kb
 
mladen:
Dies ist nur eine schnelle und schmutzige Lösung
ohhh vielen Dank lieber Meister
 
mladen:

Denn wenn es um die begrenzte Liste von Symbolen geht, ist es so einfach wie dieses:

vielen Dank mladen
Grund der Beschwerde: