Una domanda per gli esperti di MQL - pagina 17

 

Chi ti ha detto che questo è un errore?

Lo screenshot mostra chiaramente che il tuo Expert Advisor usa la funzione ErrorDescription con il tipo stringa

Non c'è nessun errore. La nuova build ha appena aggiunto una comoda caratteristica - ora puoi vedere quali funzioni sono usate dall'EA dalla dll e dalle librerie.

 
Rita:

Entrambe le cartelle (Incloud e Libraries) contengono sorgenti stdlib. Per sicurezza, ho aggiunto-copiato dalla cartella Incloud.

Ma l'errore descritto sopra viene ancora visualizzato nella scheda "dipendenze". Forse cambiare in qualche modo la chiamata di queste funzioni: Invece di:

Impostare la chiamata in qualche altro modo?

O sarà impossibile utilizzare le funzioni di I.Kim nell'ultima versione di mt4 ora?


1) Aprire il file stdlib.mq4 nella cartella Libraries

2) compilarlo

3) dovrebbe funzionare senza errori

 

Grazie a tutti per le vostre risposte e raccomandazioni. Un'altra piccola domanda.

Come ho capito - i nomi delle variabili globali sono ora evidenziati in rosso nel codice. Tuttavia, nel mio codice ci sono nomi composti, alcuni dei quali coincidono con quelli globali. E questa parte corrispondente, per qualche motivo, è anche evidenziata in rosso!

Può avere un impatto negativo sull'operazione EA? O non c'è niente di male in questa evidenziazione parziale?

 
Rita:

Grazie a tutti per le vostre risposte e raccomandazioni. Un'altra piccola domanda.

Come ho capito - i nomi delle variabili globali sono ora evidenziati in rosso nel codice. Tuttavia, nel mio codice ci sono nomi composti, alcuni dei quali coincidono con quelli globali. E questa parte corrispondente, per qualche motivo, è anche evidenziata in rosso!

Può avere un impatto negativo sull'operazione EA? O non c'è niente di male in questa evidenziazione parziale?


Non c'è niente di sbagliato, ma dovresti contattare il ServiceDesk per farlo correggere.
 
Non ho sentito parlare di un tale servizio. Per favore, datemi un link.
 
Rita:
Non ho sentito parlare di un tale servizio. Per favore, datemi un link.

Devi registrarti sul forum di mql5.com, ci sarà un link nel tuo profilo.
 
La lingua russa è illuminata in rosso e quello che hai globalmente è illuminato un po' diversamente, nessun problema per te ....
 

Buongiorno!

Dopo l'aggiornamento di MT4 - l'indicatore che prima funzionava normalmente ha smesso di disegnare la sua linea. Ed è stato scoperto che in qualche modo il codice dell'indicatore influenza fortemente il lavoro del processore su vecchie versioni di MT4 con un meta-editor forzatamente aggiornato. Ma di questo si parlerà più tardi.

Dopo l'aggiornamento, quando installo l'indicatore sul grafico, la linea impostata viene disegnata in modo errato (in base alla differenza del prezzo di chiusura di 2 simboli specificati). Quando si commuta la linea del timeframe scompare del tutto (finestra vuota), e appare la scritta nel registro:

e dopo diversi cambi di timeframe (o il riavvio di mt4) l'indicatore scompare dal grafico:

2014.02.25 10:22:38.640 Indicatore personalizzato Spread-I-env #GCJ4,M30: rimosso

Si prega di consigliare quale potrebbe essere la ragione? Cos'è questo strano errore:

2014.02.25 10:21:07.437Violazione di accesso letto a 0x000003E5 in 'C:\Program Files\InstaTrader\MQL4\indicators\Spread-I-env- mod1.ex4'

 

Ciao!

Potete dirmi per favore come trovare il colore di sfondo del grafico nelle nuove costruzioni?

In quelli vecchi l'ho trovato così:

#importare "user32.dll"

int GetWindowDC(int h);

int ReleaseDC(int h, int hDC);

bool GetWindowRect(int h, int& pos[4]);

#importare

#importare "gdi32.dll"

int GetPixel(int hDC, int x, int y);

#importare

//+------------------------------------------------------------------+

//| funzione di avvio del programma script |

//+------------------------------------------------------------------+

void start()

{

int col = getBackgroundColor();

se (col==-1) MessageBox("Nessun angolo della finestra è visibile");

else MessageBox("Colore di sfondo: " + col);

}

//+------------------------------------------------------------------+

int getBackgroundColor()

{

int h = WindowHandle(Symbol(), Period());

int hDC = GetWindowDC(h);

int col = GetPixel(hDC, 2, 2);

se(col==-1) {

// l'angolo in alto a sinistra non è visibile

int rect[4];

GetWindowRect(h, rect);

int wW = rect[2] - rect[0]; // larghezza della finestra

int wH = rect[3] - rect[1]; // altezza della finestra

col = GetPixel(hDC, wW-3, wH-3); // angolo inferiore destro

if(col==-1) col = GetPixel(hDC, 2, wH-3); // BOW

if(col==-1) col = GetPixel(hDC, wW-3, 2); // LNT

}

ReleaseDC(h, hDC);

ritorno(col);

}

Non funziona in quelli nuovi!

 

Grazie, questo chiarisce la questione. L'ho capito da solo!

Color = ChartGetInteger( 0, CHART_COLOR_BACKGROUND, 0 );