Errors, bugs, questions - page 726

 
sergeev:

Yes Renat, that's my code.

It worked in previous builds. But it stopped working in the current 630/64.

The bug I've found is quite strange and frankly speaking, frightening.

Sorry, got it now.

Yes, the 630 build came out buggy, but we've already corrected it and are releasing a new one.

Sorry for the bugs, it's very frustrating.

 

What does the caption on the variable (string array element) mean?

Expression cannot be evalu ated ?

An array in a class. The array is dynamic.

 
sergeev:

What does the caption on the variable (string array element) mean?

Expression cannot be evalu ated ?

An array in a class. The array is dynamic.

The expression cannot be evaluated.

Give a piece of code, please.

 
Renat:

Expression cannot be parsed.

Give a piece of code, please.


#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" и тоже креш
}

all arrays are pre Reset.

Tried with dynamic, result is the same.

This bug is only on 630/64

 

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

Will the new function complement the old OrderSend, or replace it completely?
 
Yedelkin:
Will the new function complement the old OrderSend, or replace it completely?

Supplement. At the moment it is defined as follows


 
Rosh:

Supplement.

Great. There is no information in the Handbook temporarily yet.
 
Rosh:

Currently it has the following definition

The description should be corrected right away: "TheOrderSend() function is intended for..." should be replaced with "The OrderSendAsync() function is intended for...". And further in the code description.

 
The new feature will not affect the competition rules.
 
Rosh:

Supplement. At the moment it has this definition...

I remember Renat gave a disclaimer, and yet take my question more seriously:

will there be a simpler scheme in the future to determine which order triggered OnTrade ?

the question is especially relevant in light of the introduction of the new OrderSendAsync() function.

Reason: