Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 124
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
Ciao!
Puoi dirmi come ridipingere le barre senza usare modelli in mt4?
O come applicare una combinazione di colori!?
Semplificherò un po' la risposta per evitare confusione. Il segno (&) indica che l'argomento della funzione può cambiare il suo valore in fase di esecuzione e tornerà da dove la funzione è stata chiamata con un valore diverso. Nel caso in questione, la funzione SaveOrder può cambiare il contenuto degli array g_arrstBuyOrderInfo e g_arrstSellOrderInfo, così come le variabili g_nBuyOrdersCnt e g_nSellOrdersCnt.
Grazie. Diventa un po' più chiaro. Non è chiaro come tutto questo possa essere scoperto senza fare riferimento al forum. Non ho trovato tali spiegazioni nei tutorial.
Per favore, datemi qualche altro consiglio:
1) Il compilatore scrive - 'g_nBuyOrdersCnt' - dichiarazione senza tipo; 'g_nSellOrdersCnt' - dichiarazione senza tipo. È corretto supporre che g_nBuyOrdersCnt e g_nSellOrdersCnt debbano essere dichiarati globalmente per evitare un errore del compilatore?
2) Compilatore:'for' - le espressioni non sono permesse in uno scopo globale. Qui non è chiaro.
3) Nella funzionevoid SaveOrderInfo(OrderInfo &arrstOrderInfo[], int &nOrdersCnt), il compilatore scrive: la dichiarazione di 'arrstOrderInfo' nasconde la dichiarazione globale. Non è nemmeno molto chiaro.
4) 'nOrderCnt' è un identificatore non dichiarato. Perché non è dichiarato da nessuna parte?
Ciao!
Puoi dirmi come ridipingere le barre senza usare modelli in mt4?
O come applicare una combinazione di colori!
Se programmaticamente, vedere le funzioni ChartSetInteger() e ChartGetInteger().
Grazie. Comincia ad avere un po' più senso. Non è chiaro come si possa scoprire tutto questo senza fare riferimento a un forum. Non ho trovato tali spiegazioni nei libri di testo.
Per favore, datemi qualche altro consiglio:
1) Il compilatore scrive - 'g_nBuyOrdersCnt' - dichiarazione senza tipo; 'g_nSellOrdersCnt' - dichiarazione senza tipo. È corretto supporre che g_nBuyOrdersCnt e g_nSellOrdersCnt debbano essere dichiarati globalmente per evitare un errore del compilatore?
2) Compilatore:'for' - le espressioni non sono permesse in uno scopo globale. Qui non è chiaro.
3) Nella funzionevoid SaveOrderInfo(OrderInfo &arrstOrderInfo[], int &nOrdersCnt), il compilatore scrive: la dichiarazione di 'arrstOrderInfo' nasconde la dichiarazione globale. Non è nemmeno molto chiaro.
4) 'nOrderCnt' è un identificatore non dichiarato. Perché non è dichiarato da nessuna parte?
Ecco come dovrebbe essere nel codice se si guarda il codice nel suo insieme:
Un'ultima cosa: non ho ancora capito da dove vengono.n e.f e cosa sono.
L'operatore "punto" indica l'accesso a un membro di una struttura o di una classe. In questo caso, si tratta di una struttura.
Le lettere n e f sono un modo per specificare il tipo di dati memorizzati in una variabile. Dopo tutto, con un numero enorme di variabili, è impossibile ricordare il tipo di ciascuna. E se in un nome di una variabile ci sarà l'indicazione del suo tipo, la necessità di ricordare scompare da sola. n è un segno di un numero intero (da Numeric), f è un numero reale (da float - floating point number). Questo modo di scrivere i nomi delle variabili è chiamato notazione ungherese.
L'operatore punto indica l'accesso a un membro di una struttura o di una classe. In questo caso, una struttura.
Le lettere n e f sono un modo per specificare il tipo di dati memorizzati in una variabile. Dopo tutto, con un numero enorme di variabili, è impossibile ricordare il tipo di ciascuna. E se in un nome di una variabile ci sarà l'indicazione del suo tipo, la necessità di ricordare scompare da sola. n è un segno di un numero intero (da Numeric), f è un numero reale (da float - floating point number). Questo modo di annotare i nomi delle variabili è chiamato notazione ungherese.
Eccolo!!! Si scopre cheg_ eg_n non sono solo delle abbreviazioni, ma prefissi che dicono che sono variabili globali e globali intere!!! Ugh... E non riuscivo a capire perché questi trattini nelle denominazioni variabili... Come è possibile che un principiante, che non ha familiarità con queste sottigliezze, scriva codice usando array, strutture, ecc. Ho pensato che la mia semplice strategia potesse essere scritta in un linguaggio semplice, senza tuffarsi nel selvaggio.
Potresti darmi un link a un tutorial dettagliato (esteso) su mcl4 da studiare insieme ai tuoi consigli?
E potresti scrivere il codice di cui sopra senza usare la notazione ungherese per il confronto? Sei sicuro che la piattaforma MT4 lo capisca chiaramente?
E una domanda sul codice: a cosa serve ilcontinue;?
Se un ordine non viene selezionato nella prima iterazione, allora non sarà selezionato nelle iterazioni successive e il ciclo continuerà indefinitamente? Perché il numero di ordini non cambia. Non sarebbe più correttorompere con un messaggio di errore?Grafica del menu di contesto, proprietà, colori - hai provato?
Grazie l'ho già trovato!!!
Se programmaticamente, vedere le funzioni ChartSetInteger() e ChartGetInteger().
Grazie per averlo trovato già con il tuo aiuto!!!
Eccolo!!! Si scopre cheg_ eg_n non sono solo delle abbreviazioni, ma prefissi che dicono che sono variabili globali e globali intere!!! Ugh... E non riuscivo a capire perché questi trattini nelle denominazioni variabili... Come è possibile che un principiante, che non ha familiarità con queste sottigliezze, scriva codice usando array, strutture, ecc. Ho pensato che la mia semplice strategia potesse essere scritta in un linguaggio semplice, senza tuffarsi nel selvaggio.
Per fare qualcosa, dobbiamo approfondire le sottigliezze. Non c'è altro modo.
Potresti darmi un link a un tutorial dettagliato (esteso) su mcl4 da studiare insieme ai tuoi consigli?
Conosco solo un libro di testo su MQL4 - quello di Sergey Kovalev.
E potreste scrivere il codice di cui sopra senza usare la notazione ungherese per il confronto? Sei sicuro che la piattaforma MT4 lo capisca chiaramente?
Abituati subito a una formattazione corretta del codice )) La notazione ungherese è stata inventata da programmatori abbastanza esperti.
E una domanda sul codice: a cosa serve ilcontinue;?
Quindi, se un ordine non è selezionato nella prima iterazione, non sarà selezionato in quelle successive e il ciclo andrà avanti all'infinito? Perché il numero di ordini non cambia. Non sarebbe più correttorompere con un messaggio di errore?Se non siamo riusciti a selezionare un ordine, non significa che non saremo in grado di selezionare l'ordine successivo. Quindi è ragionevole continuare il ciclo.
La mancata selezione di un ordine non significa che l'ordine successivo non possa essere selezionato. Pertanto, è ragionevole continuare il ciclo.
E non c'è bisogno di visualizzare un messaggio di errore? Forse sarebbe utile sapere perché un ordine non viene trovato e come evitarlo?