Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 352
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Grazie, ma lei è
iCustom per aiutare
iCustom è una buona soluzione per iCustom ma iCustom esegue sempre l'intero codice dell'indicatore, e se ho bisogno di molti parametri dell'indicatore in un EA (e lo è) allora invece di un calcolo dell'indicatore ne otterremo diversi, il che può rallentare notevolmente il processo fino a perdere il tick corrente, ho dimenticato le variabili predefinite.....
int rates_total=Bars;
variabile globale definita
int prev_calculated=0;
si blocca sul numero di elementi dell'array
Mi dispiace, ma non capisco perché oncalculate dovrebbe passare i valori delle variabili predefinite se sono globali e anche disponibili
Date un'occhiata a un esempio
I parametri di una funzione possono essere input - che le passiamo, e output - che ci restituisce
Queste variabili sono necessarie per calcolare l'intera linea dell'indicatore, ma avete bisogno di un singolo valore. Tutto è molto più semplice. Analizzare il programma dell'indicatore e determinare quale formula viene utilizzata per il calcolo. E usa questa formula nell'Expert Advisor
Ragazzi, ditemi come implementare questo algoritmo:
C'è una serie temporale con volume Volume
Voglio confrontare Volume[1] per essere più grande di ciascuna delle precedenti barre di Volume[1] e specificare una finestra (numero) di barre precedenti con una variabile esterna (extern int)
Scrivere un esempio di codice, se non è difficile
Ragazzi, ditemi come implementare questo algoritmo:
C'è una serie temporale con volume Volume
Voglio confrontare Volume[1] per essere più grande di ciascuna delle precedenti barre di Volume[1] e specificare una finestra (numero) di barre precedenti con una variabile esterna (extern int)
Scrivere un esempio di codice, se non è difficile
Ha funzionato? Come funzionava prima?
Ha funzionato senza errori, mi sembra di averlo rimosso io stesso, per auto-sostituzione tramite ctrl+h, e non me ne sono accorto >_<. Comunque, probabilmente sono stati gli Illuminati a farlo. Grazie ancora!
Ragazzi, ditemi come implementare questo algoritmo:
C'è una serie temporale con volume Volume
Voglio confrontare Volume[1] per essere più grande di ciascuna delle precedenti barre di Volume[1] e specificare una finestra (numero) di barre precedenti con una variabile esterna (extern int)
Scrivere un esempio di codice, se non è difficile
Non è difficile. L'ho scritto in ginocchio a memoria (potrei aver dimenticato qualcosa)...
Salve. Non posso condividere il file. Il compito - Ho bisogno che il file del periodo più vecchio (ad esempio M20) sia generato su М1 durante il test manuale nel tester МТ4 (MQL4). A questo scopo ho scritto un indicatore basato sullo script PeriodConverter. Dato che in modalità test è impossibile salvare il file (EURUSD20.csv) direttamente nella cartella History, il file viene salvato nella cartella condivisa da tutti i terminali - \MetaQuotes\Terminal\Common. Poi lo script in loop, lavorando su un grafico standard M1, copia i dati dal file EURUSD20.csv al file EURUSD20.hst, situato nella cartella History. Il file EURUSD20.csv non può essere aperto nello script, se allo stesso tempo viene aperto nell'indicatore nel tester (5004 ERR_FILE_CANNOT_OPEN File open error). Se si rimuove l'indicatore dal tester, il file nello script viene aperto e copiato senza problemi. Il file viene aperto nell'indicatore come segue: ExtHandle=FileOpen(c_symbol+(string)20+".csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_SHARE_READ|FILE_COMMON);
Il file nello script viene aperto come segue: ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ);
Per favore indicate il mio errore.
Salve. Non posso condividere il file. Il compito - Ho bisogno che il file del periodo più vecchio (per esempio M20) sia generato su М1 durante il test manuale nel tester МТ4 (MQL4). A questo scopo ho scritto un indicatore basato sullo script PeriodConverter. Dato che in modalità test è impossibile salvare il file (EURUSD20.csv) direttamente nella cartella History, il file viene salvato nella cartella condivisa da tutti i terminali - \MetaQuotes\Terminal\Common. Poi lo script in loop, lavorando su un grafico standard M1, copia i dati dal file EURUSD20.csv al file EURUSD20.hst, situato nella cartella History. Il file EURUSD20.csv non può essere aperto nello script, se allo stesso tempo viene aperto nell'indicatore nel tester (5004 ERR_FILE_CANNOT_OPEN File open error). Se si rimuove l'indicatore dal tester, il file nello script viene aperto e copiato senza problemi. Il file è aperto nell'indicatore come segue: ExtHandle=FileOpen(c_symbol+(string)20+".csv",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_READ|FILE_COMMON);
Il file è aperto nello script come segue: ExtHandleR=FileOpen("EURUSD20.csv",FILE_BIN|FILE_READ|FILE_SHARE_READ|FILE_COMMON);
Vi prego di segnalare il mio errore.
L'avete indicato?
L'hai specificato?
Non capisco. Questa opzione indica la posizione del file - \MetaQuotes\Terminal\Common. Senza questa opzione non potrò prendere il file che è stato generato nel tester. Senza questa opzione il file verrà cercato in MQL4\Files - e non posso metterci il file del tester.