Errori, bug, domande - pagina 339

 
sergeev:

ma non vuoi controllare?

Ho fatto notare che l'informazione "non poteva essere trovata immediatamente". Se conosci la risposta, dimmi dove si trova la regola che regola questa domanda.
 
Yedelkin:
Ho fatto notare che l'informazione non era "immediatamente disponibile". Se conosci la risposta, per favore dimmi dove si trova la regola che regola questo problema.

Eh, collega, se le scimmie cercassero una guida su come usare un bastone, sarebbero ancora scimmie...

Non essere pigro, devi solo sforzare qualche dito e controllare nel codice. Non è più difficile che scavare una trincea in inverno.

 
sergeev:

Eh, collega, se le scimmie cercassero un manuale su come usare un bastone, sarebbero ancora scimmie...

Non essere pigro, devi solo alzare un dito o due e controllare il codice. Non è più difficile che scavare una trincea in inverno.

Oh, capisco cosa vuoi dire. È da un anno che apprezzo la tua dedizione alla regola del pollice :) Inoltre, circa un anno fa, vi ho già spiegato perché preferisco imparare le basi (se possibile). Quanto a "sforzare un paio di dita" - in questo caso sembra ridondante. Perché basta sforzare il cervello per capire che l'autore di questo codice non ha avuto problemi di compilazione (altrimenti la sua domanda sarebbe stata formulata diversamente) :) La mia domanda era se una tale combinazione di nomi è accettabile dal punto di vista dell'architettura della lingua (struttura, idea, ecc.).

...Dato che non ho trovato alcuna restrizione nei materiali di riferimento, risulta che il lavoro del compilatore in questo caso non contraddice le basi del linguaggio.

 

Non so se la mia tastiera è difettosa o è un bug di ME.

Seleziono una sezione di codice premendo Ctrl+V e invece di sostituire la sezione con informazioni dagli appunti ottengo un riempimento.

La stessa cosa con la digitazione di base.

Seleziono un frammento, premo un tasto qualsiasi e invece del carattere chiave da sostituire l'intervallo selezionato del mio codice viene sovrascritto.

Esempio

table.SecondSize()    // было
postable.SecondSize() // стало
pos                   // хотелось бы
 
Urain:

Non so se la mia tastiera è difettosa o è un bug di ME.

Seleziono un pezzo di codice, premo Ctrl+V, e invece di sostituirlo con informazioni dagli appunti, ottengo un extra.

Sto bene.
 
Ah sì, il computer è a 32 bit.
 
Urain:

Non so se la mia tastiera è difettosa o è un bug di ME.

Seleziono una sezione di codice premendo Ctrl+V e invece di sostituire la sezione con informazioni dagli appunti ottengo un riempimento.

La stessa cosa con la digitazione di base.

Seleziono un frammento, premo un tasto qualsiasi e invece del carattere chiave da sostituire l'intervallo selezionato del mio codice viene sovrascritto.

Esempio


Ce l'ho proprio bene. Cerca il problema ;-)
 
7134956:
Sto bene. Cerca la causa ;-)
Grazie per il tuo feedback, sembra che la tastiera sia difettosa dopo tutto.
 
papaklass:

Perché:

535 long dgt = SymbolInfoInteger(smb[numero],SYMBOL_DIGITS);

549 if(dgt == 0){
Print("Buy Data == 0. error");
return(false);
}
556 sl = MathMin(mrate[1].high - mrate[1].low,level);

560 Print(" sl =",DoubleToString(sl,dgt));// 1

Stampa(" sl =",DoubleToString(sl,_Digits);// 2

possibile perdita di dati a causa della conversione del tipo ChampionShip2010_v6.mq5 560 49 - questo si riferisce alla prima stampa.

dove smb[numero] - coppia di valute non del grafico principale

Se correggo long in int nella 535a linea, cioè

535 int dgt = SymbolInfoInteger(smb[numero],SYMBOL_DIGITS);

possibile perdita di dati a causa della conversione del tipo ChampionShip2010_v6.mq5 535 31

Qual è il problema?

Il problema è che SymbolInfoInteger(smb[numero],SYMBOL_DIGITS); restituisce il tipo long, mentre la funzione DoubleToString(sl,dgt) deve passare il tipo int. Ecco perché dovreste scrivere DoubleToString(sl,(int)dgt))
 

I risultati del test sono corretti, ma non nel registro!

---------------------------------------------------------

Ecco il codice per controllare il numero di lotti per 2 coppie

  double vol1 =0.0;
  double vol2 =0.0;
  if(PositionSelect(Symbol1)) vol1=PositionGetDouble(POSITION_VOLUME);
  if(PositionSelect(Symbol2)) vol2=PositionGetDouble(POSITION_VOLUME);
  Print ("vol1=",vol1,"vol2=",vol1,"vol1<vol2=",vol1<vol2);

Ma questo è ciò che mostra la stampa.


Che tipo di miracolo è questo? Non c'è un solo momento in cui sembra che uno sia più grande dell'altro.

Su tutti i TF e non importa quale simbolo.