Impossibile vedere un grafico offline - pagina 5

 
qjol:

il comando 33324 è per aggiornare i dati non un tick


Ciao Raptor,

Sono d'accordo con qjol che non sembra quello che sto cercando. I comandi 33324 sembrano solo chiedere alla finestra del grafico offline di aggiornare/rinnovare i dati, non ma innescare un tick al grafico offline (cioè innescare l'OnStart di un EA). Inoltre, PeriodConvert è uno script, non un EA.

Per aggirare il problema, sto aggiungendo un ciclo infinito all'interno di OnTimer(), in modo che la logica principale continui a funzionare per sempre (con un po' di sonno). Fondamentalmente, cambiandolo in uno script.

Ma spero ancora che questo sarà risolto nel nuovo MT4.

 
lingwuchung:


Ciao Raptor,

Sono d'accordo con qjol che non sembra quello che sto cercando. I comandi 33324 sembrano solo chiedere alla finestra del grafico offline di aggiornare/rinnovare i dati, non ma innescare un tick al grafico offline (cioè innescare l'OnStart di un EA). Inoltre, PeriodConvert è uno script, non un EA.

Per aggirare il problema, sto aggiungendo un ciclo infinito all'interno di OnTimer(), in modo che la logica principale continui a funzionare per sempre (con un po' di sonno). Fondamentalmente, cambiandolo in uno script.

Ma spero ancora che questo venga risolto nel nuovo MT4.

Su no! Tester non può funzionare se faccio un workaround come questo! Rimarrà alla prima barra per sempre!

 
lingwuchung:


Ciao Raptor,

Sono d'accordo con qjol che non sembra quello che sto cercando. I comandi 33324 sembrano solo chiedere alla finestra del grafico offline di aggiornare/rinnovare i dati, non ma innescare un tick al grafico offline (cioè innescare l'OnStart di un EA). Inoltre, PeriodConvert è uno script, non un EA.

Per aggirare il problema, sto aggiungendo un ciclo infinito all'interno di OnTimer(), in modo che la logica principale continui a funzionare per sempre (con un po' di sonno). Fondamentalmente, cambiandolo in uno script.

Ma spero ancora che questo sarà risolto nel nuovo MT4.

Ok, ho capito la distinzione, cosa hai fatto prima per far funzionare start()?
 
RaptorUK:
OK, vedo la distinzione, che cosa hai fatto prima per far funzionare start() ?


Risolto! Grazie a qjol. Ha già dato la risposta e l'ho notato solo ora!

La soluzione è semplice. Basta sostituire così nello script che genera il grafico offline:

RegisterWindowMessageA("MetaTrader4_Internal_Message") con RegisterWindowMessageW("MetaTrader4_Internal_Message")

PostMessageA(hwnd, MT4InternalMsg, 2, 1) con PostMessageW(hwnd, MT4InternalMsg, 2, 1)

 
qjol:

il comando 33324 è per aggiornare i dati non un tick


qjol! Grazie Grazie! In realtà ho visto che la gente in altri forum non ha ancora risolto questo problema ad oggi. Questo forum è il primo (almeno quelli che chiedono aiuto)! Rocks! Questo mi porta la buona sensazione di essere ancora un programmatore capace!!! :)

 
L'ho fatto per me stesso, lieto di condividere
 
RaptorUK:
Forse dovresti leggere le differenze tra il vecchio mql4 e il nuovo mql4 . . .


Forse dovreste supportare il codice legacy in modo che i commercianti produttivi non debbano perdere tempo con gli hobbisti della codifica.

YL

 

Basta con le discussioni.

33324 non è un comando per tick in arrivo. È un comando di aggiornamento del grafico.

Su altri comandi basta cercare su Google. Noi trattiamo l'uso di tali comandi come un hack, ma non abbiamo cambiato i comandi per circa 6 o 7 anni e non li cambieremo in futuro. (top secret)

C'era un bug con nomi di simboli esotici sui grafici offline (come ERRUDD, solo uno scherzo)/ Risolto nella build 605


Ora riguardo al "degrado"

Puoi impostare il timer in miilisecondi non solo in secondi. Basta provare

Prova anche EventChartCustom. Vi piacerà

 
yellowlion:


Forse dovreste supportare il codice legacy in modo che i commercianti produttivi non debbano perdere tempo con gli hobbisti della codifica.

Come vorresti che lo facessi?
 
stringo:

Basta con le discussioni.

33324 non è un comando per il tick in arrivo. È un comando di aggiornamento del grafico.

Su altri comandi basta cercare su Google. Trattiamo l'uso di tali comandi come un hack, ma non abbiamo cambiato i comandi per circa 6 o 7 anni e non li cambieremo in futuro. (top secret)

C'era un bug con nomi di simboli esotici sui grafici offline (come ERRUDD, solo uno scherzo)/ Corretto nella build 605


Ora riguardo al "degrado"

Puoi impostare il timer in miilisecondi non solo in secondi. Basta provare

Prova anche EventChartCustom. Ti piacerà



Grazie per i workaround pubblicati, solo una nota.

Entrambi suppongono che gli indicatori e gli esperti collegati al grafico offline usino altri metodi che OnCalculate, OnTick o start(). Ciò significa che non sono una soluzione per indicatori ed esperti ex4 già pronti.