[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 753
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите, в чем подвох:
1) Заполняю двумерный массив временем образования экстремума ЗигЗага и самим значением экстремума.
2) Заполняю второй массив единицами или двойками в зависимости от того, является ли соответствующий данному элементу - вершина ЗигЗага локальным максимумом или минимумом.
3) Вывожу результаты через Alert.
но, в месте, где должны выводиться 1 или 2 всегда выводятся нули.
в чем, собственно, подвох?!?
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
string TimeSave1[100][2], TimeSave2[100][2];
double A[], B[];
double Number_of_extremum[];
extern string Currency = "EURUSD";
+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
int k;
k=0;
double date;
int status;
for(int shift = 0; shift <= Bars-1; shift++)
{
date = iCustom(NULL, 0, "ZigZag", 12, 5, 3, 0, shift);
//----------------------------------------------------
if(date > 0)
{
TimeSave1[k][0]=TimeToStr(Time[shift]);
TimeSave1[k][1]=date;
k++;
}
}
//====================================================
for (int u=1;u<=k;u++)
{
if (StrToDouble(TimeSave1[u][1])<=StrToDouble(TimeSave1[u-1][1]))
{
Number_of_extremum[u]=1;// значит под номером u - нашли min
}
else
if (StrToDouble(TimeSave1[u][1])>=StrToDouble(TimeSave1[u-1][1]))
{
Number_of_extremum[u]=2;// значит под номером u - нашли max
}
}
//====================================================
for (int j=1;j<10;j++)
{
Alert("время== ",TimeSave1[j][0], " значение== ", TimeSave1[j][1], " max/min== ", Number_of_extremum[j]);
}
//----
return(0);
}
//+------------------------------------------------------------------+
и еще уточнение:
как в mql сравнивать даты и время (например, мне нужно определить, какая вершина ЗЗ образовалась раньше - для этого нужно сравнить время их образования...)
Остальное не смотрел - только пришел...
Друзья, вопрос:
Столкнулся с такой проблемой:
индикатор выводит некоторую информацию через Alert.
но, постепенно в поле вывода Alert'a накапливается слишком много всякой "бадяги"...
можно ли подчищать все старые записи в Алерте при новом запуске индикатора?
Заранее большое спасибо.
P.S.
прокомментируйте, плз, мой пост чуть ранее (почему выводятся нулевые значения, вместо 1 и 2)
по форумуне нашел...
вопрос - можно ли изменить коментарий ордера? ну типа при операции OrderSend() я заношу в комент каконить значение "OrderNotModify", а проводя с этим ордером дальнейшее действие, к примеру частичное закрытие меняю OrderComment на "OrderIsModify"... или нет?
Подскажите, в чем подвох:
Массив с 0 заполняется, а здесь 0-вой индекс пропускается, и заполняем с 1-го, и
Массив с 0 заполняется, а здесь 0-вой индекс пропускается, и заполняем с 1-го, и
не совсем разобрался в вашем комментарии.
1) k - при старте - не равно нулю! k = количеству вершин ЗигЗага, которые мы обнаружили на определенной глубине истории!
2) "значит, всегда срабатывает [1][1]>=[0][1]" - почему всегда срабатывает? если предыдущий элемент массива TimeSave1 > последующего, то не сработает.
повторите, плз, что вы хотели сказать.
не совсем разобрался в вашем комментарии.
1) k - при старте - не равно нулю! k = количеству вершин ЗигЗага, которые мы обнаружили на определенной глубине истории!
2) "значит, всегда срабатывает [1][1]>=[0][1]" - почему всегда срабатывает? если предыдущий элемент массива TimeSave1 > последующего, то не сработает.
повторите, плз, что вы хотели сказать.
С k понятно. Вот это я не понимаю
в правой части
можно ли изменить коментарий ордера?
Похоже, что нет.
так... похоже это жара... и на мой компилятор она действует тоже :)
смотрите, мне нужно пробежаться по массиву, в котором записаны дата образования max/min ЗигЗага и величина этого max/min.
мне нужно понять, собственно, какая из вершин ЗЗ является минимумом, а какая - максимумом.
для этого я сравниваю последующую вершину ЗЗ с предыдущей.
если последующая больше - значит она - вершина.
если меньше - значит она впадина.
в зависимости от того, вершина или впадина, в элемент другого массива добавляем 1 или 2 соответственно.
Любопытно при этом, ГДЕ МОЖЕТ БЫТЬ ОШИБКА!!!!
Хочу иметь возможность подсчитывать уровни фибы исходя из известных двух значений:
Уровень ноль фибы соответствует цене 1.2807, уровень 23.6 соответствует 1.2838.
Необходимо найти остальные уровни 38.2, 50.0, 61.5, 100.0 и каким ценам они соответствуют.
Я даже не смог найти не то чтобы чёткую, вообще никакую взаимосвязь между 1.2807 и 1.2838, чтобы понимать принципы
поиска всех остальных значений.
Подскажите кто-нить, плиз... :)
ктонить встречал индикатор, чтобы на младшем ТФ видеть время открытия бара на старшем ТФ, не сколько время интересно, а начертить метки на графике где начался бар и где закончился
наверно так, код не оптимизирован, но рисует то что хотелось бы