FinEngineer: 2012.12.22 11:40:32 Pair_delta_RSI (EURGBP,M1) array out of range in 'Pair_delta_RSI.mq5' (92,37)
risulta che appare anche questo errore... cioè ci sono due errori...
Inoltre, siete preoccupati per due errori: "dati calcolati insufficienti" e "matrice fuori portata".) Ma per qualche motivo non hai scritto nulla sul secondo errore (non hai dato un codice di esempio con la linea 92), anche se l'hai sottolineato diverse volte.
Lì funzionava bene, quel "pezzo di codice che è responsabile dei dati insufficienti". E correttamente segnalato che quando il primo tick arriva, i dati per RSI non è ancora calcolato dal terminale. Se non vi piace ricevere messaggi di errore, provate a fare come sopra, cioè a controllare i dati calcolati non solo in OnCalculate(), ma anche in OnInit(). In altre parole, provate ad aspettare il calcolo dei dati per gli indicatori tecnici selezionati in OnInit() e poi passate all'elaborazione dei tick in OnCalculate() quando è garantito il calcolo dei dati per gli indicatori.
Aggiungendo. Dopo tutto, la rimozione di una parte del codice di controllo non aumenta la quantità di dati calcolati dell'indicatore :)
Ho inserito questo controllo nella funzione OnInit, ma in questa funzione non sappiamo cosa sia 'rates_total'... Appare l'errore...'rates_total' - identificatore non dichiarato... Cosa fare?
Yedelkin: Siete anche preoccupati per due errori: "dati calcolati insufficienti" e "matrice fuori portata". Ma per qualche motivo non hai scritto nulla sul secondo errore (non hai dato un esempio di codice con la linea 92), anche se l'hai sottolineato diverse volte.
FinEngineer: Ho inserito questo controllo nella funzione OnInit, ma in questa funzione non sappiamo cosa sia 'rates_total'... esce l'errore...'rates_total' - identificatore non dichiarato... cosa fare?
Avete gestito l'esempio della funzione BarsCalculated() come consigliato in precedenza? Non c'è nessun tasso_totale
FinEngineer: da qualche parte qui intorno alla linea 92... ecco un pezzo di codice... c'è un errore da qualche parte... si scopre)
Capisco. Sulla linea
DeltaRSI_Buffer[i]=RSI1_Buffer[i]-RSI2_Buffer[i];
c'è un'uscita fuori dalla matrice. E l'output è in RSI1_Buffer[i]. ...È difficile rispondere ancora, non ci dovrebbe essere nessun output fuori dall'array.
Ciao a tutti ...chi può dirmi come sarebbe il seguente codice in mql5: per (int i=3; i<Bars; i++) { Up=iFractals(NULL, 0, MODE_UPPER, i); if (Up>0) break; }
i999i: Ciao a tutti ...chi può dirmi come sarebbe il seguente codice in mql5: per (int i=3; i<Bars; i++) { Up=iFractals(NULL, 0, MODE_UPPER, i); if (Up>0) break; }
Domanda su strategy tester: ho bisogno di selezionare un set di parametri con la percentuale massima di operazioni redditizie - come faccio? Il criterio di ottimizzazione "Equilibrio + min DD" sembra essere più o meno adatto, ma il profitto come moltiplicatore blocca tutto il resto...
f2011: Domanda su strategy tester: ho bisogno di selezionare un set di parametri con la percentuale massima di operazioni redditizie - come posso farlo? Penso che "Balance + min DD" sia più o meno adatto come criterio di ottimizzazione, ma il profitto come moltiplicatore annulla tutto il resto...
Che cosa ha a che fare questo con il saldo e la percentuale di operazioni di profitto?
Penso che ci fosse un articolo, google "Come creare i propri criteri per ottimizzare un robot di trading sito:mql5.com".
Терминал МetaTrader 5 дает новые возможности для оптимизации параметров создаваемых экспертов. Кроме уже имеющихся в тестере критериев оптимизации, разработчики получили инструмент для создания собственных критериев. Это открывает поистине безграничные возможности в тестировании и оптимизации экспертов. В статье рассматриваются практические способы построения таких критериев - как простых, так и достаточно сложных.
Inserire il codice correttamente.
Lì funzionava bene, quel "pezzo di codice che è responsabile dei dati insufficienti". E correttamente segnalato che quando il primo tick arriva, i dati per RSI non è ancora calcolato dal terminale. Se non vi piace ricevere messaggi di errore, provate a fare come sopra, cioè a controllare i dati calcolati non solo in OnCalculate(), ma anche in OnInit(). In altre parole, provate ad aspettare il calcolo dei dati per gli indicatori tecnici selezionati in OnInit() e poi passate all'elaborazione dei tick in OnCalculate() quando è garantito il calcolo dei dati per gli indicatori.
Aggiungendo. Dopo tutto, la rimozione di una parte del codice di controllo non aumenta la quantità di dati calcolati dell'indicatore :)
Siete anche preoccupati per due errori: "dati calcolati insufficienti" e "matrice fuori portata". Ma per qualche motivo non hai scritto nulla sul secondo errore (non hai dato un esempio di codice con la linea 92), anche se l'hai sottolineato diverse volte.
Capisco. Sulla linea
c'è un'uscita fuori dalla matrice. E l'output è in RSI1_Buffer[i]. ...È difficile rispondere ancora, non ci dovrebbe essere nessun output fuori dall'array.per (int i=3; i<Bars; i++)
{
Up=iFractals(NULL, 0, MODE_UPPER, i); if (Up>0) break;
}
Ciao a tutti ...chi può dirmi come sarebbe il seguente codice in mql5:
per (int i=3; i<Bars; i++)
{
Up=iFractals(NULL, 0, MODE_UPPER, i); if (Up>0) break;
}
Questo articolo è per aiutare.
Cambia il doppio iFractals(string symbol, int timeframe, int mode, int shift) in quattro a
Domanda su strategy tester: ho bisogno di selezionare un set di parametri con la percentuale massima di operazioni redditizie - come posso farlo? Penso che "Balance + min DD" sia più o meno adatto come criterio di ottimizzazione, ma il profitto come moltiplicatore annulla tutto il resto...
Che cosa ha a che fare questo con il saldo e la percentuale di operazioni di profitto?
Penso che ci fosse un articolo, google "Come creare i propri criteri per ottimizzare un robot di trading sito:mql5.com".
Che cosa ha a che fare questo con il saldo e la percentuale di operazioni di profitto?
Penso che ci fosse un articolo, google "Come fare i tuoi criteri di ottimizzazione per un robot di trading sito:mql5.com".
Trovato, grazie.
https://www.mql5.com/ru/articles/286