Any rookie question, so as not to clutter up the forum. Professionals, don't pass by. Nowhere without you - 6. - page 565

 

Please advise how to solve the following problem.

I use an external indicator in my Expert Advisor, connected via iCustom. In real life the connection works fine, no errors.

But in order to test it on the history in the tester I need to take the data that is in the file.

The Expert Advisor has the following line:

iCustom("EURUSD", 0, "ClusterDelta_Volume", 0, i);

The csv data file has the following fields:

DATE;TIME;HIGH;LOW;OPEN;CLOSE;VOLUME;DELTA;ASK;BID

I am interested in data from the VOLUME field, in order to set them in the test to a corresponding variable instead of calling the indicator.

I don't know how to do it, because I still have little experience in programming. May be you have at least an algorithm or sequence of functions, where to read and what functions to pay attention to.

If I didn't understand the question, specify - I will rephrase.

 
AlexeyVik:
Yes, I've already seen this question and checked, it really doesn't work although the documentation says that if the OBJPROP_RAY property of the vertical line is false then the line is only displayed in the main window.


Thanks for the confirmation, I thought it may be because of my mql4 version that I downloaded from my broker. It's hard to believe that it is a bug in mql4. I hope the developers will have time to answer such an elementary question.
 

People, tell me. How do I build an array? I put it in the loop like this.

int mass[] = 'f';

It will give me an error. How to make a mass variable to be an array... After the loop is executed.

 
Zolotai:

People, tell me a tip. How do I build an array? I put it in the loop like this.

int mass[] = 'f';

It will give me an error. How to make a mass variable to be an array... After the loop is executed.


The array needs to be given a dimension.

char mass[3] ; // массив из 3 элементов
mass[0]='a';  mass[1]='b'; mass[2]='c';
//---------
  
  int ticket[], n=0; 
  for(int OrdersTotal()-1; i>=0; i--)
  {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
       
      if(OrderType()<2)                        // записашем тикеты открытых позиций
      { 
        n++;                                   // увеличим счетчик элементов массива
        ArrayResize(ticket,n);                   // зададим размерность массиву
        ticket[n-1]=OrderTicket();               // 1 элемент имеет индекс 0, второй элемент записывается в 1 индекс и т.д.
      } 
    }
  }
 

hello,

I get a warning on compilation:

empty controlled statement found


which refers to the following line

if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) == true)

{...}


the code works and the functions for the selected orders are implemented, but what the hell

with some empty monitored message? If anyone knows, please tell me,

because it's not clear why it suddenly started warning?


Thank you.

 

Hello.

On my laptop (Win 8.1) on all terminals the MQL4 folder is in the user folder, i.e. as it should be, but on my computer (Win 7) the same folder is in the program files. Build 625.

Why haven't I moved MQL4 folder to the user's directory?
Who is responsible for it, what should I do and is it necessary to "bother" with it?

Thanks in advance!

 
Notter:

hello,

I get a warning on compilation:

empty controlled statement found


which refers to the following line

if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) == true)

{...}


the code works and the functions for the selected orders are implemented, but what the hell

with some empty monitored message? If anyone knows, please tell me,

because it's not clear why it suddenly started warning?


Thank you.



remove the semicolon and comma.
 
isn-88:

Hello.

On my laptop (Win 8.1) on all terminals the MQL4 folder is in the user folder, i.e. as it should be, but on my computer (Win 7) the same folder is in the program files. Build 625.

Why haven't I moved MQL4 folder to the user's directory?
Who is responsible for it, what should I do and is it necessary to "bother" with it?

Thanks in advance!


You have disabled UAC
 
GSB:

The array has to be given a dimension.




Thanks. Can you tell me. What is the process

while (true) {

void Sleep(250);

}

I would like the loop to run infinitely and at the same time at a certain interval. For example 1/4 second. That error, how do I write it correctly?

 

Hi all!

Please advise on a possible solution to the problem.

There are 2 or 3 or more indicators working. Each one has a line: Comment(" Indicator 1 is running."); the next Comment(" Indicator 2 is running."); etc. respectively.

How, perhaps with the "smart" translation of the carriage, to get a view of the upper left corner of the screen (the next inscription does not overwrite the previous one in a period of at least 1 tick):

Indicator 1 is working.

Indicator 2 is working.

LED 3 is working.

etc.

Reason: