Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1256
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
Come faccio a sapere il tipo di parametro di ingresso?
il compilatore stesso sostituisce i tipi al momento della chiamata della funzione template, se tale chiamata non era ancora nel codice, allora il compilatore creerà un'altra copia della funzione e imposterà i tipi stessi - bene, come se fosse logico - un template
se la domanda è su come definire il tipo in una tale funzione, usate
typename
UPD: aggiunto all'esempio sopra il parametro tipo stampanti:
2020.09.16 18:58:21.679 tst (EURUSD,M5) int myfunc<int,int>(int,int)
2020.09.16 18:58:21.680 tst (EURUSD,M5) val1 = 2, typename = int
2020.09.16 18:58:21.681 tst (EURUSD,M5) val2 = 3, typename = int
2020.09.16 18:58:21.681 tst (EURUSD,M5) 5
2020.09.16 18:58:21.681 tst (EURUSD,M5) int myfunc<double,double>(double,double)
2020.09.16 18:58:21.681 tst (EURUSD,M5) val1 = 10.0, typename = double
2020.09.16 18:58:21.681 tst (EURUSD,M5) val2 = 30.0, typename = double
2020.09.16 18:58:21.681 tst (EURUSD,M5) 40
UPD: aggiunto__FUNCSIG__ a questo esempio
Pomeriggio.
Sto affrontando una cosa strana quando scrivo un indicatore in MQL5 (indicatore in una sottofinestra separata, 4 righe).
Le descrizioni iniziali del buffer sono le seguenti:
Il prossimo in OnInit:
Essenzialmente: l'indicatore disegna 4 linee: le prime due sono solo monocolore, le due successive sono bicolori (cambiano colore sulle pieghe).
Il bicolore è dovuto al modo di disegnare DRAW_COLOR_LINE.
Domanda: la prima linea (buffer 2 e 3 nel codice sopra) è perfettamente disegnata e tutto il codice scritto per essa in OnInit funziona;
Cioè, invece del testo che ho impostato nella finestra dei dati, viene visualizzato solo il nome dell'indicatore al posto del buffer. Anche se la linea stessa è tracciata, ed è, come dovrebbe essere, multicolore.seconda linea si presenta per qualche motivo, per esempio la linea non funziona:
Penso che il trucco sia nel cambio di numerazione? Per esempio, non sono sicuro del perché nella parte superiore del codice, quando dichiaro l'ultima linea con la direttiva #property, l'indice dovrebbe essere 4 e non 5, dato che 4 buffer sono già stati usati prima. C'è qualche relazione tra la numerazione delle linee quando si dichiara con #property e la numerazione del buffer quando si collega con gli array in OnInit?
Per favore consigliatemi cosa c'è di sbagliato nel codice qui sopra. Forse qualcuno può trovare un esempio di indicatore dove almeno due linee sono disegnate usando il metodo di disegno DRAW_COLOR_LINE....
Un'altra domanda correlata: come si legano i buffer delle linee colorate? Voglio dire, come fa il codice compilato a sapere che se metto un valore in un buffer di colore, questo colore dovrebbe essere usato per colorare una linea da qualche altro buffer?
Pomeriggio.
Sto affrontando una cosa strana quando scrivo un indicatore in MQL5 (indicatore in una sottofinestra separata, 4 righe).
Le descrizioni iniziali del buffer sono le seguenti:
Il prossimo in OnInit:
Essenzialmente: l'indicatore disegna 4 linee: le prime due sono solo monocolore, le due successive sono bicolori (cambiano colore sulle pieghe).
Il bicolore è dovuto al modo di disegnare DRAW_COLOR_LINE.
Domanda: la prima linea (buffer 2 e 3 nel codice sopra) è perfettamente disegnata e tutto il codice scritto per essa in OnInit funziona;
Cioè, invece del testo che ho impostato nella finestra dei dati, viene visualizzato solo il nome dell'indicatore al posto del buffer. Anche se la linea stessa è tracciata, ed è, come dovrebbe essere, multicolore.seconda linea si presenta per qualche motivo, per esempio la linea non funziona:
Penso che il trucco sia nel cambio di numerazione? Per esempio, non sono sicuro del perché nella parte superiore del codice, quando dichiaro l'ultima linea con la direttiva #property, l'indice dovrebbe essere 4 e non 5, dato che 4 buffer sono già stati usati prima. C'è qualche relazione tra la numerazione delle linee quando si dichiara con #property e la numerazione del buffer quando si collega con gli array in OnInit?
Per favore consigliatemi cosa c'è di sbagliato nel codice qui sopra. Forse qualcuno può trovare un esempio di indicatore dove almeno due linee sono disegnate usando il metodo di disegno DRAW_COLOR_LINE....
Un'altra domanda correlata: come si legano i buffer delle linee colorate? Voglio dire, come fa il codice compilato a sapere che se metto un valore in un buffer di colore, questo colore dovrebbe essere usato per colorare una linea da qualche altro buffer?
Le mappature sono numerate diversamente dai buffer.
Questo dovrebbe funzionare.
Buon pomeriggio a tutti!
Ho creato una funzione per modificare lo stoploss. Ma quando funziona dà EURUSD,H1: OrderModify error 130.
E il prezzo è lontano dal luogo in cui lo stoploss dovrebbe essere impostato.
Ecco la funzione:
Ha scritto una funzione per trovare il numero di barra di un frattale su 3 barre. Sul grafico online sembra trovarlo correttamente. Ma durante il test visivo nel tester si trova. Qualcuno dei professionisti può dare un'occhiata al codice e trovare qualche errore?
Te ne sarei molto grato.
Buon pomeriggio. QUALE CODICE DOVREI AGGIUNGERE IN MODO CHE L'INDICATORE SMETTA DI FUNZIONARE NEL TESTER DOPO UN MESE? CIOÈ HO SCRITTO TUTTO OK! MA QUANDO FACCIO UN BACKTEST FUNZIONA DI NUOVO. (mgl4)
Ciao!
Volevo mettere una condizione nel ciclo di chiusura degli ordini nelgiorno di apertura degli stessi, in modo che quelli aperti il venerdì non venissero chiusi.
Buon pomeriggio. QUALE CODICE DOVREI AGGIUNGERE IN MODO CHE L'INDICATORE SMETTA DI FUNZIONARE NEL TESTER DOPO UN MESE? CIOÈ HO SCRITTO TUTTO OK! MA QUANDO FACCIO UN BACKTEST FUNZIONA DI NUOVO. (mgl4)
Dovete scrivere questo codice non in OnInit, ma in OnTick().
Ciao!
Volevo mettere una condizione nel ciclo di chiusura dell'ordine nelgiorno di apertura dell'ordine, in modo che quelli aperti il venerdì non fossero chiusi.
Provate in questo modo: