Errori, bug, domande - pagina 813

 
VNIK:
In alternativa: crea un nuovo thread nella sezione Trading Systems con un link a quello esistente e continua lì.

Grazie. Pensando a... la stessa cosa... come parte 1, parte 2.

Forse qualcuno più degno vorrebbe farlo... :-)

 
Rosh:
Sfortunatamente, non c'è questa opzione.
Perché l'hai rotto? Una volta era così. Dopo l'apparizione di Trading Systems, un paio di argomenti sono stati spostati lì.
 
Ho votato nel forum usando Google Chrome con la traduzione online, poi sono passato a Firefox (lo uso sempre) e di nuovo posso votare nello stesso thread, è un problema del browser o un bug del sito?
 

Domanda per gli esperti di sostituzioni macro...

Nella sceneggiatura:

double plot1[],plot2[],plot3[];

#define macr(i) ploti
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   for(int i=0;i<3;i++)
     ArrayResize(macr(i),100);
  }

Ho bisogno di sostituire plot1, plot2 e plot3 invece di macr(i) nel ciclo for ... Secondo la mia versione, la sostituzione è come ploti, che non è affatto necessaria :-(

Grazie in anticipo!
 
Non funzionerà. Il preprocessore MQL5 non supporta la concatenazione di token tramite ##. Potresti scrivere un suggerimento a servicedesk. O usare una matrice bidimensionale invece di diverse matrici monodimensionali.
 
denkir:

...

Ho bisogno che plot1, plot2 e plot3 siano sostituiti da macr(i) nel ciclo for ... Secondo la mia versione, la sostituzione va come ploti, che non è affatto necessario :-(

Grazie in anticipo!
Che ne dite di provare a farlo con un array di puntatori?
 
Domanda. Nell'articolo Migrazione da MQL4 a MQL5 nella tabella "18. Accesso alle serie temporali" nella rubrica "MQL5", l'autore usa un array senza dimensione Arr[] all'interno delle funzioni. Vedo che la funzione restituisce sempre un solo valore dell'elemento zero dell'array. Qualcuno sa se c'è qualche significato nascosto nell'usare un array senza dimensione invece di Arr[1]? L'Aiuto dice che conoscendo la dimensione dell'array, è meglio specificare quel numero di elementi.
 
paladin800:
Domanda. Nell'articolo Migrazione da MQL4 a MQL5, il "18. Access to Timeseries" nella rubrica "MQL5", l'autore usa un array senza dimensione Arr[] all'interno delle funzioni. Vedo che la funzione restituisce sempre un solo valore dell'elemento zero dell'array. Qualcuno sa se c'è qualche significato nascosto nell'usare un array senza dimensione invece di Arr[1]? Scrivono nella Guida che il numero di elementi dovrebbe essere specificato conoscendo la dimensione dell'array.

Ci sono.

In MQL5, questa matrice viene passata come argomento alle funzioni che gestiscono la sua dimensione secondo la loro logica,

Cioè, ridistribuiscono la dimensione automaticamente a seconda dei parametri passati punto di partenza e quantità di dati da copiare.

Se passate un array statico come argomento alla funzione CopyXXX, otterrete un errore.

ZZZ Il codice controlla la dimensione dell'array e poi prende una decisione a seconda della dimensione, quindi la dimensione molto probabilmente non è statica.

 

Nei parametri esterni EA uso solo il parametro R = 1 o 2 o 12 o 13 (esempio semplice generale). È possibile controllare questo parametro in OnInit() per la correttezza e se un cittadino ha inserito un altro numero per errore, allora segnalare un errore. Tuttavia, ci sono tipi ENUM_... per l'input. (es. ENUM_MA_METHOD), quando possiamo semplicemente selezionare un valore dalla finestra espansa.

Domanda. C'è una tale opzione, dove è possibile fare una tale costruzione, in modo che nei parametri esterni per analogia con l'ENUM_... appaiono solo ciò che il programmatore intendeva, senza bisogno di controllare OnInit(). Non l'ho trovato nella documentazione. In caso contrario, il desiderio è quello di fare una cosa del genere.

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
paladin800:

Domanda. C'è un'opzione dove si può fare una tale costruzione, in modo che nei parametri esterni per analogia con ENUM_... appaiono solo ciò che il programmatore intendeva, senza bisogno di controllare OnInit(). Non l'ho trovato nella documentazione. Se no, per favore, fate una cosa del genere.

Per favore, spiegate in altre parole. Non capisco cosa voglio dire.
Motivazione: