Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Mihail Matkovskij:
Anche se possono essere aggirati, la domanda è perché, quando non ci sono questi problemi in altri kernel moderni?
Anche se l'errore non è critico, è comunque scomodo.
Non è un errore, è più una notifica. Alcune lingue non hanno nemmeno notifiche di questo tipo. Qualcosa nell'ambito locale si è sovrapposto a qualcosa di più alto, così sia. È così che è stato inteso. Ma in alcuni casi un tale avvertimento è piuttosto utile.
Per esempio, in MQL, le variabili globali non c'entrano niente e anche la mia raccomandazione di non usarle è irrilevante:
Creare ambiti multipli:
Ed ecco che riceviamo due avvertimenti.
Da qui la conclusione -
1) ignorare tali avvertimenti
2) evitare di usare gli stessi nomi nelle aree di visibilità sotto/sopra
3) convincere Service Desk a rimuovere questa notifica come inutile
3) convincere Service Desk a rimuovere questa notifica come inutile
Se ogni idiota convincerà il Service Desk a rimuovere questa o quella regola, perché dal loro punto di vista è inutile, il linguaggio degenererà presto in una spazzatura primitiva.
Voglio dire, come può non essere creato? Qualsiasi linguaggio di programmazione usa liberamente le variabili globali e va bene, ma qui il compilatore giura. Anche se l'errore non è critico, è comunque scomodo.
Il punto variabile riporta il prezzo di 1 punto ed è un sostituto del punto standard. La funzione MarketInfo(EA_Symbol(), MODE_POINT) dà il prezzo di 1 punto per qualsiasi simbolo. Inoltre, il punto variabile può essere usato in qualsiasi funzione, nel corpo dell'EA, se è una variabile globale, naturalmente. Sono d'accordo che tali casi causano alcuni inconvenienti abbastanza spesso (se avete certamente esperienza nella programmazione MQL). E anche se possono essere evitati, ma la domanda è perché, se altre lingue moderne semplicemente non hanno questi problemi?
Purtroppo, solo i programmatori esperti capiscono l'utilità e l'importanza di un tale avvertimento.
Bene, raccomando a tutti gli altri di essere contenti dell'aiuto di questo livello del compilatore e di correggere i propri errori. Questi sono luoghi reali di potenziali errori ed è proprio per gli sviluppatori principianti che è criticamente importante imparare.
Vorrei uno schema di colori. Non solo nell'editor, ma anche in altre finestre, in modo che il testo e il colore dello sfondo possano essere cambiati.
I dati dei membri della classe non dovrebbero essere colorati nel colore delle variabili di istanza quando i nomi coincidono.
Già diverse volte, quando ho finito la giornata di lavoro e ho chiuso le finestre dei programmi, i browser, ecc., ho chiuso accidentalmente anche il terminale MT5 in esecuzione in modalità di ottimizzazione. Così tutti i risultati sono andati persi. Riavviando il terminale si ricomincia tutto da capo.
Molti programmi quando cliccate per chiudere una finestra, vi chiedono se siete sicuri di chiuderla e i dati non salvati possono essere persi.
È una buona idea farlo se il terminale viene ottimizzato.
Non è nemmeno un errore, è più una notifica. Alcune lingue non hanno nemmeno notifiche di questo tipo. Qualcosa in un'area locale si è sovrapposto a qualcosa in un livello superiore, quindi va bene. È così che è stato inteso. Ma in alcuni casi un tale avvertimento è piuttosto utile.
Per esempio, in MQL, le variabili globali non c'entrano niente e anche la mia raccomandazione di non usarle è irrilevante:
Creare ambiti multipli:
Ed ecco che riceviamo due avvertimenti.
Da qui la conclusione.
1) ignorare tali avvertimenti
2) non fare gli stessi nomi nelle aree di visibilità sotto/sopra
3) convincere servicedesk a rimuovere questa notifica come inutile
Bene, 2 variabili con lo stesso nome in un ambito non va bene e ogni programmatore lo sa. Ma il problema è che questo ambito copre moduli standard che qualsiasi programmatore medio non manometterebbe perché non si considera uno sviluppatore. Neanche rimuovere gli avvertimenti è un'opzione. Non prestarvi attenzione è anche un vero inconveniente perché potreste non notare avvertimenti importanti.
Vedo 2 modi di risolvere il problema qui.
1. Fare in modo che il plugin non veda il programma del plugin, se non è esplicitamente specificato
2. Se gli sviluppatori non sono disposti a cambiare la sintassi, introdurre una regola per la dichiarazione dei parametri nelle funzioni, simile ai campi di classe, ad esempio i nomi dei parametri dovrebbero iniziare con i o i_ (dall'alfabeto Input) e quindi fissare tutti i parametri nei moduli standard
Il compilatore funziona correttamente e questi avvertimenti sono eccezionalmente corretti.
C'è solo una via d'uscita: non permettere la sovrapposizione variabile e non cercare di preservare il diritto di sbagliare esigendo che gli altri rispettino quel diritto.
Il compilatore funziona correttamente e questi avvertimenti sono eccezionalmente corretti.
C'è solo una via d'uscita: non permettere la sovrapposizione variabile e non cercare di preservare il diritto di fare errori esigendo che il resto di noi rispetti tale diritto.