Librerie: Esperto - pagina 9

 
vek_y4icb:
Bella libreria! Non avrei mai pensato di implementare l'apertura dell'Expert Advisor in questo modo. Potresti dirmi come definire un grafico attivo usando mql senza usare la dll. Ho fatto un po' di lavoro su winapi, ma si è rivelato troppo macchinoso:

Forse sai come implementare questo caso su mql o almeno con la dll, ma in modo più semplice?

Se una finestra figlia nel terminale è massimizzata, lo è (le altre non sono considerate massimizzate). Per questo motivo è possibile controllare ChartGetInteger(id, CHART_IS_MAXIMIZED, 0, value) nel ciclo ChartFirst/ChartNext, e dove il valore sarà 1 - questa è la finestra attiva.

 
Stanislav Korotky:

Se una finestra figlia nel terminale è massimizzata, lo è (le altre non sono considerate massimizzate). Per questo motivo è possibile controllare ChartGetInteger(id, CHART_IS_MAXIMIZED, 0, value) nel ciclo ChartFirst/ChartNext e se il valore è 1, questa è la finestra attiva.

Questo è un po' diverso da quello che mi serve. Ma grazie comunque!!!

 
fxsaber:

Un piccolo flyhack consiste nell'eseguire gli EA/script sugli oggetti OBJ_CHART.

In questo modo gli Expert Advisor lanciati si bloccano: non vengono eseguiti in alcun modo. Ma gli script funzionano perfettamente. Questo apre alcune possibilità.

Ad esempio, è possibile utilizzare le funzioni-ordine degli indicatori sui grafici in cui è già presente un Expert Advisor in esecuzione. Non è necessario aprire nuovi grafici ausiliari.


Compilazione dello script Scripts\OrderSend.mq5


Ed eseguire l'indicatore che "può commerciare"

Buon pomeriggio. Ho riscontrato il seguente problema. Quando lancio un Expert Advisor su OBJ_CHART, si rifiuta di lavorare con OnTick. Sapete se esiste una soluzione per far funzionare OnTick?

 
vek_y4icb:

Buon pomeriggio. Ho riscontrato il seguente problema. Quando lancio l'Expert Advisor su OBJ_CHART, si rifiuta di lavorare con OnTick. Sapete se esiste una soluzione per far funzionare OnTick?

Lei stesso ha citato il messaggio relativo agli Expert Advisor morti su OBJ_CHART. Si tratta di una limitazione di MT5.

 
fxsaber:

Lei stesso ha citato il messaggio relativo agli EA morti su OBJ_CHART. Si tratta di una limitazione di MT5.

OnTimer funziona su di essi.

 
vek_y4icb:

OnTimer funziona su di loro.

Sarebbe più rapido per voi controllare, non ricordo.

 
fxsaber:

È più veloce per voi controllare, io non ricordo.

No, non era una domanda) OnTimer funziona su tali esperti, questo è il punto. Ma OnTick si rifiuta assolutamente di farlo.

 
In generale, da quanto ho capito, OnTick è fondamentalmente impossibile da attivare su un Expert Advisor di questo tipo e non ci sono soluzioni per questo?
 
vek_y4icb:
In generale, da quanto ho capito, OnTick è fondamentalmente impossibile da abilitare su un Expert Advisor di questo tipo e non ci sono soluzioni per farlo?

Non esistono soluzioni per abilitare le funzioni On. Si può emulare chiamando OnTick in un OnTimer ad alta frequenza e ottenendo (se necessario) i tick mancanti tramite CopyTicks.

 
fxsaber:

Non esistono soluzioni per includere le funzioni On. Si può emulare chiamando OnTick in un OnTimer ad alta frequenza e recuperando (se necessario) i tick mancanti tramite CopyTicks.

È così che faccio io. Grazie per aver risposto!