[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 485

 
Figar0:

закачайте в него свои котировки

Кстати, в тестере не получается протестировать эксперта который делает вычисления на одной валютной паре, а открывает сделки на другой. Появляется ошибка 4106 Неизвестный символ. Я думаю это из-за того что в тестере не может одновременно анализироваться две пары.
 
Тестер вполне корректно обрабатывает эту ситуацию, ищите ошибку в написании символа
 
sss2019:

Кстати, в тестере не получается протестировать эксперта который делает вычисления на одной валютной паре, а открывает сделки на другой. Появляется ошибка 4106 Неизвестный символ. Я думаю это из-за того что в тестере не может одновременно анализироваться две пары.

Тестер не может открывать сделки по инструменту отличного выбраного, при этом анализировать любые доступные инструменты ему по силам.
 
FAQ:
Тестер вполне корректно обрабатывает эту ситуацию, ищите ошибку в написании символа

наверное имеется в виду что тестирование идёт на одной валютной паре а ордера пытаеться открывать по другой, как мультавалютник...
 

FAQ

Тестер вполне корректно обрабатывает эту ситуацию, ищите ошибку в написании символа

Figar0

Тестер не может открывать сделки по инструменту отличного выбраного

Вот как это понимать, кто же здесь прав?

Ошибки в описании символа быть не может. Советник запускаю на паре EURUSD и если в настройках ввожу EURUSD, то все нормально работает, а если ввожу GBPUSD, то уже не открывает.

 
sss2019:

Вот как это понимать, кто же здесь прав?

Ошибки в описании символа быть не может. Советник запускаю на паре EURUSD и если в настройках ввожу EURUSD, то все нормально работает, а если ввожу GBPUSD, то уже не открывает.


Протворечия нет) . Ваша проблема - либо в коде, либо в том что и куда "вводите", возможно в отсутствии инструмента в MarketWatch.Будет код - будет точный ответ.
 

Еще раз всем привет)

Подскажите, функцию int ArrayInitialize(void array[], double value), которая устанавливает все элементы числового массива в одну величину, можно использовать для обнуления двухмерного массива array[][]???

Если нет, то как это лучше сделать?

 
По моему, может. Это легко проверить.
 
FAQ:


Не знаю какая у вас комп система, но пауза в тестере делается легко, надо только зациклить советник.

подключайте user32.dll и в самом начале старта вписывайте такую строку :

теперь при нажатии на кнопку шифт ваш сов будет висеть пока не отпустите, и соответственно тормозить тестер.

можно сделать работу через статический флаг:

Теперь при нажатии на контрол эксп будет тормозиться, а при нажатии на альт - запускаться снова

И не забудьте прикрепить импорт в начале


Понятно. Благодарю Вас. У меня ХР, при включении - две подсистемы на выбор загружаемые - моя и еще одна. Из под моей - кл. пауза в тестере стратегий работает, из под другой загружаемой системы - нет... Странно, как такое вообще может быть. Тестируемый сов и клиентский терминал один и тот же.
 
NickXXX:

Еще раз всем привет)

Подскажите, функцию int ArrayInitialize(void array[], double value), которая устанавливает все элементы числового массива в одну величину, можно использовать для обнуления двухмерного массива array[][]???

Если нет, то как это лучше сделать?

Вот ведь вопросик... Я в своих функциях не задумываясь инициализировал трёхмерный массив и всё работало. А как задумался... Без излишних премудростей проверил:

//+------------------------------------------------------------------+
//|                                                        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);
  }
//+------------------------------------------------------------------+


Алерт выводит снизу вверх. Так что всё работает....

Причина обращения: