Errori, bug, domande - pagina 726

 
sergeev:

Sì Renat, questo è il mio codice.

Ha funzionato nelle build precedenti. Ma ha smesso di funzionare nell'attuale 630/64.

Il bug che ho trovato è abbastanza strano e, francamente, spaventoso.

Scusa, l'ho capito ora.

Sì, la build 630 è uscita buggata, ma l'abbiamo già corretta e ne stiamo rilasciando una nuova.

Mi dispiace per i bug, è molto frustrante.

 

Cosa significa la didascalia sulla variabile (elemento dell'array di stringhe)?

L'espressione non può essere valutata?

Un array in una classe. L'array è dinamico.

 
sergeev:

Cosa significa la didascalia sulla variabile (elemento dell'array di stringhe)?

L'espressione non può essere valutata?

Un array in una classe. L'array è dinamico.

L'espressione non può essere valutata.

Date un pezzo di codice, per favore.

 
Renat:

L'espressione non può essere analizzata.

Date un pezzo di codice, per favore.


#define CHART_LPROP     43
#define CHART_DPROP     6
#define CHART_SPROP     1

//------------------------------------------------------------------ class CTmpChart
class CTmpChart
{
public:
        // свойства
        long lprm[CHART_LPROP+3];
        double dprm[CHART_DPROP];
        string sprm[CHART_SPROP+1];

......
}

//------------------------------------------------------------------ Reset
void CTmpChart::Reset() // сброс всех значений
{
	// сбрасываем свойства
	string nul=NULL; 
	for (int i=0; i<CHART_LPROP+3; i++) lprm[i]=-1;
	for (int i=0; i<CHART_DPROP; i++) dprm[i]=-1;
	for (int i=0; i<CHART_SPROP+1; i++) sprm[i]=nul; // пришлось сделать так, иначе код слетает на присвоении sprm[i]=NULL 
}

//------------------------------------------------------------------ Copy
void CTmpChart::Copy(CTmpChart &a)
{
        for (int i=0; i<CHART_LPROP+3; i++) lprm[i]=a.lprm[i];
        for (int i=0; i<CHART_DPROP; i++)   // на этом цикле через раз (поймать стабильный глюк не получилось) терминал закрывается как процесс
          dprm[i]=a.dprm[i];
        for (int i=0; i<CHART_SPROP+1; i++) // на этом цикле бывает два варианта, 1) при подходе на эту строку цикла будет креш, 
          sprm[i]=a.sprm[i]; // 2) если цикл доживает к этой строке , то на ячейке sprm[i] (не из а.) - будет "Expression cannot be evaluated" и тоже креш
}

tutti gli array sono pre-resettati.

Provato con dynamic, il risultato è lo stesso.

Questo bug è solo su 630/64

 

MQL5: Добавлен асинхронный метод посылки торговых запросов OrderSendAsync.

La nuova funzione completerà la vecchia OrderSend o la sostituirà completamente?
 
Yedelkin:
La nuova funzione completerà la vecchia OrderSend o la sostituirà completamente?

Supplemento. Al momento è definito come segue


 
Rosh:

Supplemento.

Fantastico. Non ci sono ancora informazioni nel Manuale temporaneamente.
 
Rosh:

Attualmente ha la seguente definizione

La descrizione dovrebbe essere corretta subito: "Lafunzione OrderSend() è destinata a..." dovrebbe essere sostituita con "La funzione OrderSendAsync() è destinata a...". E più avanti nella descrizione del codice.

 
La nuova funzione non influenzerà le regole del concorso.
 
Rosh:

Supplemento. Al momento ha questa definizione...

Ricordo che Renat ha dato un disclaimer, e tuttavia prendere la mia domanda più seriamente:

Ci sarà uno schema più semplice in futuro per determinare quale ordine ha attivato OnTrade?

la domanda è particolarmente rilevante alla luce dell'introduzione della nuova funzione OrderSendAsync().