
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
Sviluppatori. Come è con OrderSend, per esempio.
Ecco un esempio https://www.mql5.com/ru/forum/295485/page11#comment_9959761
Pensavo che si sarebbero stancati di rispondere alla stessa domanda e che avrebbero finalmente emesso un avvertimento - no, non l'hanno fatto
Quindi MQL non è per i commercianti, ma per i programmatori
È sufficiente disabilitare gli avvertimenti basati sui numeri (non puoi vederli attraverso il MetaEditor, ma ci sono), cosa che faccio attraverso il comando compilatore
Puoi dirmi come si fa?
I risultati della compilazione sono emessi in un file e da lì vengono estratte le linee che non hanno numeri di avviso predefiniti (dopo la parola avviso c'è un numero)
I risultati della compilazione sono emessi in un file e da lì vengono estratte le linee che non hanno numeri di avviso predefiniti (la parola avviso è seguita da un numero)
Come faccio a non far apparire questi avvertimenti in ME? Dove metto questi numeri?
Compilo dalla riga di comando e tutti i messaggi vengono visualizzati anche dalla riga di comando. Non può essere collegato all'IDE MetaEditor. Questa è la compilazione finale, per così dire, che controlla gli avvisi importanti. Non guardo nemmeno più gli avvertimenti nell'IDE - ce ne sono troppi
Quindi MQL non è per i commercianti, ma per i programmatori
Non essendo un programmatore, uso MQL. Finisci quel mantra sui programmatori. Penso di avere una migliore padronanza di MQL di un utente medio e forse di un libero professionista.
Quindi posso ragionevolmente dire che capisco i problemi affrontati dalla maggior parte degli utenti della lingua.
Compilo sulla linea di comando e tutti i messaggi sono anche emessi sulla linea di comando. Non può essere collegato a MetaEditor IDE. Questa è la compilazione finale - controlla le avvertenze importanti
Ah, non è interessante... A proposito, perché compilate sulla linea di comando?
Diciamo che è uscita una nuova build e / o ho bisogno di ricompilare tutti e o solo alcuni file - imposto una lista e solo la lista viene compilata / diverse liste
O devo ricompilare in un'altra build - ho impostato il numero di build e la lista e il file di comando fa tutto da solo
E che senso ha un tale valore, se si ottengono solo 4 byte su 8. Dato che gli sviluppatori hanno proibito esplicitamente di convertire il valore di un puntatore in ulong (prima si poteva, e credetemi i bit alti erano non-zero a quel tempo).
È stato dimostrato sperimentalmente che questo numero si comporta esattamente come si comporterebbe un indice di puntatore in un array di puntatori se tale array assegnasse numeri ai puntatori in modo strettamente consecutivo e, se un intervallo di numeri fosse liberato, li riutilizzasse dall'ultimo numero liberato al primo in ordine inverso. Se qualcuno volesse duplicare questo sistema di descrittori nella propria architettura, ad esempio sostituendo un tipo puntatore con una struttura di dimensione int, un comportamento comprensibile (restituire true come tipo inline per un oggetto distrutto, mentre questo comportamento proibisce il sovraccarico di un certo numero di operatori logici utili con i puntatori, questo è un completo facepalm) e tutti i benefici del tipo semplice, pur mantenendo uno stretto controllo sulla popolazione di oggetti e puntatori tramite contatore, la capacità di ottenere questo numero dall'oggetto stesso farebbe risparmiare una quantità significativa di pa
E parlando di compiti più banali - questo numero indica il numero di oggetti creati nel sistema ed è utile per il debug in qualsiasi architettura basata su liste dinamiche. Non a caso, non sono il primo che ha capito come "imbrogliare" il divieto di ottenerlo, e mi è stato anche detto un modo più veloce, anche se solo per 4.Per esempio, è uscita una nuova build e / o ho bisogno di ricompilare tutti o solo alcuni file
Capisco, ma questo è un caso speciale. Dopo tutto, passiamo la maggior parte del nostro tempo a codificare e compilare nell'IDE, quindi disabilitare gli avvisi non necessari lì sarebbe molto utile.
Personalmente ci trovo un sacco di cose inutili. Per esempio, ci sono avvertimenti sulla conversione implicita in stringa. Non ricordo casi in cui potrebbe causare conseguenze spiacevoli. Nel 99% dei casi la stringa è usata solo per stampare testo sullo schermo o scriverlo in un file.
Oppure, supponiamo, quando il tipo del valore di ritorno della funzione è bool, e voi restituite 0 o 1, anche il compilatore si lamenterà, dicendo che il tipo non è booleano. VS non lo ha. Queste costanti sono ammissibili per bool. Per esempio, mi è più comodo scrivere return 0 piuttosto che return false perché è molto più facile da percepire visivamente.
Quindi, il mio registro è quasi completamente pieno di questi due avvertimenti. Vorrei sbarazzarmene).
Quando lo farò, forse lo finirò io stesso. Ho un sacco di idee. Per ora ho solo fatto scorrere automaticamente il log dopo aver finito la compilazione fino all'inizio del primo errore (se c'è). Senza di esso dovevo scorrere manualmente la lista (e non è così grande), cercando il messaggio di errore. Che rottura di scatole.