Как совместить Периоды iClose

 

Как не зависимо от текущего графика заставить работать такую конструкцию:  если предыдущий Дневной бар закрылся ниже Линии и 4 бара на таймфрейме М30 тоже закрылись ниже Линии = далее условие

Написал вот так, не работает !!! ХЕЛПпппппппп

extern int

HTF     =1440,      //Старший ТФ для определения пробоя уровня уровня 

LTF      =30,        //Младший ТФ для определения консолидации

Tol = 150;         //Толеранс от Линии

bool  OTBOI=false;

double Line = 1.0050; // ориентир

double   CLD1,CLM1,CLM2,CLM3,CLM4;

CLD1=iClose(NULL,HTF,1); CLD2=iClose(NULL,HTF,2); //Закрытие баров на старшем ТФ 

CLM1=iClose(NULL,LTF,1);CLM2=iClose(NULL,LTF,2);CLM3=iClose(NULL,LTF,3);CLM4=iClose(NULL,LTF,4); //Закрытие баров на младшем ТФ


if(iClose(NULL,CLD1,1)>Line)

{

if(CLM1<Line&&CLM2<Line&&CLM3<Line&&HLM4>Line

   &&CLM1>Line-Tol*Point&&CLM2>Line-Tol*Point

   &&CLM3>Line-Tol*Point&&CLM4>Line-Tol*Point)

 OTBOI=true;

}

 
Rewerpool:

Как не зависимо от текущего графика заставить работать такую конструкцию:  если предыдущий Дневной бар закрылся ниже Линии и 4 бара на таймфрейме М30 тоже закрылись ниже Линии = далее условие

Написал вот так, не работает !!! ХЕЛПпппппппп

Видимо, запарились ))

Что это за конструкция такая?

iClose(NULL,CLD1,1)

Взять цену закрытия на таймфрейме, который вычислен как цена закрытия предыдущего дневного бара. Такого ТФ, конечно же, нет.

 
Ihor Herasko:

Видимо, запарились ))

Что это за конструкция такая?

Взять цену закрытия на таймфрейме, который вычислен как цена закрытия предыдущего дневного бара. Такого ТФ, конечно же, нет.

Я ж и прошу помощи, ваши слова не прояснили ситуацию! как можно и правильно это сделать учитывая моё задание?


Понял что нужно прикрутить 

PRICE_CLOSE

Но как правильней?
 
Rewerpool:
Я ж и прошу помощи, ваши слова не прояснили ситуацию! как можно и правильно это сделать учитывая моё задание?
CLD1 - это значение цены, а нужно передать таймфрейм, т. е. 1, 5, 15, 30, 60, 240, 1440, 10080 или 43200. Но никак не что-то типа 1.325648, коим является значение в переменной CLD1. В Вашем случае, наверное, HTF.
 

Понял что нужно прикрутить 

PRICE_CLOSE

Но как правильней?
 
Rewerpool:

Понял что нужно прикрутить 

PRICE_CLOSE

Но как правильней?

Нет. iClose - это и есть цена закрытия. Нужно лишь указать, чего:

  • первый параметр - символ. Вы указали NULL. Значит нужен тот символ, к графику которого прикреплен советник/скрипт/индикатор.
  • второй параметр - таймфрейм. Вы указали CLD1. Это точно неправильно. Нужно указать таймфрейм в минутах. В Вашем случае нужен либо дневной, либо получасовой график. Значит, либо 1440, либо 30. Ну или переменные HTF и LTF.
  • третий параметр - индекс бара. Вы указали 1. Это первый бар слева от формирующегося.
Таким образом, загвоздка именно в передаче функции iClose корректного значения второго параметра. Определитесь, какой ТФ нужен в данном месте и вставьте его туда. По всей видимости, там должен быть именно HTF.
 
Ihor Herasko:

Нет. iClose - это и есть цена закрытия. Нужно лишь указать, чего:

  • первый параметр - символ. Вы указали NULL. Значит нужен тот символ, к графику которого прикреплен советник/скрипт/индикатор.
  • второй параметр - таймфрейм. Вы указали CLD1. Это точно неправильно. Нужно указать таймфрейм в минутах. В Вашем случае нужен либо дневной, либо получасовой график. Значит, либо 1440, либо 30. Ну или переменные HTF и LTF.
  • третий параметр - индекс бара. Вы указали 1. Это первый бар слева от формирующегося.
Таким образом, загвоздка именно в передаче функции iClose корректного значения второго параметра. Определитесь, какой ТФ нужен в данном месте и вставьте его туда. По всей видимости, там должен быть именно HTF.

iClose(NULL,HTF,1) - Как я думаю! Закрытие=текущего символа, ТФ 1440, 1 бара и это я присваиваю к CLD1. 

 
Я и создал переменную HTF, LTF для того что б можно было поэксперементировать с ТФ
 
CLD CLM я так понимаю содержат в себе цену закрытия баров в нужном ТФ.
 
Rewerpool:

iClose(NULL,HTF,1) - Как я думаю! Закрытие=текущего символа, ТФ 1440, 1 бара и это я присваиваю к CLD1. 

И я о том же говорю.
 
функция "принт" или "коммент" вам в помощь, если невидно где косяк то выводите инфу на экран или в лог, говорят очень помогает