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

 
eddy:

Cambio la dichiarazione int Pos[k] a double Pos[k] - esce 33.00000000, perché int array non funziona?


eddy:
Beh, l'unico punto logico del suo post è che ha dato per scontato che non avessi letto il libro di testo

Se lo leggesse, saprebbe COSA


Nelle espressioni MQL4, si usano solo conversioni di tipo implicite. I tipi sono prioritari in ordine crescente durante la conversione:

int (bool,color,datetime); double; stringa;

Prima delle operazioni (eccetto le operazioni di assegnazione), viene eseguita una conversione al tipo con la priorità più alta, e prima delle operazioni di assegnazione - al tipo di destinazione.

Esempi:

int i = 1 / 2; // nessuna conversione di tipo, risultato: 0 int i = 1 / 2.0; // l'espressione è convertita al tipo double, poi convertita al tipo target int, risultato: 0 double d = 1 / 2; // l'espressione di tipo int è convertita al tipo target double, risultato: 0.0 double d = 1.0 / 2.0; // nessuna conversione di tipo, risultato: 0.5 double d = 1 / 2.0; // l'espressione è lanciata al tipo double, che coincide con il tipo target, risultato: 0.5 string s = 1.0 / 8; // l'espressione è lanciata al tipo double, poi è lanciata al tipo target string, risultato: "0.12500000" (stringa contenente 10 simboli) stringa s = NULL; // la costante di tipo int viene fusa al tipo target string, il risultato: "0" (stringa contenente un simbolo) stringa s = "Ticket #"+12345; // l'espressione viene fusa al tipo string, che coincide con il tipo target, il risultato: "Ticket #12345".

La conversione di tipo si applica non solo alle costanti, ma anche alle variabili di tipo diverso.

 
Cosa c'entra la conversione di tipo se assegno un int-value a un int-array e uso int-variabili nei calcoli?
 

eddy:

l'RSI standard del codbase, che è il rapporto tra la media dei cambiamenti positivi e la media dei cambiamenti negativi, non è lo stesso

il reale, originale RSI, che è il rapporto tra la somma dei cambiamenti positivi e la somma dei cambiamenti negativi.

anche se non pretendo che la mia versione sia corretta, anche se la conosco e la capisco da anni, a differenza di quella del codebase.

Penso che chiunque sia stato sul mercato per molto tempo sappia che l'rsi è sumpos/sumneg*100

>
 
eddy:

Cosa c'entra la conversione di tipo se assegno un int-value a un int-array e uso int-variabili nei calcoli?

  Alert(Pos[k],"=("+vol+"-"+telo+")/2"); 
//выводит 0=(72-6)/2
stai dividendo l'int-.... e questo è
int i = 1 / 2; // nessuna conversione di tipo, risultato: 0
 

Divido un numero pari per 2. E divido un int per un int.

Il buffer dell'indicatore può essere solo doppio

 
il terminale può essere reinstallato lasciando tutto com'è (grafici ecc.), se sì come?
 
soffrire... - non otterrai nulla
 
delle brave persone me l'hanno già spiegato)
 
Aleksander:

stai condividendo l'int.... e questo.

int i = 1 / 2; // nessuna conversione di tipo, risultato: 0
Stava dividendo int 66 per int 2 ... Quindi... E l'uomo stesso ha capito i buffer dell'indicatore, e questo dice molto su chi e cosa, e dove brilla, e chi si vanta solo della sua "conoscenza". Non essere così evidente nella tua ignoranza e maleducazione nel trattare con le persone... E qualcosa brillerà per voi.
 
eddy:
Posso reinstallare il terminale ma lasciare tutto com'è (grafici, ecc.), se sì, come?


Come reinstallare Windows, salva tutti i tuoi file "preziosi" e reinstalla MT4 almeno ogni giorno.

Se questa opzione sembra complicata (non sai quali file salvare), prova un altro modo:

Rinominare la cartella con l'MT4 di oggi in, diciamo, "ARCHIVE" e installare una nuova copia di MT4. In seguito, dalla cartella "ARCHIVE", trascinerete i file di cui avete bisogno nel nuovo MT4 e li metterete nelle cartelle appropriate.

Tutto è molto semplice.