Господа програмисты помогите пожалуйста дописать код индюка (Индюк расчитывает диапазон цен внутри дня по Т.Р.Демарку)

 

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

Вариант1 - цена закрытия предыдущего дня меньше цены открытия предыдущего дня

Вариант2 - цена закрытия предыдущего дня больше цены открытия предыдущего дня

Вариант3 - цена закрытия предыдущего дня равна цене открытия предыдущего дня

Код индюка вложен.

Заранее спасибо!

 
baz:

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

Вариант1 - цена закрытия предыдущего дня меньше цены открытия предыдущего дня

Вариант2 - цена закрытия предыдущего дня больше цены открытия предыдущего дня

Вариант3 - цена закрытия предыдущего дня равна цене открытия предыдущего дня

Код индюка вложен.

Заранее спасибо!

А смысл? Не проще ли глянуть на предыдущую свечу при ручнике или сравнивать Close[1] и Open[1] при автотрейдинге? Нафига лишний кастомный индюк для автотрейдинга?

 
Reshetov:
baz:

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

Вариант1 - цена закрытия предыдущего дня меньше цены открытия предыдущего дня

Вариант2 - цена закрытия предыдущего дня больше цены открытия предыдущего дня

Вариант3 - цена закрытия предыдущего дня равна цене открытия предыдущего дня

Код индюка вложен.

Заранее спасибо!

А смысл? Не проще ли глянуть на предыдущую свечу при ручнике или сравнивать Close[1] и Open[1] при автотрейдинге? Нафига лишний кастомный индюк для автотрейдинга?

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

 
baz:

...

А м.б. не стОит изобретать велосипед, изобретённый Игорем Кимом?

http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=10

Или это не устраивает?

 
goldtrader:
baz:

...

А м.б. не стОит изобретать велосипед, изобретённый Игорем Кимом?

http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=10

Или это не устраивает?

Извините, но не устраивает.

 
Может найдется добрый самаритянин и подскажет какую функцию и куда вставить, чтобы отображать один из трех вариантов в зависимости от вышеизложеных условий???
 

Неужто перевелись русские люди? Неужели не кому помочь бедному трейдеру?

Я ведь прошу не написать, немного подправить код, просто своих знаний не хватает.....

 

Так пойдет, надеюсь?

Файлы:
forbaz.mq4  7 kb
 
D500_Rised:

Так пойдет, надеюсь?

D500 огромное спасибо! То что доктор прописал.

Который раз меня выручаешь!

Еще раз спасибо!!!((:

 

Дени есть еще одна просьба к тебе если есть у тебя возможность объяснить, что именно делают функции (команды) которые ты добавил???

Потомучто, вижу что код работает, но не пойму как он отбирает нужный вариант???

 

В первом варианте кода, было вычисление и создание 6 уровней сразу без сортировки их вывода на график.


drawLine(FH3,"FH3", color_FH3,0);
drawLabel("Forecast High3",FH3,color_FH3);
drawLine(FH2,"FH2", color_FH2,0);
drawLabel("Forecast High2",FH2,color_FH2);
drawLine(FH1,"FH1", color_FH1,0);
drawLabel("Forecast High1",FH1,color_FH1);


drawLine(FL1,"FL1", color_FL1,0);
drawLabel("Forecast Low1",FL1,color_FL1);
drawLine(FL2,"FL2", color_FL2,0);
drawLabel("Forecast Low2",FL2,color_FL2);
drawLine(FL3,"FL3", color_FL3,0);
drawLabel("Forecast Low3",FL3,color_FL3);


Это вызовы функций для рисования линий и текстовых лейблов.

6 вызовов функций

drawLine(...)
и столько же
drawLabel(...)
Согласно задания, необходимо было прекратить рисовать 4 линии, а оставить 2 необходимые, с возможностью вариации выбора оных.
Для этого была введена внешняя переменная
extern int SWITCH1_3=1;
Выбор значения от 1 до 3 и определяет нужный вариант рисования.
Для его рисования был добавлен оператор switch() для переключения режимов.


switch(SWITCH1_3)
{
case 3:
drawLine(FH3,"FH3", color_FH3,0);
drawLabel("Forecast High3",FH3,color_FH3);
drawLine(FL3,"FL3", color_FL3,0);
drawLabel("Forecast Low3",FL3,color_FL3);
break;
case 2:
drawLine(FH2,"FH2", color_FH2,0);
drawLabel("Forecast High2",FH2,color_FH2);
drawLine(FL2,"FL2", color_FL2,0);
drawLabel("Forecast Low2",FL2,color_FL2);
break;
case 1:
drawLine(FH1,"FH1", color_FH1,0);
drawLabel("Forecast High1",FH1,color_FH1);
drawLine(FL1,"FL1", color_FL1,0);
drawLabel("Forecast Low1",FL1,color_FL1);
break;
default:
Print("Uncorrected parametr SWITCH1_3");
deinit();
break;
}




Произведена маленькая сортировка по строковому расположению и вариантам и все готово.

Некорректный ввод параметра

SWITCH1_3 приводит к удалению объектов индикатора с графика, а журнал запестрит сообщением "Uncorrected parametr SWITCH1_3".
Если нужна справка по оператору switch()... то она доступна, как на этом сайте так и в хелпе редактора MetaEditor.

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