Yedelkin: Проблема, скорее всего, в другом. У меня точно такое же объявление массива в OnInit() прекрасно работало и работает. У Вас в названии массива ArrSybols пропущена латинская буква m. Может быть, в этом проблема программиста?
Может и пропущена, но разве от этого зависит что-то?
А если я на родном напишу (что не запрещено, как я понимаю) весь терминал должен упасть?
Код работает именно без такого объявления массива, даже если просто размерность указать все работает.
//Вот так работаетstring ArrSybols[10];
Изначально объявление массива было таким
//List of symbols for trade on the Championship 2010string ArrSymbolsChampionship2010[10] = {"EURUSD","GBPUSD","USDJPY","USDCHF","USDCAD",
"AUDUSD","EURJPY","EURCHF","GBPJPY","GBPCHF"};
Удалось прицепить к OBJ_CHART индикатор в отдельном окне, но при изменении размера окна индикатора получается не совсем красиво, т.к. если высота OBJ_CHART 500, то высоту окна индикатора удалось установить максимум 493. В результате остается не красивая верхушка. Как от нее избавиться?
Код:
if(ObjectFind(0,"MW_chart")!=0)
{
ObjectCreate(0,"MW_chart",OBJ_CHART,0,time[0],close[0]);
ObjectSetString(0,"MW_chart",OBJPROP_SYMBOL,_Symbol);
ObjectSetInteger(0,"MW_chart",OBJPROP_PERIOD,_Period);
ObjectSetInteger(0,"MW_chart",OBJPROP_CORNER,CORNER_LEFT_UPPER);
ObjectSetInteger(0,"MW_chart",OBJPROP_XSIZE,1000);
ObjectSetInteger(0,"MW_chart",OBJPROP_DATE_SCALE,false);
ObjectSetInteger(0,"MW_chart",OBJPROP_PRICE_SCALE,false);
ObjectSetInteger(0,"MW_chart",OBJPROP_SELECTABLE,1);
ObjectSetInteger(0,"MW_chart",OBJPROP_CHART_SCALE,2);
ObjectSetInteger(0,"MW_chart",OBJPROP_YSIZE,500);
}
int h=iCCI(Symbol(),Period(),14,PRICE_TYPICAL);
long id=ObjectGetInteger(0,"MW_chart",OBJPROP_CHART_ID);
ChartIndicatorAdd(id,1,h);
ChartSetInteger(id,CHART_HEIGHT_IN_PIXELS,1,493);
Может и пропущена, но разве от этого зависит что-то?
Конечно, зависит. Не мне Вам объяснять :) Если массив объявлен с одним именем, а обращение к элементам этого массива идёт с другим именем масссива, то ... :)
Если же всё работает без первоначальной ручной инициализации массива, то нужно смотреть код, как Вы сами понимаете. Ведь отсутствие явной инициализации string-массива не мешает клиентскому терминалу самостоятельно проинициализировать этот массив.
Повторяюсь: у меня такая строчка отрабатывала и отрабатывает своё "по полной".
Конечно, зависит. Не мне Вам объяснять :) Если массив объявлен с одним именем, а обращение к элементам этого массива идёт с другим именем масссива, то ... :)
Если же всё работает без первоначальной ручной инициализации массива, то нужно смотреть код, как Вы сами понимаете. Ведь отсутствие явной инициализации string-массива не мешает клиентскому терминалу самостоятельно проинициализировать этот массив.
Повторяюсь: у меня такая строчка отрабатывала и отрабатывает своё "по полной".
Нет нет там проблема не в имени а в том что массив заполняется перечислением при объявлении.
Это работает со всеми типами нормально, кроме стригнов. Со стрингами действительно сносит любую программу (експерт или скрипт не важно).
С трафиком проблема решена, но дело в том, что серверные компоненты мы еще не выпустили в liveupdate. Пока вышли обновления клиентских терминалов, а серверы будут в следующем апдейте. Они еще не прошли тесты.
Renat: С трафиком проблема решена, но дело в том, что серверные компоненты мы еще не выпустили в liveupdate. Пока вышли обновления клиентских терминалов, а серверы будут в следующем апдейте. Они еще не прошли тесты.
Понятно. Спасибо за ответ. Со своей стороны также буду держать вас в курсе.
Последний билд (430) при тестировании с Форвард-периодом и Custom Max - виснет (похоже, в момент перехода на форвард тестирование). Сначала грешил на свой советник, потом проверил следующий код:
Поставил параметры на оптимизацию от 1 до 1000, все тики, USDCAD, M4 c 01.01.2011 по сегодня (с форвард-периодом - любым). Повис. Отключил удалённых агентов - запустил заново - терминал также повис. Убрал форвард период - работает. Виноват ли Custom Max - уже не проверял. До этого билда - всё работало.
Проблема, скорее всего, в другом. У меня точно такое же объявление массива в OnInit() прекрасно работало и работает. У Вас в названии массива ArrSybols пропущена латинская буква m. Может быть, в этом проблема программиста?
Может и пропущена, но разве от этого зависит что-то?
А если я на родном напишу (что не запрещено, как я понимаю) весь терминал должен упасть?
Код работает именно без такого объявления массива, даже если просто размерность указать все работает.
Изначально объявление массива было таким
Вопрос все еще в силе.
Удалось прицепить к OBJ_CHART индикатор в отдельном окне, но при изменении размера окна индикатора получается не совсем красиво, т.к. если высота OBJ_CHART 500, то высоту окна индикатора удалось установить максимум 493. В результате остается не красивая верхушка. Как от нее избавиться?
Код:
Может и пропущена, но разве от этого зависит что-то?
Конечно, зависит. Не мне Вам объяснять :) Если массив объявлен с одним именем, а обращение к элементам этого массива идёт с другим именем масссива, то ... :)
Если же всё работает без первоначальной ручной инициализации массива, то нужно смотреть код, как Вы сами понимаете. Ведь отсутствие явной инициализации string-массива не мешает клиентскому терминалу самостоятельно проинициализировать этот массив.
Повторяюсь: у меня такая строчка отрабатывала и отрабатывает своё "по полной".
Конечно, зависит. Не мне Вам объяснять :) Если массив объявлен с одним именем, а обращение к элементам этого массива идёт с другим именем масссива, то ... :)
Если же всё работает без первоначальной ручной инициализации массива, то нужно смотреть код, как Вы сами понимаете. Ведь отсутствие явной инициализации string-массива не мешает клиентскому терминалу самостоятельно проинициализировать этот массив.
Повторяюсь: у меня такая строчка отрабатывала и отрабатывает своё "по полной".
Нет нет там проблема не в имени а в том что массив заполняется перечислением при объявлении.
Это работает со всеми типами нормально, кроме стригнов. Со стрингами действительно сносит любую программу (експерт или скрипт не важно).
Это явный баг пишите в сервисдеск.
Вот так работает:
но если раскоментиовать объявление стригн массива то не работает.
Проверьте в настройках максимальное количество баров в окне
Renat, опять дикий таффик, вы точно нашли ошибку?
С трафиком проблема решена, но дело в том, что серверные компоненты мы еще не выпустили в liveupdate. Пока вышли обновления клиентских терминалов, а серверы будут в следующем апдейте. Они еще не прошли тесты.
Последний билд (430) при тестировании с Форвард-периодом и Custom Max - виснет (похоже, в момент перехода на форвард тестирование). Сначала грешил на свой советник, потом проверил следующий код:
Поставил параметры на оптимизацию от 1 до 1000, все тики, USDCAD, M4 c 01.01.2011 по сегодня (с форвард-периодом - любым). Повис. Отключил удалённых агентов - запустил заново - терминал также повис. Убрал форвард период - работает. Виноват ли Custom Max - уже не проверял. До этого билда - всё работало.
Что означает эта запись?
2011.04.17 15:21:22 Tester tester agent got failed