Саша, скинь,плиз, индюк, который показывает сессии квадратиками или просто линиями отмечает необходимые интервалы времени.
Вид для печати
1. Полный код в приложении.
Суть его банальна. Это фильтр. Если последние несколько значений объема (вытянутые из КластерХ) ответчает некоторым условиям, то индюк показывает, если не отвечает, то молчит. Как-то так)))
2. Спасибо, я знаю об этом. У меня чуть-чуть есть истории (подсобирал пока Кластер был бесплатным). Надеюсь что этого хватит для проверки работы индикатора. Если он будет работать, то буду дальше думать.
Дальше сами.
Индикатор показывает, но там еще есть что править. Для примера посмотрите любой colored индикатор
Спасибо за помощь. Увидел свои ошибки. Теперь буду думать как их править.
Доброго времени суток!
Уважаемый TheXpert, прошу Вашей помощи.
Я устранил ошибки в индикаторе, который Вы помогли мне подправить (еще раз спасибо Вам за это). Разноцветным я его пока не делал, но зато теперь (что для меня гораздо важнее) он показывает мне именно то, что я от него хочу (Вложение 3557), а именно простой фильтр по объему и дельте с очень широкими возможностями.
Теперь хочу проверить есть ли перспектива у этой идеи.
Из учебника mql взял пример простого эксперта и внес изменения в него в разделы 1 (описание переменных) и 5 (торговые критерии), больше ничего не менял (Вложение 3558). При компиляции эксперта ошибок не было.
Решил прогнать в тестере, но не тут-то было. Тестер мне так и не открыл ни одной сделки, что я только не пробывал. При прогонке получается такая картинка. Он там чё-т ругается в журнале.
Вложение 3563
И тут я завис. Понять не могу, почему индикатор работает (на картинке красная гистограмма в подвале окна), а советник с теми же критериями фильтрации - нет.
Либо ошибка в коде (что ОЧЕНЬ не исключено, поскольку опыта в программировании не имею, но тружусь и стараюсь разобраться), либо это связано со спецификой работы советников и/или индикаторов КластерХ (и тогда без Ваших комментариев просто не обойтись), либо у меня руки кривые и я что-то делаю совсем не правильно.
Прошу Вас, помогите.
ЗЫ
Обратился к Вам потому, что в индюке вытягиваются данные из КластерХ Волум & Дельта. Вы уж простите ))
Поймите меня правильно, я не прошу Вас переписывать код (я к Вам уже обращался с таким вопросом и Вы мне вполне понятно все объяснили). Я прошу Вас указать на мою ошибку и, если Вам не сложно, подсказать как её можно исправить. А дальше я сам попытаюсь разобраться. Я не лентяй и много читаю, но, к сожалению, не все понимаю.
Подскажите, плиз, как правильно описать в коде следующее условие:
является ли минимальная цена последних 3-х баров (без учета 0-го) минимальной ценой за последниие n баров (без учета 4-х последних баров)
аналогично для хая
я попытался это сделать так:
int limit=Bars-IndicatorCounted();
for(int i=limit-1;i>=0;i--)
{
int x=0;
double L1=0, L2=0, H1=0, H2=0;
L1=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,i+3,i+1));
L2=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,i+n-4,i+4));
H1=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,i+3,i+1) );
H2=iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,i+n-4,i+4));
if (L1<L2)
x=1;
else
{
if (H1>H2)
x=-1;
}
Signal[i]=x;
}
где n - внешняя переменная (больше 4-х)
Такой код ничего не дает.:unknown:
Пробывал как по книжке
L1=Low[iLowest(NULL,0,MODE_LOW,i+3,i+1)];
Также ничего
Пробывал и др. варианты - резалт всегда один и тот же
Подскажите как правильно:help:
Заранее благодарен.
Alex
Сам спросил - сам отвечаю :)
Разобрался в чём была ошибка.
А вернее даже сразу две ошибки.
1. было - int limit=Bars-IndicatorCounted();
а надо - int limit=(Bars-n)-IndicatorCounted();
2. было - L1=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,i+3,i+1));
а надо - L1=iLow(NULL,0,iLowest(NULL,0,MODE_LOW,3,i+1));
Alex[/QUOTE]