Aiuto per la codifica - pagina 301

 
sunshineh:
Ciao,

Sto usando le funzioni di file e funzionano bene!

Sto usando dei file piuttosto grandi e sto lavorando con un ciclo for.

In ogni ciclo leggo una linea del file. Quindi a volte voglio cambiare una parola in una di queste linee.

C'è un modo semplice per farlo? Se chiudo il file per la lettura e lo apro per la scrittura, allora il mio puntatore va alla fine del file.

Ma c'è una possibilità di ottenere la posizione effettiva del puntatore del file? Così posso anche scrivere direttamente ad es. nel mezzo del file.

Non c'è un modo semplice se le linee non sono di dimensione fissa (allora devi riscrivere l'intero file)

Se le linee sono di dimensione fissa usa FileSeek(fileHandle,lineSize*(numberOfLine-1),SEEK_SET); e poi scrivi le modifiche a quella specifica linea

 

Scusa se ripeto il mio messaggio...ma è importante per me.... ho bisogno di un esempio di codice:

Ciao Mladen,

Vorrei un piccolo indicatore che, sul time frame 5 min, mi mostri quando lo stoc 5-3-3 è sotto 20 sul time frame 15 min.

Non voglio stoc multitimeframe.... ma un segnale di time frame superiore su tf inferiore.

Grazie in anticipo

 

Ciao Mladen,

Voglio esportare i valori non lag ma nrp in un file CSV. I colori rosso (pomodoro) dovrebbero essere negativi e i colori blu dovrebbero essere valori positivi.

 
nevar:
Ciao Mladen, voglio esportare i valori non lag ma nrp in un file CSV. I colori rosso (pomodoro) dovrebbero essere negativi e i colori blu dovrebbero essere valori positivi?

nevar

Ecco uno script che lo fa: export_nonlag_ma_data.mq4

Hai bisogno del "NonLag ma nrp nmc" da questo post nella cartella degli indicatori: https: //www.mql5.com/en/forum/general

 
mladen:
AZRUL

Non state fornendo il valore che volete cercare nella linea 180 (questa linea :

int ranking = rank();

quindi la funzione rank non può confrontare con nessun valore. La vostra chiamata deve essere nella forma seguente:

int ranking = rank(someValueToRank);

Caro SIR MLADEN,

Ho cercato di ottenere la classifica per l'uscita totale dal mio indicatore per fare un RANK in ordine crescente, ma non ci sono riuscito... Ho ottenuto solo 2 output e solo uno di loro è corretto ... ( penso di sì..) e il resto (altri 5) è (0) zero......

Ho provato tutto quello che mi è venuto in mente e sono a corto di idee su come produrre un codice per classificarli in ordine crescente o decrescente, andrebbe bene.... potresti per favore aiutarmi.........

Il vostro tempo e la vostra esperienza sono sempre apprezzati e necessari.......

Sinceramente vostro

AZRUL...

File:
 
12BPRO:
Caro SIR MLADEN,

Ho cercato di ottenere la classifica per l'uscita totale dal mio indicatore per fare un RANK in ordine crescente, ma non ci sono riuscito... Ho ottenuto solo 2 output e solo uno di loro è corretto ... ( penso di sì..) e il resto (altri 5) è (0) zero......

Ho provato tutto quello che mi è venuto in mente e sono a corto di idee su come produrre un codice per classificarli in ordine crescente o decrescente, andrebbe bene.... potresti per favore aiutarmi.........

Il vostro tempo e la vostra esperienza sono sempre apprezzati e necessari.......

Sinceramente vostro

AZRUL...

12BPRO

Penso di avertelo già detto: devi fare un ordinamento a 2 dimensioni (dato che hai un valore + un nome di simbolo in ogni par che vuoi visualizzare) Non basta ordinare solo i valori perché così perdi i nomi dei simboli, devi fare una tua procedura di ordinamento che sposti anche il nome del simbolo al posto corrispondente quando il valore viene spostato al suo posto

 
mladen:
12BPRO Penso di avertelo già detto: devi fare un ordinamento a 2 dimensioni (dato che hai un valore+nome del simbolo in ogni par che vuoi visualizzare) Non basta ordinare solo i valori perché così perdi i nomi dei simboli, devi fare una tua procedura di ordinamento che sposti anche il nome del simbolo al posto corrispondente quando il valore viene spostato al suo posto

Caro SIR MLADEN,

Ho provato questo codice aggiungendo la procedura di ordinamento e sta indicando qualche valore... purtroppo sembra che abbia saltato l'ultimo valore dell'array (TOTCAD)... potrebbe per favore dare un'occhiata...

Mi dispiace molto2, non sono un PROGRAMMATORE .... non capisco molto... mio caro GURU..... Sto facendo del mio meglio per imparare questo......

Il tuo tempo e la tua esperienza sono sempre apprezzati e necessari.......

Sinceramente vostro

AZRUL...

 
12BPRO:
Caro SIR MLADEN,

Ho provato questo codice aggiungendo la procedura di ordinamento e sta indicando qualche valore... purtroppo sembra che abbia saltato l'ultimo valore dell'array (TOTCAD)... potreste per favore dare un'occhiata...

Mi dispiace molto2, non sono un PROGRAMMATORE .... non capisco molto... mio caro GURU..... Sto facendo del mio meglio per imparare questo......

Il tuo tempo e la tua esperienza sono sempre apprezzati e necessari.......

Sinceramente vostro

AZRUL...

AZRUL

Ecco una routine di ordinamento che ordina gli array a 2 dimensioni:

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

// 2 dimenzional array shell sort

//

//

//

double PR[][2];

void SortIt()

{

int size ArrayRange(PR,0);

int i,j,increment = size / 2;

double temp,temi;

//

//

//

//

//

while (increment > 0)

{

for (i = increment; i < size; i++)

{

j = i;

temp = PR;

temi = PR;

while ((j >= increment) && (PR[j-increment,0] < temp))

{

PR[j,0] = PR[j-increment,0];

PR[j,1] = PR[j-increment,1];

j = j-increment;

}

PR[j,0] = temp;

PR[j,1] = temi;

}

if (increment == 2) increment = 1;

else increment = (increment / 2.2);

}

}

Riempite l'array PR con i valori e qualche tipo di segno per un simbolo (per esempio PR[0,0] = valore per eur, PR[0,1] = 1 (che significherebbe che 1 è un segno per EUR). Poi chiamate la procedura SortIt() e leggete i valori e i loro corrispondenti segni per i simboli (per esempio otterreste PR[5,1] == 1 (1 significa EUR) che significherebbe che il valore PR[4,0] è il valore di EUR)

 
mladen:
AZRUL

Ecco una routine di ordinamento che ordina array di 2 dimensioni:

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

// 2 dimenzional array shell sort

//

//

//

double PR[][2];

void SortIt()

{

int size ArrayRange(PR,0);

int i,j,increment = size / 2;

double temp,temi;

//

//

//

//

//

while (increment > 0)

{

for (i = increment; i < size; i++)

{

j = i;

temp = PR;

temi = PR;

while ((j >= increment) && (PR[j-increment,0] < temp))

{

PR[j,0] = PR[j-increment,0];

PR[j,1] = PR[j-increment,1];

j = j-increment;

}

PR[j,0] = temp;

PR[j,1] = temi;

}

if (increment == 2) increment = 1;

else increment = (increment / 2.2);

}

}
Riempite l'array PR con i valori e qualche tipo di segno per un simbolo (per esempio PR[0,0] = valore per eur, PR[0,1] = 1 (che significherebbe che 1 è un segno per EUR). Poi chiamate la procedura SortIt() e leggete i valori e i loro corrispondenti segni per i simboli (per esempio otterreste PR[5,1] == 1 (1 significa EUR) che significherebbe che il valore PR[4,0] è il valore di EUR)

Caro SIR MLADEN,

GRAZIE TANTISSIMO CARO SIR(GURU).... sei il mio EROE e .... 6° Credito...

Amo questo FORUM così tanto.... grazie ai GURU qui....

Questo sarebbe di beneficio anche ad altri....

GRAZIE SIR....

il vostro sincero

AZRUL...

 
mladen, mrtool...

need help to modify/add color changing rule by 2 moving averange (MA period 8 n MA period 24).

se MA8 > MA24, histo color=verde.

se MA8 < MA24, histo color=red.

Ecco il link dell'indicatore: https: //www.mql5.com/en/code/download/7992/BW_MFI.mq4

ancora in attesa... già provato da me (prima di postare questa richiesta) ma nessun buon risultato, bisogno di più buffer? o perché non sono codificatore/manco di abilità di codifica. voglio solo sapere se è possibile combinare BW MFI con un altro indic's.