[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 173

 
TarasBY:

Это условие как-то меняется в цикле:

...если "нет" - то зачем его всовывать внутрь цикла? 


Ну суть такая:

Во внешних параметрах если UseFiltrMa = TRUE, то нужно условие А > B учитывать, а если UseFiltrMa = False то условие не учитыается.  В других места по коду данное условие (А > B) не фигурирует. Внутрь цикла всунул я так как и предыдущий фильтр тоже в цикле. Ведь массив машек у нас имеется. Через цикл мы выбирает порядковый номер машки (её индекс).

 А > B, согласно  кода у меня вот как выглядит:

MA(g_maHigherTF[0]) > MA(g_maHigherTF[1])

 Видите, тут всё становится на свои места, и видно, причина цикла.

 
hoz:


Ну суть такая:

Во внешних параметрах если UseFiltrMa = TRUE, то нужно условие А > B учитывать, а если UseFiltrMa = False то условие не учитыается.  В других места по коду данное условие (А > B) не фигурирует. Внутрь цикла всунул я так как и предыдущий фильтр тоже в цикле. Ведь массив машек у нас имеется. Через цикл мы выбирает порядковый номер машки (её индекс).

 А > B, согласно  кода у меня вот как выглядит:

 Видите, тут всё становится на свои места, и видно, причина цикла.

Я так и не увидел условий цикла, которые изменяют условие: if (A > B).

Решений ВСЕГДА может быть множество, а Вам нужно так, как Вам придумалось...

 
TarasBY:

Я так и не увидел условий цикла, которые изменяют условие: if (A > B).

Решений ВСЕГДА может быть множество, а Вам нужно так, как Вам придумалось...


 Да сдался Вам этот цикл... Не обращайте на него внимания. Просто нужно вставить условие как я писал выше:

 

hoz:

Во внешних параметрах если UseFiltrMa = TRUE, то нужно условие А > B учитывать, а если UseFiltrMa = False то условие не учитыается. 

 Если UseFiltrMa = False, то условие А > B пропускаем! И всё. Больше ничего не нужно! На циклы не обращайте внимания,... это длинная история, что откуда идёт. Блок только один. И я описал задачу.
 
hoz:


Ну суть такая:

Во внешних параметрах если UseFiltrMa = TRUE, то нужно условие А > B учитывать, а если UseFiltrMa = False то условие не учитыается.  В других места по коду данное условие (А > B) не фигурирует. Внутрь цикла всунул я так как и предыдущий фильтр тоже в цикле. Ведь массив машек у нас имеется. Через цикл мы выбирает порядковый номер машки (её индекс).

 А > B, согласно  кода у меня вот как выглядит:

 Видите, тут всё становится на свои места, и видно, причина цикла.

if(UseFiltrMa == TRUE&& А > B )

  {

     //  

   }

else

  {
   //

  } 
 

pako:

if(UseFiltrMa == TRUE&& А > B )

  {

     //  

   }

else

  {
   //
  }

    


Так я понимаю, что можно. А кратче никак не выйдет? В одной строке реализовать... Если нет, то придётся растягивать код.

 Например, перед функцией перевода в безубыток ордеров я частяком делаю вставку типа:

if (UseBU)
{
  // Код функции перевода в БУ
}

 Но в таком случает, при переменной UseBU в значении False, дальше функцию не нужно исполнять. Потому там это проще и кратко выходить. А здесь иначе. Дальнейшие условия по коду обязательны. Поэтому и думаю...

 
hoz:


Так я понимаю, что можно. А кратче никак не выйдет? В одной строке реализовать... Если нет, то придётся растягивать код.

 Например, перед функцией перевода в безубыток ордеров я частяком делаю вставку типа:

 Но в таком случает, при переменной UseBU в значении False, дальше функцию не нужно исполнять. Потому там это проще и кратко выходить. А здесь иначе. Дальнейшие условия по коду обязательны. Поэтому и думаю...

Короче так:

if((UseFiltrMa == TRUE && А > B) || UseFiltrMa == FALSE)
{
  if(..........................
 
borilunad:
Кто знает, можно ли с глобальными переменными Hour(), Minute(), Seconds() контролировать в полночь (0.00) смену в индикаторе DailyPivotPoints на новые уровни РР и др. линии из советника? Я раньше сделал прямо в индикаторе с Hour(), Minute(), Seconds(), и работало без необходимости каждую ночь компилировать. А недавно перестало, может, от смены бильда? Спасибо!

 Борис, попробуйте спросить данный вопрос в ветке для профи.
 
hoz:

 Борис, попробуйте спросить данный вопрос в ветке для профи.

Спасибо, Виктор! А Вам пришёлся мой короткий вариант для Вас?

if((UseFiltrMa == TRUE && А > B) || UseFiltrMa == FALSE)
{
  if(..........................
 
granit77:
Попробуйте убрать в настройках галочку "Отключить советник при смене профиля", авось поможет.

Спасибо. - Попробую. К сож-ю поздно ответ заметил - рынки на выходные отключились. А через init() что так, что эдак - настройки не сбрасываются. Хотя, по идее, должны бы.

Не совсем понятно - почему МТ вообще сбрасывает настройки. Какая разница какой тайм-фрейм; если в настройках я выставил параметры, они должны (по идее) сохраняться в любом ТФ.

 
Доброго дня всем. Не подскажите ли способы копирования сделок на Метатрейдере 4. Чтобы открывая сделку на одном терминале можно было бы получить открытую сделку на другом.