[ARCHIVE] Any rookie question, so as not to clutter up the forum. Professionals, don't pass by. Nowhere without you - 3. - page 485

 
Figar0:

Upload your quotes to it

By the way, in the Strategy Tester I cannot test an Expert Advisor which makes calculations on one currency pair, but opens deals on another one. The error 4106 Unknown symbol appears. I think it's because the tester cannot analyze two pairs simultaneously.
 
The tester handles this situation quite correctly, look for an error in the spelling of the symbol
 
sss2019:

By the way, in the tester it is not possible to test an Expert Advisor which makes calculations on one currency pair, but opens trades on another one. The error 4106 Unknown symbol appears. I think this is due to the fact that the tester cannot analyze two pairs simultaneously.

The tester cannot open deals on an instrument different from the selected one but it may analyze any available instrument.
 
FAQ:
The tester handles this situation quite correctly, look for an error in the spelling of the symbol

Maybe you mean that you are testing on one currency pair and trying to open orders on another one, like multicurrency ...
 

FAQ

The tester handles this situation quite correctly, look for an error in the spelling of the symbol

Figar0

The tester cannot open deals on the selected symbol

That's how do you understand it - who is right here?

There cannot be any error in the symbol description. When I run the Expert Advisor on EURUSD, if I enter EURUSD, it works fine, but if I enter GBPUSD, it won't open.

 
sss2019:

That's how to understand it, who is right here?

There can be no error in the symbol description. I run the Expert Advisor on EURUSD and if I enter EURUSD in the settings, everything works fine, but if I enter GBPUSD, it does not open.


There is no problem). Your problem is either in the code, or in what and where you "enter", maybe there is no instrument in MarketWatch.
 

Hi all again)

Can you tell me if int ArrayInitialize(void array[], double value) function, whichsets all elements of a numeric array to one value, can be used to zero a two dimensional array array[][]???

If not, what is the best way to do it?

 
In my opinion, it can. It's easy to check.
 
FAQ:


I don't know what computer system you have, but it's easy to pause the tester, you just need to loop the EA.

connect user32.dll and at the very beginning of the start you need to enter this line:

Now, when you press the shifter button, your owls will hang until you release them, and the tester will pause accordingly.

You can make it work via a static flag:

Now when you press control the exp will slow down, and when you press alt it will start again

And don't forget to attach the import at the beginning


I see. Thank you. I have XP, on start up there are two bootable subsystems to choose from - mine and another. From mine - clause pause in the strategy tester works, from the other bootable system - no... Strange how this can be at all. Tested owls and client terminal are the same.
 
NickXXX:

Hi all again)

Can you tell me if int ArrayInitialize(void array[], double value) function, whichsets all elements of a numeric array to one value, can be used to zero a two dimensional array array[][]???

If no, what's the best way to do it?

Here's a question... I initialized a three-dimensional array in my functions without thinking twice, and everything worked. But when I thought about it... I checked it without too much finesse:

//+------------------------------------------------------------------+
//|                                                        11111.mq4 |
//|                                Copyright © 2012, Artyom Trishkin |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, Artyom Trishkin"
#property link      ""

   double MyArray[2][2];
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   int i, j;
   for (i=0; i<2; i++) {
      MyArray[i][0]=i+1;
      Alert("MyArray[",i,"][0] = ", MyArray[i][0]);
      }
   for (j=0; j<2; j++) {
      MyArray[0][j]=j+3;
      Alert("MyArray[0][",j,"] = ", MyArray[0][j]);
      }
   Alert("ArrayInitialize(MyArray,-1);");
   ArrayInitialize(MyArray,-1);
   for (i=0; i<2; i++) {
      Alert("MyArray[",i,"][0] = ", MyArray[i][0]);
      }
   for (j=0; j<2; j++) {
      Alert("MyArray[0][",j,"] = ", MyArray[0][j]);
      }
//----
   return(0);
  }
//+------------------------------------------------------------------+


Alert outputs from the bottom up. So it all works....

Reason: