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

 
Leo59:
Как правильно через iCustom(), прикрепить один индикатор к другому?
У меня есть один индикатор в котором все 8 индикаторных массива заняты. Как правильно создать второй, чтобы в нём, в 1 индикаторном массиве, рисовалась кривая из первого индикатора?
Оба индикатора #property indicator_chart_window.
Самое наглядное объяснение, это аналог в виде кода двух связанных индикаторов.
Заранее, СПАСИБО!!!


А не проще просто два индикатора повесить на график?
 
Как правильно через iCustom(), прикрепить один индикатор к другому?
У меня есть один индикатор в котором все 8 индикаторных массива заняты. Как правильно создать второй, чтобы в нём, в 1 индикаторном массиве, рисовалась кривая из первого индикатора?
Оба индикатора #property indicator_chart_window.
Самое наглядное объяснение, это аналог в виде кода двух связанных индикаторов.
Заранее, СПАСИБО!!!
 
Leo59:
Как правильно через iCustom(), прикрепить один индикатор к другому?
У меня есть один индикатор в котором все 8 индикаторных массива заняты. Как правильно создать второй, чтобы в нём, в 1 индикаторном массиве, рисовалась кривая из первого индикатора?
Оба индикатора #property indicator_chart_window.
Самое наглядное объяснение, это аналог в виде кода двух связанных индикаторов.
Заранее, СПАСИБО!!!

Может вам нужно, чтобы за вас всё написали?

Считывайте во втором индюкаторе буфер первого по iCustom(). Второй индюк вешайте на график - он будет вам нужную линию рисовать.

Ежли так непонятно, начинайте писать код и выкладывайте сюда неясные вам моменты - объяснят-помогут-подскажут.

 
artmedia70:
Если (4<5) истинно, то выполняется следующая строка: if(5<6), но ... ежели (4<5) ложно, то следующий if () вместе с его принтом не обрабатываются, а переходим на закрывающую скобку от if (2<3).


мне все таки кажется что вы неправы. любая группа IF выполняется последовательно если они не разделены скобками {}.

например такая

int start

{

if (...)  print (1)

if (...)   print (2)

if (...)   print (3)

}

return; 

=======================================================

принты будут работать ЕСЛИ условия выполняются. Но ведь если условие 1 не выполнится, то второму на это наплевать. Оно работает само посебе, без подчинения. 

так вот, я думаю, что НИЧЕГО не меняется если эта группа IF находится внутри каких-то других подусловий, главное что между этими тремя НЕТ скобок, и они выполняются последовательно независимо друг от друга. и лишь их операторы (после if  ) будут зависеть от значения самого if (на примере принтов) 

поэтому ваш код  3<4<5<6  -независимы друг от друга, и сработают В ЛЮБОМ случае если  2<3

//+----------------------------------------------------------------------------+
if (1<2) {                                // Если один меньше два и ...
   if(2<3) {                              // ... два меньше три, ...
      if (3<4) PlaySound("alert.wav");    // Если три меньше четыре - врежем рок в этой дыре ... (С), 
                                          // Далее пойдём проверять остальные условия:
      if (4<5)                            // Если четыре меньше пять и ...
      if (5<6) Print("Истина");           // ... пять меньше шесть - верно, блин...
      }
   }
//+----------------------------------------------------------------------------+
 
lottamer:


мне все таки кажется что вы неправы. любая группа IF выполняется последовательно если они не разделены скобками {}.

например такая

int start

{

if (...)  print (1)

if (...)   print (2)

if (...)   print (3)

}

return; 

=======================================================

принты будут работать ЕСЛИ условия выполняются. Но ведь если условие 1 не выполнится, то второму на это наплевать. Оно работает само посебе, без подчинения. 

так вот, я думаю, что НИЧЕГО не меняется если эта группа IF находится внутри каких-то других подусловий, главное что между этими тремя НЕТ скобок, и они выполняются последовательно независимо друг от друга. и лишь их операторы (после if  ) будут зависеть от значения самого if (на примере принтов) 

А вы напишите скрипт по моему коду и меняйте в ифах знаки больше на меньше - посмотрите сами :)

Спорить не считаю нужным.

 

Сравните эти две конструкции, в чём разница?

Так:

//+----------------------------------------------------------------------------+
if (1<2) {                                // Если один меньше два и ...
   if(2<3) {                              // ... два меньше три, ...
      if (3<4) PlaySound("alert.wav");    // Если три меньше четыре - врежем рок в этой дыре ... (С), 
                                          // Далее пойдём проверять остальные условия:
      if (4<5)                            // Если четыре меньше пять и ...
      if (5<6) Print("Истина");           // ... пять меньше шесть - верно, блин...
      }
   }
//+----------------------------------------------------------------------------+

и вот так:

//+----------------------------------------------------------------------------+
   if (1<2)                               // Если один меньше два и ...
   if(2<3) {                              // ... два меньше три, ...
      if (3<4) PlaySound("alert.wav");    // Если три меньше четыре - врежем рок в этой дыре ... (С), 
                                          // Далее пойдём проверять остальные условия:
      if (4<5)                            // Если четыре меньше пять и ...
      if (5<6) Print("Истина");           // ... пять меньше шесть - верно, блин...
      }
//+----------------------------------------------------------------------------+

И обоснуйте ваши выводы.

 

Дам наводку:

Что для условия if(4<5) является оператором?

 
pu6ka:

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

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

Почитайте как использовать MagicNumber в ордерах и тогда использование total < 1 будет давать возможность открывать советником ордер и по каждой валютной паре и по одной валютной паре, но открытой в разных окнах. Образец можно здесь посмотреть.

 

 


Спасибо большое, сделал по вашему совету (раскидал по времени ) , оччень помогло, всё работает как надо !!!
 

Добрый день,

 

Допустимо ли использовать сложные составные условия, например :

 

if(условие1 || (условие2 && условие3)) {...};

           

                             ?

Спасибо.

 

 
artmedia70:

Дам наводку:

Что для условия if(4<5) является оператором?


а вот это хороший вопрос! :)))

если компилятор не выдаст ошибку в этом месте - значит вы правы :)) 

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