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
Mi sembra che i bar dei vecchi TF raramente "spariscano".
Un'altra variante è quella di ottenere il tempo di questa barra simultaneamente attraverso CopyTime().
E la terza opzione (probabilmente la più semplice) usare CopyRates nella struttura in una volta sola.
Grazie... Il fatto è che lavoro su M1 e spesso osservo barre asincrone con lo stesso indice su strumenti diversi. Anche il confronto delle date è un'opzione. Guarderò quale variante è più ottimale in termini di velocità di calcolo.
Qui c'è qualcosa sulla sincronizzazione.
Grazie! Articolo utile... Cioè, per ogni barra del simbolo corrente usando la funzione CopyTime otteniamo il tempo e poi copiamo i dati di un altro simbolo da questo tempo.
Ma invece di eventi personalizzati userei la funzione OnTimer, perché è molto ingombrante appendere un "indicatore-agente" su ogni simbolo...
Grazie! Articolo utile... Cioè, per ogni barra del simbolo corrente usando la funzione CopyTime per ottenere il tempo, e poi copiare i dati di un altro simbolo da questo tempo.
Si può fare in questo modo, se si è soddisfatti della sincronizzazione relativamente al simbolo corrente.
Ma invece di eventi personalizzati userei la funzione OnTimer, perché è troppo ingombrante appendere un "indicatore-agente" su ogni simbolo...
c'è un problema.
MT4
dettagli:
https://www.mql5.com/ru/forum/139759/page13#655069
Probabilmente la più grande delusione per me è il comportamento delle funzioni SeriesInfoInteger, CopyTime, CopyOpen e simili.
Si scopre che anche nei fine settimana, quando non si ricevono nuove quotazioni, e i dati esistenti vengono aggiornati,
queste funzioni possono dare risultati diversi con gli stessi parametri. C'è un problema con il controllo dei dati delle serie temporali già presenti nel terminale.
È stato notato che il problema si verifica quando si lavora in modalità multicurrency dopo aver ricompilato gli indicatori, così come quando si cambia timeframes e si riavvia il terminale.
CopyOpen() non produce un errore se cerchiamo di copiare dati da un pezzo di storia non esistente, specificando la data del suo inizio. La funzione produce il valore di quotazione di una barra sconosciuta.
Questo comportamento della funzione è stato rilevato nella coppia USDHKD, per la quale non ci sono dati negli ultimi mesi sul server MQ.
Grazie a MQ per le nuove trappole!
void OnStart()
{
Alert("start");
string arr1[178365];
char arr2[178365];
arr1[100002]="hello";
Alert(arr1[100002]);
Alert("finish");
}
In fase di compilazione dà avvisiche la dimensione delle variabili locali è troppo grande (più di 512kb) 55.mq5 27 6
On execution2012.07.01 14:37:26 55 (GBPUSD,MN1) stack overflow
Non posso usare 2 piccoli array? È davvero così tanto?
Io uso Metatrader non per il trading, lo uso per altri calcoli.
Stasikusssss:
...
Io proverei questo: mettete gli array in una classe o in una struttura (non ricordo se potete allocare memoria dinamica per una struttura), allocate la memoria per la classe tramite new;
Oppure mettete la definizione degli array in una funzione separata, e giocate con la #proprietà stacksize https://www.mql5.com/ru/docs/basis/preprosessor/compilation. Se è la seconda variante, gli array non possono essere statici.
Se sono necessari array di grandi dimensioni, dovrebbero essere resi dinamici con un'allocazione di memoria esplicita.