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

 
Добрый вечер всем! Подскажите как правельно написать кусок кода, условие - если High[1]-Low[1]> High[2]-Low[2] то BUY. Я понимаю что это надо написать с использованием ф-ию NormalizeDouble(). но как правельно, пока ни получается. Заранее спасибо.
 
Подскажите, каким циклом можно перебрать все значения double (ценового)одномерного массива c размерностью Вars, чтобы обнулять его значения по условию, СПАСИБО!
 
isaev-av:
Добрый вечер всем! Подскажите как правельно написать кусок кода, условие - если High[1]-Low[1]> High[2]-Low[2] то BUY. Я понимаю что это надо написать с использованием ф-ию NormalizeDouble(). но как правельно, пока ни получается. Заранее спасибо.

NormalizeDouble в этом условии абсолютно не нужно.
 
Operr:
Подскажите, каким циклом можно перебрать все значения double (ценового)одномерного массива c размерностью Вars, чтобы обнулять его значения по условию, СПАСИБО!

а какие циклы вы знаете ?
 

о горизонтальных линиях


avatar
5
yllh2005 21.09.2011 21:47

Помогите, пожалуйста!

Как рисовать горизонтальные линии, которые означают самую низкую цену и самую высокую цену за день?

 
sergeev:

а какие циклы вы знаете ?
for и while, но спрошу по другому, в массиве есть значения ценовых уровней ExtUpFractalsBuffer[], нужно удалять только пробитые уровни
 
sergeev:

NormalizeDouble в этом условии абсолютно не нужно.

Тогда подскажите как правельно. Или хотябы ссылочку киньте на какой нить советник, чтоб на примере посмотреть.
 
isaev-av:

Тогда подскажите как правельно. Или хотябы ссылочку киньте на какой нить советник, чтоб на примере посмотреть.
Примеры фактически в любом советнике, в половине так точно. Как-то так, разумеется неопределенные переменные требуется объявить, проиницилизировать и обработка ошибки открытия по вкусу.
int ticket;
if (High[1]-Low[1]> High[2]-Low[2])
{
   ticket=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),3,NormalizeDouble(Ask-StopLoss*Point,Digits),NormalizeDouble(Ask+TakeProfit*Point,Digits),OrderComment,Magic,0,Green);
   if(ticket<0)
   {
      Print("OrderSend failed with error #",GetLastError());
      return(0);
   } 
}

 
Operr:
for и while, но спрошу по другому, в массиве есть значения ценовых уровней ExtUpFractalsBuffer[], нужно удалять только пробитые уровни


Понятней не стало. Как я понял, но возможны варианты (особенно с пробитыми уровнями и фракталами):

for (int i=0; i<Bars; i++)
{
 if(array[i]<PriceLevel) array[i]=0;
}

Может Вы просто ищете уровни поддержки и сопротивления, так такого добра навалом. Был хороший индюк от Vinin, мой где-то тут должен валяться, и еще десятки если не сотни) попользуйте поиск (если он работает конечно, хотя всегда можно и через гуглю)

 
Figar0:
Примеры фактически в любом советнике, в половине так точно. Как-то так, разумеется неопределенные переменные требуется объявить, проиницилизировать и обработка ошибки открытия по вкусу.

Спасибо. А Digits надо поменять на 4 или 5, в зависимости от ДЦ?
Причина обращения: