Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1112

 
Alexey Viktorov:

In OnChartEvent, dovete anche conoscere il nome esatto dell'oggetto. E non ne avete uno finché non avete l'oggetto stesso.

È, sulla creazione, in sparam.

In generale, funziona in OnChartEvent, ma non funziona nel tester.

 
Andrey Sokolov:

È, sulla creazione, in sparam.

In generale, funziona in OnChartEvent, ma non funziona nel tester.

Provate questa logica:

se c'è un nuovo oggetto ...

 
Andrey Sokolov:

È, sulla creazione, in sparam.

In generale, funziona in OnChartEvent, ma non funziona nel tester.

Ma a cosa dovrei paragonarlo? Come si fa a distinguere che questo è l'oggetto giusto? Come fai a sapere che funziona sulla stessa zecca?

Artyom Trishkin:

Provate questa logica:

Se c'è un nuovo oggetto ...

Sarà alla prossima spunta, non importa quanto sia difficile.

 
Artyom Trishkin:

Provate questa logica:

se c'è un nuovo oggetto ...

Si prega di chiarire come esattamente

 
Alexey Viktorov:

Ma a cosa si paragona sparam? Come si fa a capire se è l'oggetto giusto? La parte del nome.

Come si fa a sapere se funziona sulla stessa zecca? - Emettendo l'output in stampa.

 
Andrey Sokolov:

Ma a cosa si paragona sparam? Come si fa a capire se è l'oggetto giusto? La parte del nome.

Come si fa a sapere se funziona sulla stessa zecca? - Uscita di stampa.

1. Guarda gli altri oggetti per vedere se quelle parti del nome corrispondono.

2. Stampa il tempo in secondi? E quanto spesso ci sono le zecche?

 
Alexey Viktorov:


Sarà, per così dire, al prossimo tick.

Beh, aspetta..., in un timer di millisecondi possiamo sapere il volume attuale. Finché il volume non è cambiato (tick corrente) controlliamo se è apparso un nuovo oggetto. Non appena il numero passato di oggetti non è uguale al numero attuale di oggetti, mentre il Volume corrente è uguale al Volume passato - catturato l'apparizione di qualche oggetto all'interno del tick corrente - fate quello che vi serve.
O mi sbaglio? Dovrebbe essere controllato...

SZZ. Come vediamo - quando un nuovo oggetto appare nel timer, inviamo l'evento utente, in cui scriviamo le informazioni necessarie. Tutta l'elaborazione dell'apparizione di un nuovo oggetto in questo modo sarà fatta nel gestore di eventi. E non è sicuro che la supposizione sia corretta, e che valga la pena...

 
Artyom Trishkin:

Aspetta un attimo, in un timer di millisecondi possiamo sapere il volume attuale. Finché il volume non è cambiato (tick corrente) controlliamo se è apparso un nuovo oggetto. Non appena il numero passato di oggetti non è uguale al numero attuale di oggetti, mentre il Volume corrente è uguale al Volume passato - catturato l'apparizione di qualche oggetto all'interno del tick corrente - fate quello che vi serve.
O mi sbaglio? Dovrebbe essere controllato...

SZZ. Come vediamo - quando un nuovo oggetto appare nel timer, inviamo l'evento utente, in cui scriviamo le informazioni necessarie. Tutta l'elaborazione della comparsa di un nuovo oggetto in questo modo sarà fatta nel gestore di eventi. E non è sicuro che l'ipotesi sia corretta, e che valga la pena...

Se non nel tester, OnChartEvent è sufficiente, ma nel tester né il timer né OnChartEvent funzionano.

Finora, il problema è farlo funzionare nel tester sullo stesso tick.

 
Alexey Viktorov:

1. Guarda gli altri oggetti per vedere se queste parti del nome corrispondono. - Questo è abbastanza per me.

2. Stampa il tempo in secondi? Con quale frequenza si presentano le zecche? - Non c'è nessun ritardo percettibile, potete vedere voi stessi, il codice è minimo

 
Artyom Trishkin:

Aspetta un attimo, nel timer dei millisecondi possiamo conoscere il volume attuale. Finché il volume non è cambiato (tick corrente) controlliamo se è apparso un nuovo oggetto. Non appena il numero passato di oggetti non è uguale al numero attuale di oggetti, mentre il Volume corrente è uguale al Volume passato - catturato l'apparizione di qualche oggetto all'interno del tick corrente - fate quello che vi serve.
O mi sbaglio? Dovrebbe essere controllato...

SZZ. Come vediamo - quando un nuovo oggetto appare nel timer, inviamo l'evento utente, in cui scriviamo le informazioni necessarie. Tutta l'elaborazione dell'occorrenza di un nuovo oggetto in questo modo sarà fatta nel gestore di eventi. E non è sicuro che la supposizione sia corretta, e che valga la pena...

Come ho capito il compito:

Su un grafico c'è un indicatore che disegna dei segni e un EA che legge questi segni.

L'Expert Advisor deve leggere su un tick il segno che l'indicatore ha disegnato sullo stesso tick. Dov'è la garanzia che l'indicatore lavorerà più velocemente dell'Expert Advisor? L'evento si verificherà simultaneamente nell'indicatore e nell'Expert Advisor. In secondo luogo, anche in un codice, dopo ObjectCreate è impossibile leggere le proprietà dell'oggetto, nonostante l'oggetto sia già stato creato.

Dubito fortemente della possibilità di una tale trovata. Ma sarei molto felice se mi sbagliassi.