Diskussion zum Artikel "Das Preishistogramm (Marktprofil) und seine Umsetzung in MQL5" - Seite 10

 
Hallo, weiß jemand, wie man den 'ClassExpert'-Code ändern kann, um ein wöchentliches oder monatliches Marktprofil zu erstellen? Ich bitte um Hilfe
 
Hallo, ich kann die angehängten Dateien nicht finden! Nur das Preishistogramm.
 
Thiago Duarte:

Entfernen Sie den Befehl "Delete()" und es wird funktionieren.

Tatsächlich wurde die Löschfunktion ohne Typ deklariert; wenn Sie sie auf "void" setzen, wird sie wieder korrekt funktionieren.
 

Hey Jungs, ich wirklich mochte diesen Indikator, ich habe über Marktprofil für eine Weile lernen und dies ist die beste a gefunden.


Ich habe gerade eine änderung in der Methode der Berechnung des Profils, ich verwendet das Volumen tick statt überprüfen, nur wenn der Preis Vergangenheit in den Punkt. Ich tat dies, weil, wenn Sie sehen, Trades und die verschiedenen Zeiten haben unterschiedliche Pfund, Sie können sehen, es in das Volumen-Histogramm. So können wir nicht junt zählen, wenn Preis ist es fügen Sie ein.


Sind Sie damit einverstanden?


Die Änderung, die ich vorgenommen habe, zeigte Unterschiede zwischen den beiden Metriken

 
Hallo Weiß jemand, ob es möglich ist, einen Roboter zu verraten nur in diesen Zeilen des POC? wenn ja, wie kann ich es tun? weil ich alle Variablen in der ClassPriceHistogram-Datei testen und die Werte sind alle Nullen, kann mir jemand helfen?
 
Hallo Luiz@Luiz Vinicius Pereira Rocha - so Kumpel, ich bin neu in der Programmierung, und ich arbeitete an einem EA, die nur POCs, hohe und niedrige Bewertungen verfolgt, und ich landete diesen Indikator zu finden. Allerdings konnte ich nicht finden, den Ort, wo es speichert die Poc Punkte, wenn ich die Druckfunktion auf einige der Variablen des Autors wie verwenden: Poc_value, Null-Werte erscheinen. können Sie mir helfen?
 

Hallo Dmitri,

zunächst einmal: Vielen Dank für deinen tollen Artikel und deine Arbeit!

Obwohl es lange her ist, dass du ihn veröffentlicht hast, funktioniert er gut.

Was ich hier für dich und die Community habe, ist ein Update, so dass das Histogramm das Tickvolumen verwendet, da die Verwendung von Preisaktionen in Zeitbereichen, in denen das Volumen fast Null ist, nicht viel bringt.

Ersetzen Sie den entsprechenden Code in der Datei ClassPriceHistogram.mqh


bool CPriceHistogram::calculationPOCs()
  {
   int rates_total,rates_high,rates_time,rates_tv,index;
   double iHigh[],iLow[];
   long iTV[];
   datetime iTime[];
// Ïîëó÷àåì äàííûå çà ïåðèîä ñ time_start äî time_end / Wir erhalten die Daten von time_start bis time_end
   int err=0;
   do
     {
      rates_time=CopyTime(NULL,PERIOD_M1,time_start,time_end,iTime);
      rates_high=CopyHigh(NULL,PERIOD_M1,time_start,time_end,iHigh);
      rates_total=CopyLow(NULL,PERIOD_M1,time_start,time_end,iLow);
      
      rates_tv=CopyTickVolume(NULL,PERIOD_M1,time_start,time_end,iTV);
      
      err++;
     }
   while((rates_time<=0 || (rates_total!=rates_high || rates_total!=rates_time || rates_tv!=rates_time)) && err<AMOUNT_OF_ATTEMPTS);
   if(err>=AMOUNT_OF_ATTEMPTS)
     {
      return(false);
     }
   poc_start_time=iTime[0];
   high_day=iHigh[ArrayMaximum(iHigh,0,rates_total)];
   low_day=iLow[ArrayMinimum(iLow,0,rates_total)];
   int count=int((high_day-low_day)/_Point)+1;
// Ïîäñ÷åò äëèòåëüíîñòè íàõîæäåíèÿ öåíû íà êàæäîì óðîâíå / Zählung der Dauer der Feststellung des Preises auf jedem Niveau
   int ThicknessOfLevel[];    // ñîçäàåì ìàññèâ äëÿ ïîäñ÷åòà òèêîâ / wir erstellen ein Array für die Anzahl der Tics
   ArrayResize(ThicknessOfLevel,count);
   ArrayInitialize(ThicknessOfLevel,0);
   for(int i=0;i<rates_total;i++)
     {
      double C=iLow[i];
      long CTV=iTV[i];
      // Verteilen Sie das Tickvolumen des Minutenbalkens auf alle möglichen Punkte des Balkens
      // Das Inkrement pro Punkt wird also so aussehen ...
      int CInc=int(((iHigh[i]-iLow[i])/_Point));  
      while(C<iHigh[i])
        {
         int Index=int((C-low_day)/_Point);
         ThicknessOfLevel[Index]+=CInc;
         C+=_Point;
        }
     }


Ich gebe zu, es ist ein schneller Hack und ich habe nicht jeden Teil des Codes getestet, aber bis jetzt funktioniert es gut.

Hier ein Beispiel mit dem SP500 Index:


Linke Seite Originalcode. Rechte Seite mit Tickvolume

 

Lieber Dmitry

Ich hoffe, es geht Ihnen gut.

Wäre es möglich, dass du Puffer für die Linien implementierst?

Für jeden POC, vielleicht einen Vwap und Median?


Herzlichen Dank im Voraus

 
Nur eine Vorwarnung hier... Ich habe alle Dateien in die entsprechenden Verzeichnisse heruntergeladen, kompiliert und erhielt Fehler bezüglich ClassPriceHistogram.mqh. In Zeile 375 darin habe ich einfach
CPriceHistogram::Delete()

durch ersetzt.

void CPriceHistogram::Delete()

Funktioniert jetzt einwandfrei in AMP Futures' MT5 Version 5.00 Build 3661.

@Oleksandr, dieser "Indikator" ist technisch gesehen ein Experte. Indikatorpuffer sind in Experten nicht verfügbar. Puffer können effektiv mit Arrays in Experts nachgebildet werden, aber nur echte Indikatorpuffer können von iCustom aufgerufen werden, so dass zu diesem Zweck ein neuer benutzerdefinierter Indikator von Grund auf neu programmiert werden müsste. Leider liegen beide Optionen jenseits meiner Programmierfähigkeiten. Ich wünsche Ihnen viel Glück bei der Suche nach besserer Hilfe.

 
Gibt es eine Möglichkeit, die aktuelle Sichtweise darzustellen?


DANKE