Помогите советом с индикатором:
Индикатор создает графический объект(название"NEW",,,время точки привязки, цена точки привязки,,,).
Когда появляются новые точки привязки,которые отличаются от старых - обект нужно переименновать
и создать новый графический объект(название"NEW",,,время точки привязки, цена точки привязки,,,).
Как получить значения старых точек привязок графического объекта для сравнения с новыми точками привязок?
Перед перемещением графического объекта сохранить его координаты в переменные. Потом эти переменные сравнить в новыми.
Я учусь. Как сохранить?
Допустим я объявляю переменную -
double названиеOLD(цена точки привязки);
В теле программы присваиваю название цени текущей точки привязки как OLD -
название(цена точки привязки)=названиеOLD(цена точки привязки);
И с наступлением нового тика, когда цена точки привязки изменилась я получу одновременно разные значения точек -
Print(названиеOLD(цена точки привязки),название(цена точки привязки));
Рассмотрите пример OBJ_RECTANGLE. Вот этот участок кода:
//--- перерисуем график и подождем 1 секунду ChartRedraw(); Sleep(1000); //--- теперь будем перемещать точки привязки прямоугольника //--- счетчик цикла int h_steps=bars/2; //--- перемещаем точки привязки for(int i=0;i<h_steps;i++) { //--- возьмем следующие значения if(d1<bars-1) d1+=1; if(d2>1) d2-=1; //--- сдвигаем точки if(!RectanglePointChange(0,InpName,0,date[d1],price[p1])) return; if(!RectanglePointChange(0,InpName,1,date[d2],price[p2])) return; //--- проверим факт принудительного завершения скрипта if(IsStopped()) return; //--- перерисуем график ChartRedraw(); // задержка в 0.05 секунды Sleep(50); }
До RectanglePointChange Вам объект имеет ещё старые координаты, а в фукнцию RectanglePointChange отсылаются уже новые координаты. Старые нужно сохранить.
Рассмотрите пример OBJ_RECTANGLE. Вот этот участок кода:
До RectanglePointChange Вам объект имеет ещё старые координаты, а в фукнцию RectanglePointChange отсылаются уже новые координаты. Старые нужно сохранить.
Можно еще сохранять в глобальные переменные терминала, тогда и при перезапуске они сохранятся
Можно еще сохранять в глобальные переменные терминала, тогда и при перезапуске они сохранятся
Спасибо за совет. Помогло.
Да, оно, учтите, хранятся только 30 дней, если к ним не обращаться.
Да, оно, учтите, хранятся только 30 дней, если к ним не обращаться.
Дв лучше уже тогда в файлы писать все... Как по мне, глобальные переменные еще тот костыль...
Дв лучше уже тогда в файлы писать все... Как по мне, глобальные переменные еще тот костыль...
На 100% согласен. С файлами более гибко работать можно. Те-же массивы и структуры, в файлах можно гонять почти как угодно.
На 100% согласен. С файлами более гибко работать можно. Те-же массивы и структуры, в файлах можно гонять почти как угодно.
Да почти без разницы. Единственно, в файлы можно записать любые данные, а в глобальные переменные терминала - только double/
Так понимаю, что время чтения/записи не критично в данном случае - тогда я бы использовал запись в файл.
Потом, если понадобиться, можно чем угодно прочитать.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Помогите советом с индикатором:
Индикатор создает графический объект(название"NEW",,,время точки привязки, цена точки привязки,,,).
Когда появляются новые точки привязки,которые отличаются от старых - обект нужно переименновать
и создать новый графический объект(название"NEW",,,время точки привязки, цена точки привязки,,,).
Как получить значения старых точек привязок графического объекта для сравнения с новыми точками привязок?