Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 931

 
Seric29:

 Бывают ли такие сбои?

не знаю, у меня ни разу не было, максимум если терминал зависнет при компиляции эксперта - если ошибка в коде, такое было

тут в общем от понимания как все это "крутится" зависит:

1. МТ4 32-х разрядный, ему ОС больше 3 Гб не может выделить памяти, если стоит настройка кол-во баров на графике запредельная, то можно со временем сожрать всю память, для торговли экспертом достаточно небольшое кол-во баров, я ставлю всего 1000 баров (можно и меньше)

2. для АТС нужно установить отдельный терминал и не тыкать туда!

3. не нужно делать разукрашку из графиков, эксперту глубоко пофиг,  а ресурсы жрет, разукрашку(графические обьекты, пользовательские индикаторы) на втором терминале можно сделать и тыкать там если руки чешутся

имхо, в общем работает принцип разумного минимализма и "работает не трожь!" 

 
Igor Makanu:

не знаю, у меня ни разу не было, максимум если терминал зависнет при компиляции эксперта - если ошибка в коде, такое было

тут в общем от понимания как все это "крутится" зависит:

1. МТ4 32-х разрядный, ему ОС больше 3 Гб не может выделить памяти, если стоит настройка кол-во баров на графике запредельная, то можно со временем сожрать всю память, для торговли экспертом достаточно небольшое кол-во баров, я ставлю всего 1000 баров (можно и меньше)

2. для АТС нужно установить отдельный терминал и не тыкать туда!

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

имхо, в общем работает принцип разумного минимализма и "работает не трожь!" 

У меня тоже не было, правда я не торгую роботом, но часто висит компилирую часто смотрю как реагирует на момент когда поступают тики на 5ти минутке чтобы помучился робот, бывало терминал зависал заклинивал мёртво но в этом случае нужно чтобы робот сам работал корректно и виснуть как вы написали не будет. Также функция Deinit возвращает ошибки например параметры поменял она сработала, робота удалил она сработала, терминал закрыл она опять сработала. А так по сути если сам робот улетит по вине ПО то тут ни сделаешь ничего разве что писать программу которая будет следить за тем работает робот на графике или нет ну опять же нужно будет и ту программу проверять вопрос конечно интересный и единственное что можно сделать это как вы написали грамотно использовать и программировать код.

 
Seric29:

 это как вы написали грамотно использовать и программировать код.

беда обычно с вызываемыми индикаторами из эксперта, по форумам прогуляться такие чудо-индикаторы попадаются, что протестировать эксперта даже не реально, обычно такие индикаторы или используют графические обьекты (терминал начнет тормозить если около тысячи обьектов на чарте) или пересчитывают всю историю на каждом тике - будет терминал подклинивать, а так если все корректно написано, то по моему не возможно заставить зависнуть терминал.... вот с обрывами связи может быть тяжело, терминал начнет историю синхронизировать и все используемые индикаторы будут пересчет делать всей истории, но пять же если стоит 1000 баров то ничего не будет, МТ4 очень производительный терминал, я пару раз тестировал , от МТ5 он в 4-5 раз медленее расчеты производит, а МТ5 по производительности около С++

т.е. разработчики сделали довольно качественный терминал и дело зачастую не в МТ, а в в том кто им пользуется )))

 
Seric29:

У меня тоже не было, правда я не торгую роботом, но часто висит компилирую часто смотрю как реагирует на момент когда поступают тики на 5ти минутке чтобы помучился робот, бывало терминал зависал заклинивал мёртво но в этом случае нужно чтобы робот сам работал корректно и виснуть как вы написали не будет. Также функция Deinit возвращает ошибки например параметры поменял она сработала, робота удалил она сработала, терминал закрыл она опять сработала. А так по сути если сам робот улетит по вине ПО то тут ни сделаешь ничего разве что писать программу которая будет следить за тем работает робот на графике или нет ну опять же нужно будет и ту программу проверять вопрос конечно интересный и единственное что можно сделать это как вы написали грамотно использовать и программировать код.

Жесть. Убить нельзя помиловать...

 
Seric29:

А что у вас такие сбои были что настройки сбивались, а было ли такое что сам робот улетал с графика по причине сбоя терминала?

да все было и всякое было. Просто когда баблецо заряжено - надо оперативно реагировать... загрузив профиль со всеми, но не последовательно подгружая сеты после роботов по ТС-ам.   да так похоже - работает, когда профиль загружаешь, он загружается со всеми настройками роботов. Пока не проверял.

Когда одноименного робота установленного на графике - заново компилируете - значения его входных параметров не вылетают в установленные в коде (МЕ) - знаю, что баян  - просто для  инф-ии.

Хотя, когда правки вносятся во внешние параметры - там, похоже, слетают настройки установленные в терминале после компиляции кода в МЕ.

 
Seric29:

Человек задал довольно интересный вопрос при сбое слетели все настройки и как настроить всё назад, да по сути никак это сделать нельзя. Интересно каким образом можно имитировать сбой, который приведёт к таким последствиям и какие это будут последствия, какие настройки могут сбиться. Бывают ли такие сбои?

не знаю как сейчас - раньше бывали... имитировать не буду... :-)

Все всегда сохраняю в профиле.

Шаблоны тоже есть - но это долго и муторно...

 
Igor Makanu:

не знаю, у меня ни разу не было, максимум если терминал зависнет при компиляции эксперта - если ошибка в коде, такое было

тут в общем от понимания как все это "крутится" зависит:

1. МТ4 32-х разрядный, ему ОС больше 3 Гб не может выделить памяти, если стоит настройка кол-во баров на графике запредельная, то можно со временем сожрать всю память, для торговли экспертом достаточно небольшое кол-во баров, я ставлю всего 1000 баров (можно и меньше)

2. для АТС нужно установить отдельный терминал и не тыкать туда!

3. не нужно делать разукрашку из графиков, эксперту глубоко пофиг,  а ресурсы жрет, разукрашку(графические обьекты, пользовательские индикаторы) на втором терминале можно сделать и тыкать там если руки чешутся

имхо, в общем работает принцип разумного минимализма и "работает не трожь!" 

да... так до кайфа - далеко... :-)

Надо все на экране боевого терминала - размещать - для оперативного отслеживания инф-ии и принятия решений.Иначе зачем это все надо - это  ж МТ 4 и МТ 5!!! Покорители всех терминалов :-) Тут полумеры - неуместны, особенно, когда все на реале и очень жестко.

1,2,3 - вообще  бред... :-)

 
Roman Shiredchenko:

1,2,3 - вообще  бред... :-)

не бред, я знаю, что просят пользователи, обязательно прибыль за сегодня, за вчера, за неделю выведи на экран, а еще виртуальную линию тейкпрфита нарисуй, а еще если я запускаю на чарте где советник шаблон с такими же индикаторами то все у меня тормозит!

пройдено, я представляю как можно ушатать терминал, делая то, что ему для торговли и нафиг не нужно

;)

 

Добрый день всем!

Ребята, подскажите, только не отсылайте к справочнику, там не понятно описано и без примеров, иногда встречаю такую запись: 

void NameFunction(void);     или     double NameFunction(double);  без переменных

как это работает? Какие параметры и откуда передаются?

 

Какие особенности использования Symbol() и _Symbol ?  Когда лучше использовать тот или иной Symbol ?

Будет ли правильно работать следующий код для проверки наличия ордеров по текущему инструменту:

      int ordersTotal=OrdersTotal();
      bool isOrdersExist=false;
      for (int i=0; i<ordersTotal; i++){
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){
            if(OrderSymbol()==Symbol()){
               isOrdersExist=true;
               break;
            }
         }
      }
Причина обращения: