Il mio array di serie temporali non viene aggiornato nella stringa di definizione dell'evento trade (quando appare una nuova candela), o meglio il suo valore non cambia quando appare una nuova candela.
if(T[i]!=iTime(NULL,TF[i],1))
T[i] viene impostato per la prima volta al lancio dell'Expert Advisor e poi, quando appare una nuova candela, il valore viene aggiornato.
Il parametro I è impostato sulla base dei parametri di ingresso.
Ciò che è interessante, la versione in cui ho usato diversi TF per lavorare, e ho dovuto usare un ciclo for a causa di questo, tutto ha funzionato bene, ma qui fallisce - non viene aggiornato, e questo è tutto...(
Il mio array di serie temporali non viene aggiornato nella stringa di definizione dell'evento trade (quando appare una nuova candela), o meglio il suo valore non cambia quando appare una nuova candela.
T[i] viene impostato per la prima volta quando si lancia l'Expert Advisor e poi, quando appare una nuova candela, il valore viene aggiornato.
Il parametro I è impostato sulla base dei parametri di ingresso.
Ciò che è interessante, ho usato diversi TF per lavorare nella versione in cui dovevo usare un ciclo for e funzionava bene, ma ora non riesce - semplicemente non si aggiorna...(
A quanto pare non è stato tirato fuori dal circuito correttamente...
Ecco una funzione personalizzata per definire una nuova barra
tf - periodo del grafico o valore del periodo per determinare l'occorrenza di una nuova barra.
lastbar - una variabile passata per riferimento per memorizzare il tempo dell'ultima barra.
voidOnTick()
{
// хотим определить наступление нового дняstaticdatetime lastDay, lastHour;
bool newDay, newHour;
newDay = NewBar(PERIOD_D1, lastDay);
if(newDay)
Print("наступил новый день");
// и нового часа
newHour = NewBar(PERIOD_H1, lastHour);
if(newHour)
Print("наступил новый час");
}
La prima volta che viene chiamato dall'EA, segnala immediatamente una nuova barra. Corretto aggiungendo chiamate di funzioni a OnInit()
Quando viene chiamato per la prima volta dallo script, segnala immediatamente una nuova barra, poi è sempre falso. Corretto aggiungendo RefreshRates() all'inizio della funzione
La prima volta che viene chiamato dall'EA, segnala immediatamente una nuova barra. Corretto aggiungendo chiamate di funzioni a OnInit()
Quando viene chiamato per la prima volta dallo script, segnala immediatamente una nuova barra, poi è sempre falso. Corretto aggiungendo RefreshRates() all'inizio della funzione
1. Al primo richiamo vero, è abbastanza normale, se non ci sono state barre, quella che è apparsa sarà la nuova. Se necessario, se la strategia lo richiede, è possibile rifiutare una nuova barra e altre in questo modo. A colpo d'occhio, senza pensare, ne introduco altri due.
Buona giornata a tutti. Qualcuno potrebbe consigliarmi: come posso assicurarmi che l'EA funzioni correttamente, cioè che esegua un dato algoritmo quando il terminale viene riavviato o quando internet è disconnesso?
artmedia70: Mi scusi, Ygemon, ma perché questa imprudenza? Quale persona gentile ti ha consigliato di farlo?
Cosa c'è che non va? Non ho messo il resto del codice, perché lì è tutto normale. Il ciclo è necessario per non dipendere dai tick, quando si definiscono gli eventi, per non riavviare il PC è dormire a 100 mlsec
int Flags=FILE_WRITE+FILE_TXT+FILE_COMMON;
int Info = FileOpen(fName,Flags);
FileWrite(Info,What's Up); Sull'altro terminale, leggere. Cursore su FileOpen e F1 - ottenere aiuto
Ciao a tutti.
Il mio array di serie temporali non viene aggiornato nella stringa di definizione dell'evento trade (quando appare una nuova candela), o meglio il suo valore non cambia quando appare una nuova candela.
T[i] viene impostato per la prima volta al lancio dell'Expert Advisor e poi, quando appare una nuova candela, il valore viene aggiornato.
Il parametro I è impostato sulla base dei parametri di ingresso.
Ciò che è interessante, la versione in cui ho usato diversi TF per lavorare, e ho dovuto usare un ciclo for a causa di questo, tutto ha funzionato bene, ma qui fallisce - non viene aggiornato, e questo è tutto...(
Ciao a tutti.
Il mio array di serie temporali non viene aggiornato nella stringa di definizione dell'evento trade (quando appare una nuova candela), o meglio il suo valore non cambia quando appare una nuova candela.
T[i] viene impostato per la prima volta quando si lancia l'Expert Advisor e poi, quando appare una nuova candela, il valore viene aggiornato.
Il parametro I è impostato sulla base dei parametri di ingresso.
Ciò che è interessante, ho usato diversi TF per lavorare nella versione in cui dovevo usare un ciclo for e funzionava bene, ma ora non riesce - semplicemente non si aggiorna...(
A quanto pare non è stato tirato fuori dal circuito correttamente...
Ecco una funzione personalizzata per definire una nuova barra
Variabili di input:
tf - periodo del grafico o valore del periodo per determinare l'occorrenza di una nuova barra.
lastbar - una variabile passata per riferimento per memorizzare il tempo dell'ultima barra.
La prima volta che viene chiamato dall'EA, segnala immediatamente una nuova barra. Corretto aggiungendo chiamate di funzioni a OnInit()
Quando viene chiamato per la prima volta dallo script, segnala immediatamente una nuova barra, poi è sempre falso. Corretto aggiungendo RefreshRates() all'inizio della funzione
La prima volta che viene chiamato dall'EA, segnala immediatamente una nuova barra. Corretto aggiungendo chiamate di funzioni a OnInit()
Quando viene chiamato per la prima volta dallo script, segnala immediatamente una nuova barra, poi è sempre falso. Corretto aggiungendo RefreshRates() all'inizio della funzione
1. Al primo richiamo vero, è abbastanza normale, se non ci sono state barre, quella che è apparsa sarà la nuova. Se necessario, se la strategia lo richiede, è possibile rifiutare una nuova barra e altre in questo modo. A colpo d'occhio, senza pensare, ne introduco altri due.
o
2. Perché lo script dovrebbe definire una nuova barra? Questo è sciocco fino a che punto?
Ma perché non funziona qui...(((( Penso che vada bene(
Igemon:
Mi scusi, Ygemon, ma perché questa imprudenza? Quale persona gentile ti ha consigliato di farlo?