marketeer: Chiarire la domanda - il progresso dovrebbe funzionare nell'indicatore. Il tuo codice, quando viene trasferito all'indicatore, smette di visualizzare il commento a runtime.
Se metti in loop l'indicatore, puoi "sospendere" l'intero terminale, ma l'Expert Advisor ti permette di prendere in giro i fili come vuoi.
marketeer: Per chiarire la domanda - il progresso dovrebbe funzionare nell'indicatore. Il tuo codice, quando viene trasferito all'indicatore, smette di visualizzare il commento a runtime.
barabashkakvn: Se l'indicatore è in loop, l'intero terminale può essere "appeso". Ma l'Expert Advisor permette di prendere in giro i flussi come si vuole.
Beh, il fatto che un indicatore possa bloccare il terminale è un difetto del terminale stesso. E i calcoli analitici, non legati al trading, dovrebbero essere nell'indicatore - soprattutto perché richiede la visualizzazione dei buffer, cioè non è nemmeno un compito per lo script.
Non c'è niente in loop nell'indicatore - nel senso che non c'è un ciclo infinito. C'è un calcolo controllato ma ci vuole tempo.
Индикатор производит вычисление одного значения для бара достаточно длительное время (запрос к БД, вычисление на стороне БД, возврат значения функции). - - Категория: технические индикаторы и анализ рынка форекс
barabashkakvn: In quale chiamata di funzione dell'indicatore eseguite il calcolo?
Se avete davvero bisogno di eseguire tali calcoli, ha senso fare il "batch calculate".
Il codice difficile è nella parte di calcolo, non nell'inite se questa è la domanda. Il "calcolo batch" è una seccatura separata per salvare e ripristinare gli stati intermedi, e rallenta il processo stesso. Non è un'opzione.
Sì, è comprensibile che la via d'uscita sia tenere il compilatore in una cartella diversa da quella del terminale. Ma i file *.ex5 freschi non saranno nemmeno creati nella cartella del terminale, il che significa che devono essere costantemente spostati nel posto giusto... Anche se potrebbe esserci una chiave di comando per specificare il percorso dei file compilati?
joo: Sì, è comprensibile che la via d'uscita sia tenere il compilatore in una cartella diversa da quella del terminale. Ma i file *.ex5 freschi non saranno nemmeno creati nella cartella del terminale, il che significa che devono essere costantemente spostati nel posto giusto... Anche se potrebbe esserci una chiave di comando per specificare il percorso dei file compilati?
Sì, potete specificare una directory predefinita nella chiave /i:
E:\>mql64.exe
MQL4/MQL5 Compiler x64 build 937 (15 May 2014)
Copyright 2001-2014, MetaQuotes Software Corp.
Usage: mql64.exe [<flags>] filename.mq5
/mql5 - compile mql5 source
/mql4 - compile mql4 source
/s - syntax check only
/i:<path> - set working directory
Chiarire la domanda - il progresso dovrebbe funzionare nell'indicatore. Il tuo codice, quando viene trasferito all'indicatore, smette di visualizzare il commento a runtime.
Per chiarire la domanda - il progresso dovrebbe funzionare nell'indicatore. Il tuo codice, quando viene trasferito all'indicatore, smette di visualizzare il commento a runtime.
Dalla guida di MQL4:
Programmi in esecuzione
Un breve riassunto dei programmi in MQL4 è mostrato nella tabella sottostante:
Programma
Esecuzione
Nota
Script
Nel proprio thread, tanti script quanti sono i thread di esecuzione per essi
Uno script in loop non può interrompere il lavoro di altri programmi
Esperto
Nel proprio thread, altrettanti esperti - altrettanti thread di esecuzione per loro
Un esperto in loop non può interrompere il lavoro di altri programmi
Indicatore
Un thread di esecuzione per tutti gli indicatori su un simbolo. Tanti simboli indicatori - tanti thread di esecuzione per loro
Un ciclo infinito in un indicatore fermerà tutti gli altri indicatori su questo simbolo
Se l'indicatore è in loop, l'intero terminale può essere "appeso". Ma l'Expert Advisor permette di prendere in giro i flussi come si vuole.
Beh, il fatto che un indicatore possa bloccare il terminale è un difetto del terminale stesso. E i calcoli analitici, non legati al trading, dovrebbero essere nell'indicatore - soprattutto perché richiede la visualizzazione dei buffer, cioè non è nemmeno un compito per lo script.
Non c'è niente in loop nell'indicatore - nel senso che non c'è un ciclo infinito. C'è un calcolo controllato ma ci vuole tempo.
...
Nulla è in loop nel tacchino - nel senso che non c'è un ciclo infinito. C'è un calcolo controllato, ma ci vuole tempo.
In quale chiamata di funzione dell'indicatore eseguite il calcolo?
Quindi, dopo tutto, come si fa a usare il compilatore di console se viene rimosso dal terminale?
Perché è nel terminale? Il terminale è tutto suo.
Basta tenere il compilatore altrove.
Perché è nel terminale? Il terminale è tutto suo.
Basta tenere il compilatore altrove.
Sì, è comprensibile che la via d'uscita sia tenere il compilatore in una cartella diversa da quella del terminale. Ma i file *.ex5 freschi non saranno nemmeno creati nella cartella del terminale, il che significa che devono essere costantemente spostati nel posto giusto... Anche se potrebbe esserci una chiave di comando per specificare il percorso dei file compilati?
Sì, potete specificare una directory predefinita nella chiave /i: