Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 111
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
Non capisco come, ho corretto i nomi, la linea è ancora rossa indipendentemente dal tipo di ordine, solo chiamata in modo diverso. (Poi devo trovare un modo per tagliarlo a 10 barre), ho bisogno esattamente del modo
provalo ora.
È una buona cosa che ci sia un sourcebook in giro)
Quando si preme il pulsante di compilazione il bot muore insieme al terminale, e dopo aver aperto EX non si apre e questo file è vuoto.
Sembra così.
Inoltre, se si mette il blu, il verde, l'oro, il bianco, questi colori cambiano, ma il grigio scuro e l'azzurro non si mettono, risultano bianchi.
È una buona cosa che ci sia un sourcebook in giro)
Quando si preme il pulsante di compilazione il bot muore insieme al terminale, e dopo aver aperto EX non si apre e questo file è vuoto.
Sembra così.
Inoltre, se metto il blu, il verde, l'oro, il bianco, questi colori cambiano, ma il grigio scuro e l'azzurro non si mettono, risultano bianchi.
string string_value, // строка
int start_pos, // с какой позиции начать
int length=0 // длина извлекаемой строки
);
Grazie!
Ho anche bisogno di aiuto - ho bisogno di sapere quanti caratteri ci sono in una stringa - come faccio?
Uso StringSplit per dividere una stringa letta da un file. Ma l'output dell'array perde le stringhe, tutte tranne la prima stringa. In uscita tutte le stringhe tranne la prima sono vuote, anche se la dimensione dell'array è corretta.
Inoltre, ho incontrato un comportamento incomprensibile con gli array di stringhe. Devo fare array bidimensionali per salvare le stringhe in un array.
Qualcuno ha incontrato questo comportamento?
if( StringFind( fileBuffer[idx][0], "[Main]" ) >= 0 ) {
idx++;
Print( "Buffer(main) = " + fileBuffer[idx][0] ); // debug
if( StringFind( fileBuffer[idx][0], "Kit_Names=" ) >= 0 ) {
Print( "check1 - " + fileBuffer[idx][0] ); // debug
string tmp = StringSubstr( fileBuffer[idx][0], 10 );
Print( tmp ); // debug
StringReplace( tmp, "\"", "" );
Print( tmp ); // debug
Print( StringSplit( tmp, sep, list ) );
Print( "check22 - " + tmp ); // debug
for(int i = 0; i < ArrayRange(list,0); i++) Print(list[i][0]); // debug
}
}
idx++;
}
Grazie!
Ho anche bisogno di aiuto - ho bisogno di scoprire quanti caratteri ci sono in una stringa - come faccio?
Restituisce il numero di caratteri nella stringa.
string string_value // строка
);
Restituisce il numero di caratteri in una stringa.
string string_value // строка
);
Dichiaro un array a livello globale EA. Poi nella funzione speciale init() chiamo la funzione utente che riempie l'array con le costanti di stringa.
Poi nella funzione speciale start(), uso l'array solo per leggere i dati.
Qualche tempo dopo, altri dati riempiranno l'array. Cioè, quando eseguo l'EA, mi aspetto che l'array rimanga invariato mentre l'EA lavora, ma i dati in qualche modo entrano nell'array, e solo dopo un certo tempo (più di 10 minuti). Quando riavvio l'Expert Advisor, l'array viene riempito come dovrebbe essere, ma qualche tempo dopo, per ragioni che non capisco, l'array contiene di nuovo i valori sbagliati.
L'unica via d'uscita è ricaricare costantemente l'array in start(), ma non mi piace molto, perché l'array dovrebbe essere riempito solo durante l'inizializzazione.
Quale potrebbe essere il problema? Come proteggere l'array dalle modifiche?
Puoi darmi un suggerimento, per favore?
...
Cosa potrebbe essere? Come evitare che un array venga modificato?
Un consiglio, per favore.
Dichiaro un array a livello globale EA. Poi nella funzione speciale init() chiamo la funzione utente che riempie l'array con le costanti di stringa.
Poi nella funzione speciale start(), uso l'array solo per leggere i dati.
Qualche tempo dopo, altri dati riempiranno l'array. Cioè, quando eseguo l'EA, mi aspetto che l'array rimanga invariato mentre l'EA lavora, ma i dati in qualche modo entrano nell'array, e solo dopo un certo tempo (più di 10 minuti). Quando riavvio l'Expert Advisor, l'array viene riempito come dovrebbe essere, ma qualche tempo dopo, per ragioni che non capisco, l'array contiene di nuovo i valori sbagliati.
L'unica via d'uscita è ricaricare costantemente l'array in start(), ma non mi piace molto, perché l'array dovrebbe essere riempito solo durante l'inizializzazione.
Quale potrebbe essere il problema? Come proteggere l'array dalle modifiche?