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

 
Roman Shiredchenko:

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

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

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

Когда вы вносите правки во внешние параметры вызывается функция Deinit()  в ней можно произвести настройки чтобы она не пересчитывала всё заново но тогда придётся заново инициализировать переменные для этого можно написать функцию и сунуть в Deinit() произойдёт переинициализация ваших расчётов новыми входными параметрами. А что касается имитации сбоя то мне тоже стало интересно как выглядит этот сбой, и для того чтобы настроить робота на сбой нужно знать природу сбоя и тогда уже думать как с этим бороться. Значит вы говорите что раньше такое было что робот мог вылететь или снести настройки из-за работы мт4, я то не знаю поэтому интересуюсь.

 
Кто знает можно ли в макрос сунуть цикл, желательно 3 вложенных друг в друга, и будет ли эта штука крутиться, просто макрос записывается через косую черту а цикл через фигурные скобки и я не знаю как будет выглядит такая запись, если кто-то знает можете показать как примером?
 
Seric29:
Кто знает можно ли в макрос сунуть цикл, желательно 3 вложенных друг в друга, и будет ли эта штука крутиться, просто макрос записывается через косую черту а цикл через фигурные скобки и я не знаю как будет выглядит такая запись, если кто-то знает можете показать как примером?
#property strict

#define FOR3(a,b,c,loop) for(int i=0; i<a; i++) \
for(int j=0; j<b; j++) \
for(int k=0; k<c; k++) \
{loop;} 

void OnStart()
  {
   int x=0;
   FOR3(2,3,4,Print(x++));
  }
//+------------------------------------------------------------------
 
Igor Makanu:

Классно спасибо

 
Как подключить Websocket к MT5 с помощью Mql5?
 
Igor Makanu:

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

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

;)

да это понятно.

Чудиков с их чудесами хватает, то радует! С другой стороны и Вам есть над чем и с чем работать...   :-)

 
Seric29:

Когда вы вносите правки во внешние параметры вызывается функция Deinit()  в ней можно произвести настройки чтобы она не пересчитывала всё заново но тогда придётся заново инициализировать переменные для этого можно написать функцию и сунуть в Deinit() произойдёт переинициализация ваших расчётов новыми входными параметрами. А что касается имитации сбоя то мне тоже стало интересно как выглядит этот сбой, и для того чтобы настроить робота на сбой нужно знать природу сбоя и тогда уже думать как с этим бороться. Значит вы говорите что раньше такое было что робот мог вылететь или снести настройки из-за работы мт4, я то не знаю поэтому интересуюсь.

да это все костыли... не интересуют. сбои имитировать не надо - сами могут быть... тем более же 4-ка не поддерживается... :-)

оперативно вмешиваться и реагировать на восстановление торговли надо - вот и все.

 
Roman Shiredchenko:

да это понятно.

Чудиков с их чудесами хватает, то радует! С другой стороны и Вам есть над чем и с чем работать...   :-)

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

по моему это самое просто решение, вопрос у Вас, в принципе может быть и актуальный, попробуйте топик открыть может народ подтянется и решите эту задачу как Вам удобнее будет

 
Igor Makanu:

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

по моему это самое просто решение, вопрос у Вас, в принципе может быть и актуальный, попробуйте топик открыть может народ подтянется и решите эту задачу как Вам удобнее будет

спс.

:-) Да тут проще все.

Просто если все "вылетело", я не знаю у кого как - у меня терминал может и не часто падал, но просто если сбои будут, чтобы открытые ордера руками не рулить, не рулить скриптами - а-ля закрывающими все или по конкретному магику, не подключать там какие-нибудь ранее сохраненные шаблоны, тем более сеты с сохраненными ранее рабочими параметрами  экспов экстренно не загружать в роботов... щас.

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

При выключении в штатном режиме компа, при закрытии терминала, последующей перезагрузке компа - запуске этого терминала - ПОЗИЦИИ в рынке есть, а экспов торгующих (ранее смайлик справа вверху был (до перезапуска)) - нет в части их отображения смайликом улыбающимся справа вверху...

Действия? Элементарно загружаете ПРОФИЛЬ ранее сохраненный - и все. Каждый робот торгует - все. Вопрос решен.

Работает ли так? Проверю - напишу.

 
Как установить временной фильтр (по часам) для торговли советника? Подойдет ли следующий вариант:

if(TimeHour(TimeCurrent())<23 & TimeHour(TimeCurrent())>1){
        //торгуем
}
Причина обращения: