[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 147

 

Capito come disegnare l'indicatore (ricorsivo con inizializzazione, in teoria dovrebbe essere inizializzato con una data fissa, in modo che le barre in uscita non cambino i valori iniziali dell'indicatore). Il linguaggio sembra essere buono, ma c'è un enorme problema con la documentazione del linguaggio.

Sono riuscito a farlo in questo modo:

Se (IndicatorCounted<0) ritorna con un errore

Se la prima occorrenza (IndicatorCounted==0) e vogliamo calcolare l'intera storia

{

se (Bars <= Lunghezza) { inizializza le variabili con i valori iniziali}

se (barre > lunghezza) { se IndicatorCounted

}

Se NON è la prima inclusione (IndicatorCounted>0) allora conta solo Bars-IndicatorCounted-1 barre

{

if (IndicatorCounted-1 <= Length) { inizializza le variabili con valori iniziali fino a Length}

{ se (IndicatorCounted-1 > Lunghezza) calcola IndicatorCounted-1

}

ORA DOMANDE:

C'è un modo per rendere questo algoritmo più semplice? (c'è troppo testo)

Come decifrare data e ora dalla funzione Time? (Penso che abbiamo bisogno di data e ora di un certo bar)

C'è da qualche parte un tutorial di mql4 abbastanza completo (tranne il libro di Kirill e l'aiuto di metaeditor) che descriva cosa funziona e come funziona (come l'algoritmo di cui sopra)?

Dove posso trovare una descrizione della libreria stdlib mql?

 

Вопрос другого уровня. Лучше свою тему создавать.

OK, grazie.
 

Cosa causa l'errore 130? Come posso correggerlo?

Nel tester l'Expert Advisor funziona senza errori... su demo non può aprire alcun trade...

 

130 errore - stai specificando il take profit e lo stop loss sbagliati.

Probabili cause:

- il prezzo non è normalizzato.

- Le fermate sono molto vicine al mercato. Può galleggiare, quindi deve anche essere monitorato.

Se li hai a 5-10 pip, guarda da dove vengono - l'offerta o la domanda.

- Il problema può anche essere che il broker non è autorizzato a piazzare stop durante l'esecuzione degli ordini a mercato (per esempio brokos). Devono essere inseriti in un ordine già aperto.

 

Nota: i file possono essere aperti solo in terminal_directory/experts\files(terminal_directory\tester\files in caso di test esperto) o nelle sue sottocartelle.

Il programma non trova automaticamente il file nelle sottocartelle.

 
beruk писал(а) >>

Nota: i file possono essere aperti solo in terminal_directory/experts\files(terminal_directory\tester\files in caso di test esperto) o nelle sue sottocartelle.

Come si può fare? Il programma non trova automaticamente il file nelle sottocartelle.

E come si fa a cercarli?

 

Questa è la domanda - come cercare? Non riesco a trovare nulla nella documentazione.

Io uso :

#import "kernel32.dll"//funzione di libreria
int FindFirstFileA(string path, int & answer[]);//trova il primo file
bool FindNextFileA(int handle, int & answer[]);//trova i file successivi, uno dopo l'altro
bool FindClose(int handle);//non cerca
#import

ma a giudicare da "o dalle sue sottocartelle" questo può essere fatto per mezzo di MQL

 
beruk писал(а) >>

Questa è la domanda - come cercare? Non riesco a trovare nulla nella documentazione.

Io uso :

#importare "kernel32.dll"/funzione libreria
int FindFirstFileA(string path, int & answer[]);// trova il primo file
bool FindNextFileA(int handle, int & answer[]);//trova i file successivi uno per uno
bool FindClose(int handle);//esegue la ricerca
#importare

Ma secondo "o sottocartelle", si può fare con MQL.

Potete usare MQL per creare un file e scriverci qualcosa. Potete aprire un file esistente e leggere qualcosa. Che questo file esista o meno dipende da voi.

 

un'altra volta:

possono essere aperti solo nella cartella terminal_directory\experts\files(terminal_directory\tester\files in caso di test di un EA) o nelle sue sottocartelle.

Io uso per aprire il

int handle;
handle=FileOpen('my_data.csv',FILE_CSV|FILE_READ,';');

quindi il file viene creato/aperto in terminal_directory\experts\files, ma non nelle sottocartelle!

Non ho trovato istruzioni su come creare/aprire un file nelle sottocartelle né sul forum né nella documentazione.

forse è un errore nella documentazione?

 
beruk >> :

...non ho trovato come creare/aprire file in sottocartelle né sul forum né nella documentazione.

Forse provare in questo modo (creando prima la cartella files/my_dir)?

handle=FileOpen('my_dir/my_data.csv',FILE_CSV|FILE_READ,';');

Motivazione: