STARIJ: Попробуйте по каждому тикузаписывать в файл Дату, Время, Bid и результаты Ваших вычислений. Потом загрузите в Excel и проверьте. Вряд ли есть смысл согласовывать каждый десяток строк программы!
Но посмотрите, у Вас в каждой ветви условного оператора стоит return, т.е. он всегда выполняется. Тогда выносим его за пределы условного оператора. Получаем:
Bid[1] - так бывает?
Спасибо. Щас попробую. Я понял суть Вашего кода, и это уже для меня большое достижение :) Увидел свои недоработки.
STARIJ: Попробуйте по каждому тикузаписывать в файл Дату, Время, Bid и результаты Ваших вычислений. Потом загрузите в Excel и проверьте. Вряд ли есть смысл согласовывать каждый десяток строк программы!
Но посмотрите, у Вас в каждой ветви условного оператора стоит return, т.е. он всегда выполняется. Тогда выносим его за пределы условного оператора. Получаем:
Bid[1] - так бывает?
Вставил я код в "конструктор" пользовательского индикатора. Скомпилировал. Выдал компилятор 1 предупреждение: two OnCalculate are defined. OHLC version will be used (О чем это говорит, не понял)
Получил скомпилированный продукт. Прикрепил к графику. Окно отдельное для графика открылось, а вот в нем никаких отображений гистограммы нет, хотя тики идут.
Что не так? Подскажите?
#property version"1.00"#property strict#property indicator_separate_window#property indicator_buffers2#property indicator_plots2//--- plot Label1#property indicator_label1"Label1"#property indicator_type1DRAW_HISTOGRAM#property indicator_color1clrRed#property indicator_style1STYLE_SOLID#property indicator_width11//--- plot Label2#property indicator_label2"Label2"#property indicator_type2DRAW_HISTOGRAM#property indicator_color2clrDarkTurquoise#property indicator_style2STYLE_SOLID#property indicator_width21//- local variablesint Tick, Tick2; // Для вставки программы используйте кнопку SRCdouble Bid1;
//--- indicator buffersdouble Label1Buffer[];
double Label2Buffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mappingSetIndexBuffer(0,Label1Buffer);
SetIndexBuffer(1,Label2Buffer);
Bid1=Bid;
//---return(INIT_SUCCEEDED);
}
void start() // Вместо start более модно писать OnTick
{
if(Bid > Bid1) Tick++;
else Tick2++;
Bid1=Bid;
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+
Вставил я код в "конструктор" пользовательского индикатора. Скомпилировал. Выдал компилятор 1 предупреждение: two OnCalculate are defined. OHLC version will be used (О чем это говорит, не понял)
Получил скомпилированный продукт. Прикрепил к графику. Окно отдельное для графика открылось, а вот в нем никаких отображений гистограммы нет, хотя тики идут.
Что не так? Подскажите?
Вы когда код сюда вставляете, пользуйтесь кнопкой редактора сообщения SRC - вверху поля ввода сообщения есть много полезных интересностей в панели форматирования сообщения.
Не сложно же глаза поднять чуть выше вводимого вами текста? А людям куда приятнее смотреть не на портянку, а на нормальный код, верно же?
Я ваш код вставил за вас в ваше сообщение правильно (SRC)
Вы когда код сюда вставляете, пользуйтесь кнопкой редактора сообщения SRC - вверху поля ввода сообщения есть много полезных интересностей в панели форматирования сообщения.
Не сложно же глаза поднять чуть выше вводимого вами текста? А людям куда приятнее смотреть не на портянку, а на нормальный код, верно же?
Я ваш код вставил за вас в ваше сообщение правильно (SRC)
Выдал компилятор 1 предупреждение: two OnCalculate are defined. OHLC version will be used (О чем это говорит, не понял)
Получил скомпилированный продукт. Прикрепил к графику. Окно отдельное для графика открылось, а вот в нем никаких отображений гистограммы нет, хотя тики идут.
Что не так? Подскажите?
Раньше функция называлась Start, теперь в советнике называется OnTick, а в индикаторе OnCalculate. Компилятор предупреждает: у Вас одна и та же функция дважды под разными названиями. Содержимое Start переместите в OnCalculate и удалите Start. Еще бы надо в программе описать, что и как должно отображаться. Сначала решите это сами - какая картинка должна получиться? Лучше изучение языка MQL начать с написания скриптов. Советник - сложнее, индикатор еще сложнее
Раньше функция называлась Start, теперь в советнике называется OnTick, а в индикаторе OnCalculate. Компилятор предупреждает: у Вас одна и та же функция дважды под разными названиями. Содержимое Start переместите в OnCalculate и удалите Start. Еще бы надо в программе описать, что и как должно отображаться. Сначала решите это сами - какая картинка должна получиться? Лучше изучение языка MQL начать с написания скриптов. Советник - сложнее, индикатор еще сложнее
Что-то не получается у меня вставить содержимое Start в OnCalculate, выдает кучу ошибок
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Попробуйте по каждому тику записывать в файл Дату, Время, Bid и результаты Ваших вычислений. Потом загрузите в Excel и проверьте. Вряд ли есть смысл согласовывать каждый десяток строк программы!
Но посмотрите, у Вас в каждой ветви условного оператора стоит return, т.е. он всегда выполняется. Тогда выносим его за пределы условного оператора. Получаем:
Bid[1] - так бывает?
Спасибо. Щас попробую. Я понял суть Вашего кода, и это уже для меня большое достижение :) Увидел свои недоработки.
Что такое кнопка SRC?
Попробуйте по каждому тику записывать в файл Дату, Время, Bid и результаты Ваших вычислений. Потом загрузите в Excel и проверьте. Вряд ли есть смысл согласовывать каждый десяток строк программы!
Но посмотрите, у Вас в каждой ветви условного оператора стоит return, т.е. он всегда выполняется. Тогда выносим его за пределы условного оператора. Получаем:
Bid[1] - так бывает?
Вставил я код в "конструктор" пользовательского индикатора. Скомпилировал. Выдал компилятор 1 предупреждение: two OnCalculate are defined. OHLC version will be used (О чем это говорит, не понял)
Получил скомпилированный продукт. Прикрепил к графику. Окно отдельное для графика открылось, а вот в нем никаких отображений гистограммы нет, хотя тики идут.
Что не так? Подскажите?
Вставил я код в "конструктор" пользовательского индикатора. Скомпилировал. Выдал компилятор 1 предупреждение: two OnCalculate are defined. OHLC version will be used (О чем это говорит, не понял)
Получил скомпилированный продукт. Прикрепил к графику. Окно отдельное для графика открылось, а вот в нем никаких отображений гистограммы нет, хотя тики идут.
Что не так? Подскажите?
Вы когда код сюда вставляете, пользуйтесь кнопкой редактора сообщения SRC - вверху поля ввода сообщения есть много полезных интересностей в панели форматирования сообщения.
Не сложно же глаза поднять чуть выше вводимого вами текста? А людям куда приятнее смотреть не на портянку, а на нормальный код, верно же?
Я ваш код вставил за вас в ваше сообщение правильно (SRC)
Вы когда код сюда вставляете, пользуйтесь кнопкой редактора сообщения SRC - вверху поля ввода сообщения есть много полезных интересностей в панели форматирования сообщения.
Не сложно же глаза поднять чуть выше вводимого вами текста? А людям куда приятнее смотреть не на портянку, а на нормальный код, верно же?
Я ваш код вставил за вас в ваше сообщение правильно (SRC)
Да. Спасибо. Не знал
Выдал компилятор 1 предупреждение: two OnCalculate are defined. OHLC version will be used (О чем это говорит, не понял)
Получил скомпилированный продукт. Прикрепил к графику. Окно отдельное для графика открылось, а вот в нем никаких отображений гистограммы нет, хотя тики идут.
Что не так? Подскажите?
Раньше функция называлась Start, теперь в советнике называется OnTick, а в индикаторе OnCalculate. Компилятор предупреждает: у Вас одна и та же функция дважды под разными названиями. Содержимое Start переместите в OnCalculate и удалите Start. Еще бы надо в программе описать, что и как должно отображаться. Сначала решите это сами - какая картинка должна получиться? Лучше изучение языка MQL начать с написания скриптов. Советник - сложнее, индикатор еще сложнее
Раньше функция называлась Start, теперь в советнике называется OnTick, а в индикаторе OnCalculate. Компилятор предупреждает: у Вас одна и та же функция дважды под разными названиями. Содержимое Start переместите в OnCalculate и удалите Start. Еще бы надо в программе описать, что и как должно отображаться. Сначала решите это сами - какая картинка должна получиться? Лучше изучение языка MQL начать с написания скриптов. Советник - сложнее, индикатор еще сложнее
Что-то не получается у меня вставить содержимое Start в OnCalculate, выдает кучу ошибок
Индикатор отображает информацию только с момента запуска. В окне Данных (Ctrl-D) отображаются данные свечи, на которую указывает курсор
:)
а как Вы сформулируете создавшееся положение с названиями функций?
start - устаревшее название. OnTick() - актуальное название функции обработки тиков.
А так, без разницы как определять, просто слово "модно" улыбнуло.
start - устаревшее название. OnTick() - актуальное название функции обработки тиков.
А так, без разницы как определять, просто слово "модно" улыбнуло.