Ошибки, баги, вопросы - страница 1840

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2017.04.01 10:20

Когда-то типу string был добавлен оператор []
string Str = "ABC";
Print(CharToString(Str[1])); // B


Возможно ли со стороны разработчиков добавить оператор = для массивов?

int a[], b[];
a = b; // ArrayCopy(a, b);


Поскольку указателей нет, то подобный оператор сделал бы язык более гибким - нашлись ситуации, когда это было бы ОЧЕНЬ удобно.

То же самое и для сложных структур
MqlTradeRequest a, b;
a = b;
 
fxsaber:
То же самое и для сложных структур
Можно написать функцию Copy(a, b), выглядит и работает конечно не так красиво, но как вариант...
 
Комбинатор:
Можно написать функцию Copy(a, b), выглядит и работает конечно не так красиво, но как вариант...
Универсальной (через template) такая функция не будет.
 
fxsaber:
Универсальной (через template) такая функция не будет.
Можно сделать перегрузку для каждой структуры. В итоге места займет много конечно, не шаблон, но использовать универсально можно будет без проблем
 
Комбинатор:
Можно сделать перегрузку для каждой структуры. В итоге места займет много конечно, не шаблон, но использовать универсально можно будет без проблем

Но Вы же сами понимаете, что не об этом шла речь. Универсальность - это когда не только для штатных сложных структур работает, но и для кастомных сложных.

ЗЫ На данный момент невозможно написать такую функцию

MqlTradeRequest Func();

Наверное, это не очень хорошее ограничение языка.

 
Возможно ли компенсировать отсутствие указателей на массив вводом возможности возврата массива функцией?
int[] Func()
{
  int a[] = {1, 2, 3};

  return(a);
}

Print(Func()[1]); // 2
 

Не знаю в правильную ли тему пишу.

Глюк с профилями в МТ5 и МТ4

При сохранении профилей, например по каждой паре отдельно по 6 графиков, при открытии нужного профиля часто открывается не тот который нужен. А тот который нужен вообще не открыть.

Думал проблема в терминале брокера в МТ4 (изначально пытался настроить профили там), скачал оригинальный МТ5 от Metaquotes та же сама я проблема.


Где копать?

 
Oleg:

Не знаю в правильную ли тему пишу.

Глюк с профилями в МТ5 и МТ4

При сохранении профилей, например по каждой паре отдельно по 6 графиков, при открытии нужного профиля часто открывается не тот который нужен. А тот который нужен вообще не открыть.

Думал проблема в терминале брокера в МТ4 (изначально пытался настроить профили там), скачал оригинальный МТ5 от Metaquotes та же сама я проблема.

Где копать?


Для начала начните с последовательного и точного описания. МТ5 - билд, где каталог данных (после перезагрузки взять верхнии три строчки из вкладки "Журнал"):

  1. открыто столько-то графиков (скриншот). Сохранили в шаблон. Шаблон приложили. 
  2. открыли другие графики  (скриншот). Сохранили в новый шаблон. Шаблон приложили. 
  3. повторить пп. 1, 2.
  4. применили шаблон №1 - что получилось.
  5. применили шаблон №2 - что получилось.
Примерно так.
 
Oleg:

Не знаю в правильную ли тему пишу.

Глюк с профилями в МТ5 и МТ4

При сохранении профилей, например по каждой паре отдельно по 6 графиков, при открытии нужного профиля часто открывается не тот который нужен. А тот который нужен вообще не открыть.

Думал проблема в терминале брокера в МТ4 (изначально пытался настроить профили там), скачал оригинальный МТ5 от Metaquotes та же сама я проблема.


Примерно понял в чем проблема. При создании нового поля и и сохранении как с другим именем, профиль просто перезаписывается. Хотя должен сохранятся под другим именем.


Где копать?

Так было всегда. Любое изменение профиля влечёт изменения в открытый профиль, потом если сохранить его под другим именем будет сохранено два одинаковых профиля. Для решения этой проблемы просто надо соблюсти последовательность действий

1. Сохранить текущий профиль.

2. Настроить новый профиль и сохранить его под другим именем.

Таким образом будет сохранено два разных профиля...

 
Vladimir Karputov:


Для начала начните с последовательного и точного описания. МТ5 - билд, где каталог данных (после перезагрузки взять верхнии три строчки из вкладки "Журнал"):

  1. открыто столько-то графиков (скриншот). Сохранили в шаблон. Шаблон приложили. 
  2. открыли другие графики  (скриншот). Сохранили в новый шаблон. Шаблон приложили. 
  3. повторить пп. 1, 2.
  4. применили шаблон №1 - что получилось.
  5. применили шаблон №2 - что получилось.
Примерно так.

Спасибо за скорый ответ! Кажется разобрался.  Последний сохраненный шаблон сохраняется не только под своим именем, но автоматически становится как default.

Чтобы правильно все сохранить, открываю default, накидываю нужные графики сохраняю под своим именем.

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