Здравствуйте! Я тоже спросить про переключения между графиками. Открыто 28 или 30 графиков. Я их переключаю вдумчиво ярлычками и если подходит по условию открываю позиции. Штук 10 или 20. Или 5. Не важно. Важно, что остальные мешают и нет информации по открытым позициям. Попробовал отправить ID в глобальные переменные. Но возвращается совсем другие цифры. Мне объяснили что ID большой и искажается. Попробовал через файл. Возвращает в ТХТ и в лонг не преобразуется. Внес ID вручную в код - вроде заработало. Сдвигаю поле и открывается нужный график. Как бы сделать правильно?
Дабл и лонг имеют одинаковую длину - 8 байт.
Чтобы сохранить лонг в дабл (и обратно) можно использовать "union".
Например:
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+void OnStart()
{
//---long id=ChartID();
double X=LongToDouble(id);
long Y=DoubleToLong(X);
Print("id=",id," X=",X," Y=",Y);
}
//+------------------------------------------------------------------+
union eightbytes
{
double dbl;
long lng;
} VALUE;
double LongToDouble(longvalue)
{
VALUE.lng=value;
return(VALUE.dbl);
}
long DoubleToLong (doublevalue)
{
VALUE.dbl=value;
return(VALUE.lng);
}
так все уже готово, нужно только добавить запись/чтение
Большое спасибо! Интересно, а раньше кто-нибудь пытался сделать такой индикатор? Я сколько не искал не мог найти. Мне кажется это было бы многим интересно.
Нет, не сигналит на текущем баре. Может быть можно обнулить переменную _time после того как индикатор всё посчитает первый раз после присоединения к графику.
1. Зачем делаете нормализацию? Это слишком дорогая операция для работы в цикле индикатора, и тут она не нужна.
2. Что значит "больше нуля"? Какие сигналы выдаёт этот пользовательский индикатор? Что отображается в значениях буфера этого индикатора в окне данных (Ctrl+D) ?
neverness, зачем вы сюда это пишите?
Заведите отдельную ветку во флейме и раздавайте там слонов, снимая шляпу.
Так я же об этом сразу сказал Модератору.
Давайте, господин Модератор, обсудим теорию трейдинга в отдельной ветке.
Модератор пока против этого.
Наверное у Модератора "теории трейдинга" своей нет.
Здравствуйте! Я тоже спросить про переключения между графиками. Открыто 28 или 30 графиков. Я их переключаю вдумчиво ярлычками и если подходит по условию открываю позиции. Штук 10 или 20. Или 5. Не важно. Важно, что остальные мешают и нет информации по открытым позициям. Попробовал отправить ID в глобальные переменные. Но возвращается совсем другие цифры. Мне объяснили что ID большой и искажается. Попробовал через файл. Возвращает в ТХТ и в лонг не преобразуется. Внес ID вручную в код - вроде заработало. Сдвигаю поле и открывается нужный график. Как бы сделать правильно?
Дабл и лонг имеют одинаковую длину - 8 байт.
Чтобы сохранить лонг в дабл (и обратно) можно использовать "union".
Например:
Так я же об этом сразу сказал Модератору.
Давайте, господин Модератор, обсудим теорию трейдинга в отдельной ветке.
Модератор пока против этого.
Наверное у Модератора "теории трейдинга" своей нет.
Вам в ветку клоунов теоретиков, там любят рисовать не понятно что, и не понятно зачем
И подобных веток на форуме полно - хоть заобсуждайтесь!
Дабл и лонг имеют одинаковую длину - 8 байт.
Чтобы сохранить лонг в дабл (и обратно) можно использовать "union".
Например:
Извините, Тарас , нельзя ли кусочек кода как отправить ID в глобальную переменную и извлечь без искажения?
так все уже готово, нужно только добавить запись/чтение
так все уже готово, нужно только добавить запись/чтение
Делать в OnInit() инициализацию
Нет, не сигналит на текущем баре. Может быть можно обнулить переменную _time после того как индикатор всё посчитает первый раз после присоединения к графику.
Как узнать что индикатор посчитал всё один раз?Кидаю индикатор на график и... АЛЕРТ но сигнал далеко на 5 баров. Во время дальнейшей работы сигналит как положено.
Как сделать чтоб при старте не сигналил?
В функции AL(), все возможные уведомления.
Что такое M_A ? Что содержит, и откуда берёт данные?
Вам нужно вместе с проверкой времени проверять валидность сигнала на текущем баре. А вы просто проверяете значение M_A. Откуда его берёте?
Что такое M_A ? Что содержит, и откуда берёт данные?
Вам нужно вместе с проверкой времени проверять валидность сигнала на текущем баре. А вы просто проверяете значение M_A. Откуда его берёте?
Вызываю индикатор.
Как валидность проверять?
Вызываю индикатор.
Как валидность проверять?
1. Зачем делаете нормализацию? Это слишком дорогая операция для работы в цикле индикатора, и тут она не нужна.
2. Что значит "больше нуля"? Какие сигналы выдаёт этот пользовательский индикатор? Что отображается в значениях буфера этого индикатора в окне данных (Ctrl+D) ?