Errori, bug, domande - pagina 622

 
Dima_S:
Molto originale)

e qualche altra aggiunta.

Se si crea un indicatore sul grafico principale, esso gestisce con successo l'evento timer.
Se si crea un indicatore su un oggetto grafico o da un EA posizionato su questo oggetto, il timer non avverrà.

Anton mi ha spiegato in SD che la proprietà di disponibilità del timer è copiata dal thread del grafico da cui l'indicatore è posto. Non ci sono timer negli oggetti del grafico. Sono presenti solo nel grafico principale.

Così, l'indicatore timer sarà disponibile solo nel grafico principale e non nell'oggetto grafico.

Devi eseguire ChartIndicatorAdd in ogni caso. In modo che il timer cominci a funzionare.

 
Rosh:

Gli eventi del timer sono generati per il grafico e da lì ai programmi che girano su di esso (lanciati sopra di esso). Questa è l'ideologia - Esecuzione del programma:

Questo è il motivo per cui l'indicatore chiamato dall'Expert Advisor non accetta eventi timer. Prova ad applicare l'indicatore al grafico usando la funzione ChartIndicatorAdd, cambierà qualcosa?

Penso che il timer funzionerebbe bene come se tu gettassi semplicemente un indicatore su questo grafico. Se ci fosse solo un grafico, nessun problema.

Abbiamo bisogno di raccogliere molti grafici con diverse valute in uno solo.

Dovremo automatizzare l'apertura di molte piccole finestre e caricarle con "indicatore" (per ora).

Grazie a tutti per le sagge risposte.

 

Dima_S:

Dovremo automatizzare l'apertura di un mucchio di piccole finestre e lanciare un "induttore" su di esse (per ora).

Ma perché? Stai catturando con il timer, quindi non hai bisogno di molte finestre. L'unica finestra con l'indicatore è sufficiente. In questo indicatore, prescrivere la gestione di qualsiasi cosa con qualsiasi simbolo. È ancora sul timer, non sui ticchettii.
 
sergeev:
Perché? Stai catturando con il timer, quindi non hai bisogno di molte finestre. Una finestra con un indicatore è sufficiente. In questo indicatore, si può prescrivere la gestione di qualsiasi cosa con qualsiasi simbolo. È ancora sul timer, non sui ticchettii.
Il punto è che le zecche vengono catturate anche su molte coppie - formano secondi conteggi e poi vengono inviati attraverso la mappatura all'EA per un'ulteriore elaborazione)
 
Dima_S:
Il punto è che i tick vengono catturati anche da molte coppie, da cui si formano i secondi conteggi che poi vengono inviati tramite mappatura a Expert Advisor per un'ulteriore perversione di elaborazione)
Allora è più facile ottenere i tick dagli indici all'Expert Advisor e salvarli fino al prossimo conteggio dei secondi da un singolo timer (nell'Expert Advisor), poi formare un secondo pacchetto e cancellare l'"accumulatore".
 
Rosh:

Gli eventi del timer sono generati per il grafico e da lì ai programmi che girano su di esso (gettati sopra di esso). Questa è l'ideologia - Esecuzione del programma:

Pertanto, l'indicatore chiamato dall'Expert Advisor non accetta gli eventi del timer. Prova ad applicare l'indicatore a un grafico nell'Expert Advisor con la funzione ChartIndicatorAdd- cambierà qualcosa?

Dima_S:

Penso che il timer funzionerà allo stesso modo di quando si lancia semplicemente l'indicatore sul grafico. Se avessi solo un grafico, non ci sarebbero problemi.

Dovrei raccogliere molti grafici con diverse valute in uno solo.

Dovremo automatizzare l'apertura di molte piccole finestre e caricarle con "indicatore" (per ora).

Grazie a tutti per le risposte competenti.

Taki, il timer non ha funzionato da solo con questa sequenza di chiamate dall'Expert Advisor:

ChartOpen -> iCustom -> ChartIndicatorAdd

Sono apparsi dei grafici e sono stati aggiunti degli indicatori. Il timer ha iniziato a funzionare solo dopo che ho chiamato manualmente le proprietà di ogni nuovo grafico e ho cliccato su OK senza modifiche.

È un bug? Un bug?

 
MetaDriver:
Allora è più facile ottenere tick in Expert Advisor dagli induttori e salvare fino al prossimo secondo di conteggio da un singolo timer (in Expert Advisor), poi formare un secondo lotto e cancellare l'"accaparratore".
Non è più facile, è più complicato. L'ho già fatto in questo modo)
 
Dima_S:

Taki, il timer non ha funzionato da solo con questa sequenza di chiamate dall'Expert Advisor:

ChartOpen -> iCustom -> ChartIndicatorAdd

Sono apparsi dei grafici e sono stati aggiunti degli indicatori. Il timer ha iniziato a funzionare solo dopo che ho chiamato manualmente le proprietà di ogni nuovo grafico e ho cliccato su OK senza modifiche.

Un bug? Un bug?

Chiamare OnTimer() in Inite.

 
Dima_S:
Non è più semplice, ma più complicato. L'ho già fatto in questo modo).

Allora dovremo renderlo più difficile. :)

È l'unico modo giusto per farlo comunque.

Giudicate voi stessi. Anche se riuscite a far partire tutti i timer (il che non è un fatto), e anche se riuscite a farli funzionare in stretta sincronizzazione (il che è ancora più un fatto), otterrete comunque informazioni da essi o in modo sequenziale, e in un ordine sconosciuto (se c'è un solo core) o vicino ad esso (se ci sono diversi core). E poi devi tenere traccia della sequenza e di tutte quelle stronzate.

Suggerisco un compromesso: catturate i tick dalle spie e inviateli immediatamente al capo Expert Advisor con un segno di millisecondo(GetTickCount()). Expert Advisor li dispone secondo le loro etichette e li affetta in secondi blocchi.

Non è molto semplice, ma sarà preciso.

 
Urain:
Chiamare OnTimer() nell'init.
Stai per arrabbiarti davvero... :))