Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 148

 
Kot:


Grazie, ho capito l'idea.

E se la situazione fosse diversa. Ci sono linee orizzontali con nomi diversi sul grafico. Lo script dovrebbe calcolare quale linea corrisponde a quale prezzo.

Cosa significa?

- Se vogliamo conoscere i livelli di tutte le linee orizzontali, enumeriamo gli oggetti grafici della finestra e per la linea superiore prendiamo ObjectGetDouble(.., OBJPROP_PRICE).

PS. una domanda posta correttamente è metà della risposta - imparate a formulare le vostre domande

 
Maxim Kuznetsov:

Che cosa significa?

- Se volete conoscere i livelli di tutte le linee orizzontali, allora passate attraverso gli oggetti del grafico della finestra e prendete ObjectGetDouble(.., OBJPROP_PRICE) per le linee di montagna.

PS. la domanda giusta è metà della risposta - imparate a formulare le vostre domande


Proprio quello di cui hai bisogno. GRAZIE!
 

Ho già perso la mia logica - per favore aiutatemi!

Ho preso lo script, ne ho fatto una funzione e l'ho inserita come funzione nell'indicatore, e poi ho avuto errori

   for(int i=0;i<SizeMass;i++)
     {
      summDelta[i]=(Digit[i+1]-Digit[i]);
     }
'i' - variabile già definita FindOblast'_1_1.mq4 308 12

Non ho ottenuto tali errori nello script, inoltre, i cicli con variabili simili sono nell'output, ma non tutti sono violati - cosa c'è di sbagliato?

 
-Aleks-:

Ho già perso la mia logica - per favore aiutatemi!

Ho preso lo script, ne ho fatto una funzione e l'ho inserita come funzione nell'indicatore, e poi ho avuto errori

'i' - variabile già definita FindOblast'_1_1.mq4 308 12

Non ho visto tali errori nello script, inoltre, i cicli con le stesse variabili sono nell'output, ma non genera errori in tutti loro - cosa c'è di sbagliato?

Il problema è nell'ambito delle variabili.

Aggiungete (se non l'avete già fatto) la direttiva #property strict all'inizio del vostro codice e correggete tutti gli errori specificati e gli avvisi di compilazione.

 
Artyom Trishkin:

Il problema è la portata delle variabili.

Aggiungete (se non l'avete già fatto) la direttiva #property strict all'inizio del vostro codice e correggete tutti gli errori e gli avvisi di compilazione che vengono segnalati.

Grazie per la risposta.

È così chiaro che lo scopo è locale - tranne che "i" non è dichiarato separatamente da nessuna parte - in una funzione o globalmente!

Aggiunto #property strict e tutti quegli errori con "i" sono spariti - come mai, se questo è un controllo più accurato?

 
-Aleks-:

Grazie per la risposta.

Quindi è chiaro che l'ambito è locale - tranne che "i" non è dichiarato separatamente da nessuna parte - in una funzione o globalmente!

Ho aggiunto #property strict e tutti quegli errori con "i" sono scomparsi - come è possibile se è un controllo più approfondito?

È proprio il controllo più approfondito che tiene conto di tutte le aree di visibilità variabile.
 
Artyom Trishkin:
È proprio il controllo più approfondito che tiene conto di tutte le aree di visibilità variabile.

Capisco, ma non è chiaro perché sia possibile lavorare senza questi controlli...
 
-Aleks-:

Capisco, ma non so perché non c'è la possibilità di lavorare senza questi controlli...

Per la compatibilità con i vecchi codici.

Ora ogni volta che scrivete codice, non dimenticate di aggiungere questa direttiva per mql4. Per mql5 i controlli rigorosi sono inizialmente abilitati e il compilatore non conosce questa direttiva.

 
Artyom Trishkin:

Per la compatibilità con i vecchi codici.

Ora ogni volta che scrivete codice, non dimenticate di aggiungere questa direttiva per mql4. Per mql5 i controlli rigorosi sono inizialmente abilitati e il compilatore non conosce questa direttiva.

Ho costruito un nuovo indicatore senza quello vecchio, di solito ho #proprietà rigorose come al solito.

 

Aiuto con la lettura di un file .crv

ha questa voce:

2010.03.18 01:35:00;1.37409;1.37119

come scrivere codice per ottenere ogni valore separatamente in una variabile