К разработчикам - как организовано ограничение количества терминалов и счетов для одного компьютера?

 

Доброго времени суток!

Разрешите задать несколько вопросов:


1.Сколько копий терминала можно запустить одновременно на одном локальном компе (прошу не отсылать меня к статье про MT4TerminalSync т.к. я    спрашиваю о встроеннных возможностях торгового терминала без дополнительных наворотов) чтобы они не создавали помех друг другу.


2.Если я правильно понимаю - то для каждой копии терминала предусмотрен свой торговый поток. Таким образом если Советник тестируется ОДИН на    отдельной копии терминала - он никогда не столкнется с другим Советником (или Самим собой) на другой параллельно запущенной копии терминала.

   Так или нет?

3.Сколько Советников из разных копий терминала (или физически на разных компах например в локальной сетке) могут одновременно обращаться к одному и тому же торговому счету, если вообще могут вместе?   (т.е.например на одном терминале Советник работает с USDCAD H1, а на другом с EURUSD H1, но торговый счет у них один и тот же).

  Коротко - Терминалов несколько - Счет один - Работать можно?

4.Сколько Советников можно запустить одновременно на одном терминале, чтобы они не мешали друг другу и нормальной работе терминала (прошу не   ссылаться на ответ из учебника MT4 - 1 Советник на 1 графике - 1 торгового инструмента (т.е. полно и немерено Советников) - вопрос в том - сколько   графиков влезет на экран?  Или есть другие ограничения?)

  Коротко - Терминал один - Счет один - Совентников очень много - Работать можно?

5.Могут ли несколько Советников на одном терминале обращаться каждый к своему торговому счету одновременно. Если ДА - то сколько Советников из    одного терминала могут обращаться каждый к своему счету (если есть ограничения)?

   Коротко - Терминал один - Счетов несколько - Советников несколько - Работать можно?

6.И довесок . . . Корректно ли использовать DeInit Чтобы прекратить работу Советника по условию таким образом:


int start()
    {
    Print ("Советник работает");
    while (true) //Бесконечный цикл пока включены Советники или нет ошибок
          {
          if (IsExpertEnabled()==false)
             {
             Print("Советник остановлен пользователем!");
             break;
             }

          int error;

          error=StartFunction (); //Весь рабочий код Советника
          if (error>0)

             {

             Print ("Советник Выключен!"); deinit();

             }

          Sleep(10000); RefreshRates();

          }
     Print ("Советник Выключен!"); deinit();
     }

Заранее спасибо!


P.S.Чтоб у вас все было и вам за это ничего не было.

 
AlexTrader0618 >>:

Доброго времени суток!

Разрешите задать несколько вопросов:


6.И довесок . . . Корректно ли использовать DeInit Чтобы прекратить работу Советника по условию таким образом:


int start()
{
Print ("Советник работает");
while (true) //Бесконечный цикл пока включены Советники или нет ошибок
{
if (IsExpertEnabled()==false)
{
Print("Советник остановлен пользователем!");
break;
}

int error;

error=StartFunction (); //Весь рабочий код Советника
if (error>0)

{

Print ("Советник Выключен!"); deinit();

}

Sleep(10000); RefreshRates();

}
Print ("Советник Выключен!"); deinit();
}


Нет. См. Выполнение программ

 
AlexTrader0618 писал(а) >>

Доброго времени суток!

Разрешите задать несколько вопросов:

1.Сколько копий терминала можно запустить одновременно на одном локальном компе (прошу не отсылать меня к статье про MT4TerminalSync т.к. я спрашиваю о встроеннных возможностях торгового терминала без дополнительных наворотов) чтобы они не создавали помех друг другу.

2.Если я правильно понимаю - то для каждой копии терминала предусмотрен свой торговый поток. Таким образом если Советник тестируется ОДИН на отдельной копии терминала - он никогда не столкнется с другим Советником (или Самим собой) на другой параллельно запущенной копии терминала.

Так или нет?

3.Сколько Советников из разных копий терминала (или физически на разных компах например в локальной сетке) могут одновременно обращаться к одному и тому же торговому счету, если вообще могут вместе? (т.е.например на одном терминале Советник работает с USDCAD H1, а на другом с EURUSD H1, но торговый счет у них один и тот же).

Коротко - Терминалов несколько - Счет один - Работать можно?

4.Сколько Советников можно запустить одновременно на одном терминале, чтобы они не мешали друг другу и нормальной работе терминала (прошу не ссылаться на ответ из учебника MT4 - 1 Советник на 1 графике - 1 торгового инструмента (т.е. полно и немерено Советников) - вопрос в том - сколько графиков влезет на экран? Или есть другие ограничения?)

Коротко - Терминал один - Счет один - Совентников очень много - Работать можно?

5.Могут ли несколько Советников на одном терминале обращаться каждый к своему торговому счету одновременно. Если ДА - то сколько Советников из одного терминала могут обращаться каждый к своему счету (если есть ограничения)?

Коротко - Терминал один - Счетов несколько - Советников несколько - Работать можно?

1. Нам удавалось запустить 22 терминала на WinXP. Это не ограничение терминала, а ограничение операционной системы по количеству системных дескрипторов.

2. Правильно.

3. Терминалов несколько - счёт один. Работать можно.

4. Ограничение по графикам - не более 99 одновременно открытых графиков. Работать можно, если Вы будете правильно обрщаться к торговому потоку (читайте статью 'Ошибка 146 ("Торговый поток занят") и как с ней бороться')

5. Нет. Один терминал - один счёт.

 
stringo >>:

1. Нам удавалось запустить 22 терминала на WinXP. Это не ограничение терминала, а ограничение операционной системы по количеству системных дескрипторов.

2. Правильно.

3. Терминалов несколько - счёт один. Работать можно.

4. Ограничение по графикам - не более 99 одновременно открытых графиков. Работать можно, если Вы будете правильно обрщаться к торговому потоку (читайте статью 'Ошибка 146 ("Торговый поток занят") и как с ней бороться')

5. Нет. Один терминал - один счёт.

По 4-му пункту в связи с чем такое ограничение в 99 одновременно открытых графиков.

 

Удалось запустить 88 терминалов MT4 плюс другие программы. Новые терминалы не запускаются (при попытке запустить еще один терминал, в его лог-файле появляются записи о том, что терминал запущен и сразу же остановлен). Для того, чтобы запустить еще один терминал, необходимо закрыть уже работающий. Хотелось бы узнать причину таких ограничений (памяти хватает, процессор не сильно загружен; высказывалось предположение о том, что это ограничение операционной системы по количеству дескрипторов, но, если я не ошибаюсь, в Win32 дескрипторы имеют размер 32-разрядного слова (4 байта) - вроде должно хватать). Эти ограничения наблюдаются при запуске от имени одного пользователя, если зайти под другим пользователем (например, через Remote Desktop) - можно еще запускать терминалы и другие программы.

Проверялось на Intel Core2Duo 9300 2.5Ghz, RAM 8GB, Windows Server 2008 R2.

 
zdd:

Удалось запустить 88 терминалов MT4 плюс другие программы.

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

Вчера уперся в эту же проблему на вин8 про 44 терминала плюс куча других программ. Но  на 45  начинаются проблемы. 

 
все че то разгоняют
 
Andrei-1:

Вчера уперся в эту же проблему на вин8 про 44 терминала плюс куча других программ. Но  на 45  начинаются проблемы. 

Безобразие.

Проблемы на 45-ти - это большая недоработка разработчиков.

Скажите, а вот, если б, например, можно было бы запустить 1000 экземпляров терминала, на 1001-м "начинались проблемы", Вы бы тоже пожаловались на "проблемы"?

 
sever32:
все че то разгоняют

На Юсуфа глянь... Торгует на 28 счетах и терминалах, на каждом свой эксп... так что 44 - это не предел... :-)
 
Roman.:

На Юсуфа глянь... Торгует на 28 счетах и терминалах, на каждом свой эксп... так что 44 - это не предел... :-)

какие открывал недавно, везде слив и Юсуф извиняется перед подписчиками, наверное на другой половине счетов его все хвалят, восхищаются (18- той) и он такой кланяется, кланяется...)
Причина обращения: