Discussione sull’articolo "L'Istogramma dei Prezzi (Market Profile) e la sua implementazione in MQL5" - pagina 2

 

2010.03.09 21:12:54 Istogramma dei prezzi (#DD,MN1) Non c'è uno storico accessibile PERIOD_D1

 
gen5s:

Consulente meraviglioso! Era...

Il problema è comparso a partire dalla build 251. Ora sulle build più recenti non si riflette affatto, anche se il log dice che è caricato.

Forse è necessario cambiare qualcosa, spostarlo in un'altra directory?

Grazie per l'attenzione, ho davvero commesso un errore. Corretto. Attendere un aggiornamento.

PS

C'era un errore nella ricerca degli array max/min, dopo averlo corretto, è comparso un bug nel codice EA

in ClassPriceHistogram.mqh righe 188,189 e 205 è necessario fissare WHOLE_ARRAY a 0.

 
bcsunwww:

2010.03.09 21:12:54 Istogramma dei prezzi (#DD,MN1) Non c'è uno storico accessibile PERIOD_D1

Grazie per il vostro messaggio. Risolto, attendere gli aggiornamenti.
 
mql5:

Grazie per avermelo fatto notare, ho commesso un errore. È stato corretto. Aspettate l'aggiornamento.

PS

C'era un errore nella ricerca degli array max/min, dopo averlo risolto è comparso un bug nel codice dell'Expert Advisor.

In ClassPriceHistogram.mqh alle righe 188,189 e 205 è necessario correggere WHOLE_ARRAY a 0.

Grazie per aver suggerito (WHOLE_ARRAY), perché ero già stanco di cercare l'errore.
 
vdv2001:
Grazie per il suggerimento(WHOLE_ARRAY), ero già stanco di cercare l'errore.
Purtroppo questo non è l'unico errore nel codice dell'esperto. Cercheremo di trovare e correggere il codice sorgente.
 

PriceHistogram.mq5 non funziona sul grafico. I messaggi di errore del meta editor sono riportati nel file allegato.

File:
 

Sostituito il file incluso ClassPriceHistogramA.mqh:

  • ridotto il numero di tentativi di copia dei dati di prezzo AMOUNT_OF_ATTEMPTS=2;
  • aggiunta la funzione PrintErrorOnCopyFunction() per emettere messaggi quando il tentativo di eseguire la funzione CopyXXX() fallisce.
    //+------------------------------------------------------------------+
    //| visualizza un messaggio quando la copia fallisce |
    //+------------------------------------------------------------------+
    void PrintErrorOnCopyFunction(string func_name,string symbol,ENUM_TIMEFRAMES tf,int err_code)
      {
       Print(func_name,"Errore nella copia dei dati di prezzo".,err_code);
       Print("Il primo appuntamento con il simbolo-periodo".+
             symbol+" "+TimeframeToString(tf)+
             " per ora = "+
             (datetime)SeriesInfoInteger(symbol,tf,SERIES_FIRSTDATE));
       Print("Il primissimo appuntamento della storia con il simbolo sul server =",
             (datetime)SeriesInfoInteger(symbol,tf,SERIES_SERVER_FIRSTDATE));
       Print("Dati del simbolo sincronizzati =",
             (bool)SeriesInfoInteger(symbol,tf,SERIES_SYNCRONIZED));
       int bars=Bars(symbol,tf);
       int max_bars_in_chart=TerminalInfoInteger(TERMINAL_MAXBARS);
       Print("Numero di barre nella cronologia per periodo di simbolo corrispondente = ",bars,
             "   max_bars_in_chart =",max_bars_in_chart);
       datetime firstbar[];
       int copied=CopyTime(symbol,tf,bars-1,1,firstbar);
       if(copied<0)
         {
          Print("Il primo bar disponibile ha un orario di apertura".,firstbar[0]);
          Comment("Potrebbe essere necessario aumentare il valore di 'Numero massimo di barre sul grafico'".);
         }
       else Print("Impossibile ottenere l'orario di apertura del bar più vecchio disponibile".);
       ResetLastError();
      }
Sarebbe più corretto controllare la cronologia disponibile prima di eseguire le operazioni di CopyXXX(), analizzare il numero di barre sul grafico utilizzando il parametro
TerminalInfoInteger(TERMINAL_MAXBARS);
e fare un tentativo di scambiare i dati (se ha senso) come nell'esempio Organizzazione dell'accesso ai dati
 

Ora funziona perfettamente. Si prega di scaricare i file aggiornati.

La documentazione completa dei codici sorgente dell'articolo è ora disponibile: L'istogramma dei prezzi (profilo di mercato) e la sua implementazione in MQL5

La documentazione è stata creata da Doxygen.

Vedere i dettagli nell'articolo Documentazione generata automaticamente per il codice MQL5.

The Price Histogram (Market Profile) and its implementation in MQL5
The Price Histogram (Market Profile) and its implementation in MQL5
  • 2010.01.28
  • Dmitry
  • www.mql5.com
The Market Profile was developed by trully brilliant thinker Peter Steidlmayer. He suggested to use the alternative representation of information about "horizontal" and "vertical" market movements that leads to completely different set of models. He assumed that there is an underlying pulse of the market or a fundamental pattern called the cycle of equilibrium and disequilibrium. In this article I will consider Price Histogram - a simplified model of Market Profile, and will describe its implementation in MQL5.
 

Ora tutto funziona. Scaricare i file aggiornati.

Aggiunta documentazione ai codici sorgente forniti nell'articolo: Market_Profile_Help.rar


La documentazione è stata creata con l'aiuto del programma Doxygen.

I dettagli nell'articolo Creazione automatica di documentazione per i programmi MQL5.

 
Automated-Trading писал(а) # :

Ora tutto funziona. Scaricare i file aggiornati.

Non funziona, non riesce a gestire la tempistica della prima barra e dà un avviso durante la compilazione. "conversione implicita da 'numero' a 'stringa' ClassPriceHistogram.mqh 404 10"

build 256 Allego il log.