Errori, bug, domande - pagina 586

 

Ecco come l'ho studiato... 3 parametri attraverso ChartIndicatorAdd. 2 parametri attraverso la libreria. Il terzo viene aggiunto all'interno. Viene utilizzata la stessa funzione ChartIndicatorAdd. Quindi ho tutto scritto correttamente, ma non posiziona l'indicatore.

ChartIndicatorAdd(0,0,f_h);

cc.IndicatorAdd(0,f_h);
 
Karlson:

Ecco come l'ho studiato... 3 parametri attraverso ChartIndicatorAdd. 2 parametri attraverso la libreria. Il terzo viene aggiunto all'interno. Viene utilizzata la stessa funzione ChartIndicatorAdd. Quindi ho tutto scritto correttamente, ma non posiziona l'indicatore.

Guarda che tipo di indicatore e cosa succede direttamente al momento dell'esecuzione. L'hai eseguito attraverso il debugger?

Se non ci sono errori nella chiamata, voglio suggerire che il controllo non passa.

//checking (проверка корректности идентификатора графика)
   if(m_chart_id<=0) return(false);

Il presupposto è che al momento dell'inizializzazione della classe l'ID è impostato a -1 (se non viene sovrascritto ci saranno problemi)

CChart::CChart()
  {
//--- initialize protected data
   m_chart_id=-1;
  }
 
uncleVic:
L'utilizzo della libreria richiede 2 parametri. Grafico e sottofinestra.
Mi scuso per l'imprecisione. Qui intendevo la classe CIndicator.
 
Interesting:
Bisogna guardare che tipo di induttore e cosa sta succedendo al momento dell'esecuzione. L'hai eseguito attraverso il debugger?

Forse l'ho dimenticato:

cc.Attach();
 
uncleVic:

Potrei aver dimenticato:

Sì, apparentemente ID = -1 e Attach non è stato completato.
 
TheXpert:

Il seguente codice:

Chiama il costruttore di label ogni volta che la funzione viene chiamata.


Grazie per il messaggio, una correzione sarà rilasciata nella prossima build.
 
Interesting:
Sì, sembra che ID = -1 e Attach non sia stato eseguito.

Grazie.

Attach() manca davvero, come Refresh nel caso di Bid() .Non l'ho trovato nella documentazione, forse lo troverò negli esempi.

int f_h=iFractals(_Symbol,_Period);
   
    cc.Attach(ChartID());
    cc.IndicatorAdd(0,f_h); 

Funziona.

 
Karlson:

Grazie, lo controllerò stasera.

Grafico ID 0.Current.

Attach() manca davvero, come Refresh nel caso di Bid() .Non l'ho trovato nella documentazione, forse posso trovarlo negli esempi.

1. non fa differenza, l'inseguimento non funzionerà comunque (se fossi lo sviluppatore, controllerei il superamento del limite massimo).

2. Elenco di metodi ed eventi della classe

Proprietà

Allegare

Lega il grafico a un'istanza della classe.


Se non è un riferimento diretto, è almeno un'allusione evidente.

PS

Raccomando di collegare l'indicatore e attaccare il grafico nel blocco di inizializzazione (con un controllo esplicito dell'incapacità del gestore e del successo dell'attacco).

Disegnare un indicatore in un blocco di lavoro, con controllo dell'handicap della maniglia e del valore della sottofinestra che supera il limite consentito.

 
Interesting:

Se questa non è un'indicazione diretta, è almeno un indizio evidente.

Mi sono limitato a leggere direttamente i metodi necessari, perché di solito c'è scritto quello che bisogna fare prima...

In generale, sto cercando di capire cos'è, a cosa serve e dove cucirlo.

 

Buon pomeriggio.

Ho perso la capacità di fermarmi a un punto di interruzione.
Dopo aver premuto il pulsante di debug, il processo si avvia e si ferma immediatamente.
Non può fermarsi nemmeno nella funzione di avvio.
Allo stesso modo non funziona con gli Expert Advisors e gli indulatori, anche quelli del pacchetto standard.

E stranamente, il debug funzionava bene subito dopo la sua installazione.
Ho l'ultima versione di mt5 e windows 7.

Chi può aiutare?