Generatore di ID unico per un particolare indicatore - pagina 2

 
angevoyageur:
Qual è il problema con il numero di sottofinestra?
Non sono sicuro di cosa tu stia pensando ma, quando si applica un modello o si ricarica, un valore come CHART_WINDOWS_TOTAL viene riportato come il totale degli indicatori sul grafico, non il totale caricato finora (cioè non aumenta uno per uno man mano che ogni indicatore viene inizializzato).
 
gchrmt4:
Non sono sicuro di cosa tu stia pensando ma, quando si applica un modello o si ricarica, un valore come CHART_WINDOWS_TOTAL viene riportato come il totale degli indicatori sul grafico, non il totale caricato finora (cioè non aumenta uno per uno man mano che ogni indicatore viene inizializzato).

Ok, subwindow non è affidabile, in quanto può cambiare.
 
angevoyageur:
Qual è il problema con il numero di sottofinestra?

Con la 610/614 era quasi impossibile recuperarlo correttamente dall'indicatore stesso, nella 616 è quasi del tutto risolto, ma ancora fallisce in DeInit().
 
Ovo:

Con la 610/614 era quasi impossibile recuperarlo correttamente dall'indicatore stesso, nella 616 se è per lo più fissato, ma ancora fallisce in DeInit().
ChartWindowFind() sembra funzionare per me. Comunque, non è affidabile, perché se rimuovi un indicatore e poi ne aggiungi un altro, il numero della sottofinestra viene cambiato.
 
angevoyageur:
ChartWindowFind() sembra funzionare per me. Comunque, non è affidabile, perché se rimuovi un indicatore e poi ne aggiungi un altro, il numero della sottofinestra viene cambiato.
Stesso problema con ChartWindowFind() come con la vecchia WindowFind(): è inutile se c'è più di un'istanza dello stesso indicatore, ad esempio due finestre RSI che mostrano calcoli per periodi diversi (o lo stesso periodo, ma cambiamenti in altri parametri che non sono riflessi in nessuna chiamata a IndicatorShortName).
 
gchrmt4:
Stesso problema con ChartWindowFind() come con la vecchia WindowFind(): è inutile se c'è più di un'istanza dello stesso indicatore, per esempio due finestre RSI che mostrano calcoli per periodi diversi.

Questo è quello che ho detto, inaffidabile.

È un problema interessante. Poiché penso che abbia senso aggiungere lo stesso indicatore più volte quando si utilizzano diversi parametri di input, un modo sarebbe quello di formare una firma da questi parametri. O naturalmente una delle soluzioni che hai proposto in precedenza.

 
gchrmt4:
Stesso problema con ChartWindowFind() come con la vecchia WindowFind(): è inutile se c'è più di un'istanza dello stesso indicatore, ad esempio due finestre RSI che mostrano calcoli per periodi diversi (o lo stesso periodo, ma cambiamenti in altri parametri che non sono riflessi in nessuna chiamata a IndicatorShortName).

Infatti ChartWindowFind funziona già per gli indicatori nella 616, eccetto l'OnDeinit. Ma ancora troppo bagnato per essere considerato stabile, quindi mi piace evitarlo in qualsiasi creazione di ID.

Grazie per l'input, sceglierò o il blocco del file o aspettando la modifica di GetTickCount. Devo provare.

 
angevoyageur:

Questo è quello che ho detto, inaffidabile.

È un problema interessante. Poiché penso che abbia senso aggiungere lo stesso indicatore più volte quando si utilizzano diversi parametri di input, un modo sarebbe quello di formare una firma da questi parametri. O naturalmente una delle soluzioni che hai proposto in precedenza.


Approfitto delle nuove capacità della GUI di MQL4 per impostare e cambiare i parametri al volo. Quindi la firma all'inizio è la stessa, e comunque ha senso aggiungerla più volte. Non menzionato, che se fosse stato possibile, avrebbe dovuto comportarsi correttamente.
 
Ovo:

Infatti ChartWindowFind funziona già per gli indicatori nella 616, eccetto l'OnDeinit. Ma ancora troppo bagnato per essere considerato stabile, quindi mi piace evitarlo in qualsiasi creazione di ID.

Grazie per l'input, sceglierò o il blocco del file o aspettando la modifica di GetTickCount. Devo provare.

Mentre leggevo questo, ho insegnato a usare il tempo come GetTickCount sopra.

Poi ho insegnato su __DATETIME__ Data e ora di compilazione del file.

https://docs.mql4.com/constants/namedconstants/compilemacros

Cosa ne pensate?

 

Non sono sicuro che tu intendessi "insegnato".

Ne uso alcuni per il debugging, ma per __DATETIME__ non ho ancora trovato alcun uso... dove stai puntando?