SetIndexDrawBegin(0,Bars-5); Нашел ответ, вот так работает, описание по моему функции вводит в заблуждение для новичков.
Вопрос снят, но все равно пример показали бы как сделать отрисовку понятнее для новичков.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте, разработчики MQL4, столкнулся с тем что как бы я не ставил отрисовку ничего на графике не происходит, тот пример индикатора ваш тоже не работает проверьте сами, бесполезная функция? Или я что то не понимаю?
//+------------------------------------------------------------------+
//| Alligator.mq4 |
//| Copyright 2005-2013, MetaQuotes Software Corp. |
//| https://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright "2005-2013, MetaQuotes Software Corp."
#property link "https://www.mql4.com"
#property description "Bill Williams' Alligator"
#property strict
//--- настройки индикатора
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Lime
//--- входные параметры индикатора
input int InpJawsPeriod=13; // Jaws Period
input int InpJawsShift=8; // Jaws Shift
input int InpTeethPeriod=8; // Teeth Period
input int InpTeethShift=5; // Teeth Shift
input int InpLipsPeriod=5; // Lips Period
input int InpLipsShift=3; // Lips Shift
//--- индикаторные буферы
double ExtBlueBuffer[];
double ExtRedBuffer[];
double ExtLimeBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void OnInit(void)
{
IndicatorDigits(Digits);
//--- установка сдвига линий при отрисовке
SetIndexShift(0,InpJawsShift);
SetIndexShift(1,InpTeethShift);
SetIndexShift(2,InpLipsShift);
//--- пропуск отрисовки первых баров
SetIndexDrawBegin(0,5); // изменил значение, индикатор как рисовал на весь период так и рисует свои линиии????
SetIndexDrawBegin(1,5);
SetIndexDrawBegin(2,5);
SetIndexDrawBegin
Устанавливает порядковый номер бара от начала данных, с которого должна начинаться отрисовка указанной линии индикатора.
void SetIndexDrawBegin(
int index, // номер линии
int begin // номер позиции
);
Параметры
index
[in] Порядковый номер линии. Должен быть от 0 до 7.
begin
[in] Номер позиции начала отрисовки линии индикатора.
Возвращаемое значение
Нет.
Примечание
Отрисовка индикатора производится слева направо. Значения индикаторного массива, находящиеся левее указанного бара, не будут рисоваться на графике и отображаться в окне DataWindow. По умолчанию устанавливается значение 0.
Пример: