1. это делается через SetIndexShift(int index, int shift) , посмотрите пример исходного кода ichimoku.mq4 в "MQL4: Ichimoku Kinko Hyo, Ishimoku"
2. посмотрите ObjectMove() и остальные функции ObjectXXXX в документации (есть вся помощь, встроенная в MetaEditor) и в онлайне: "MQL4: Графические объекты"
3. с целыми вся математика работает нормально, проверьте еще раз, пожалуйста
4. да, ограничение есть, если не ошибаюсь, то 512 элементов. если часть не показывается - видимо они не скомпилировались. Попробуйте открыть отсутствующие в редакторе и скомпилируйте вручную - посмотрите на ошибки.
2. посмотрите ObjectMove() и остальные функции ObjectXXXX в документации (есть вся помощь, встроенная в MetaEditor) и в онлайне: "MQL4: Графические объекты"
3. с целыми вся математика работает нормально, проверьте еще раз, пожалуйста
4. да, ограничение есть, если не ошибаюсь, то 512 элементов. если часть не показывается - видимо они не скомпилировались. Попробуйте открыть отсутствующие в редакторе и скомпилируйте вручную - посмотрите на ошибки.
1. Правильно
2. Time[номер бара]
Посмотрите наш пример создания объектов "MQL4: Вращение текстовых объектов"
3. Почитайте в документации "MQL4: Приведение типов"
4. Есть предел - 512 индикаторов. Подпапки в навигаторе в ближайшее время делать не будем
2. Time[номер бара]
Посмотрите наш пример создания объектов "MQL4: Вращение текстовых объектов"
3. Почитайте в документации "MQL4: Приведение типов"
4. Есть предел - 512 индикаторов. Подпапки в навигаторе в ближайшее время делать не будем
Спасибо за ответ. Некоторые индикаторы не скомпилировались. Времени нет на их исправление. Тем более что они не мои.
Насчёт математики перепроверил несолько раз. Я уверен что прав. Посмотрите на этот код
Насчёт математики перепроверил несолько раз. Я уверен что прав. Посмотрите на этот код
#property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red //Indicator buffers double PriceClose[]; int init() { IndicatorBuffers(1); SetIndexBuffer(0,PriceClose); SetIndexStyle(0,DRAW_LINE); IndicatorShortName("Prices"); return(0); } int deinit(){return(0);} int start() { int m=21; int k=10; if(k==m/2)Print("k=",k," m/2=",m/2); return(0); }
Заметьте что if(k==m/2) должен переправить управление на return. Но са самом деле Print срабатывает, выдавая результат
2006.09.07 00:07:28 test EURUSD,Daily: k=10 m/2=10
Если исправить на if(k==m/2.0), то всё работает как положено.
Или я не так понял, но:
Не должен, почему Вы так решили?
int m=21; int k=10; if(k==m/2) Print("k=",k," m/2=",m/2);
Сработало абсолютно верно. Конечно же условие k==m/2 сработало верно и напечатало результат!
Заметьте что if(k==m/2) должен переправить управление на return
Не должен, почему Вы так решили?
Извините за ложную тревогу. Посмотрел здесь
"MQL4: Приведение типов"
и всё понял. Мне надо в будущем ставить точки самому где ответ ожидается дробным, а не ожидать MT делать эти решемия за меня. Так что всё работает. Вы ребята молодцы. Мне ваша программа очень нравится. Спасибо.
Владимир
"MQL4: Приведение типов"
и всё понял. Мне надо в будущем ставить точки самому где ответ ожидается дробным, а не ожидать MT делать эти решемия за меня. Так что всё работает. Вы ребята молодцы. Мне ваша программа очень нравится. Спасибо.
Владимир
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Пытаюсь создать индикатор, который предсказал бы будующие цены. По логике, эти цены должны иметь отрицательный индекс. Например, PriceCloe[-1], PriceClose[-2] и т.п. Но вот МТ не хочет их рисовать. А нельзя ли? Сам разобрался. Надо сдвигать элементы матриц влево, добавляя необходимое количество будущих баров справа. Делать вычисления и всё получится если использовать SetIndexShift(0,FutureBars).
2. Также пытаюсь создать ЕА, который бы рисовал channel trends. Вот, в Wealth-Lab например, чтобы нарисовать прямую линию, проходящую через бары В1 и В2 с ценами Р1 и Р2, имеется команда DrawLine(B1,P1,B2,P2,pane,color style of line), где Р1 и Р2 могут быть High, Low, Close or Open. Очень просто. А вот в MQL4, я так понял всё рисуется через ObjectCreate, который принимает координаты в виде времени и цены. А как бар перевести во время? Нельзя ли примерчик использования ObjectCreate для наросования прямой проходящей через определённые бары?
3. В одном индикаторе, у меня было так
if (k!=m/2)... где к и m оба целые числа.
Что-то не работало. Потратил уйму времени и нашёл в чём причина. Если m нечётное, то m/2 расчитывалось как целое число. Например, m=21, тогда m/2=10 а не 10.5. Исправил на if (k!=m/2.0)... и всё сработало. Неплохо бы если MQL4 не требовал .0 во всех случаях где выражение использует целые числа, а результат дробный. Например, компилятор мог бы понять что если целою число делится на другое целое число то результат может быть дробным.
4. Скопировал уйму индикаторов с инета в indicator folder. Скомпилировал их все. Только часть показывается в навигаторе. А что, есть какой-то предел на как много индикаторов навигатор может показывать? Сколько? Пришлось половину индикаторов по-удалять чтобы видеть те которые нужны. А нельзя ли их все показывать без ограничения? Неплохо бы в будущих версиях иметь возможность создавать subfоlders в custom indicator окне МТ терминала. Всё таки лучше когда всё организовано и по своим полочкам.
Ну вот. Пока всё. Надеюсь мои предложения помогут вам.
Владимир