Как создать свой индекс
9 года 3 мес. назад #277
от spav
spav создал тему: Как создать свой индекс
Привет всем.
Хочу сделать свой индекс в ами.
Типа ММВБ 10, но из , к примеру , 2,3 и тд бумаг.
Как должен выглядеть код на AFL?
Хочу сделать свой индекс в ами.
Типа ММВБ 10, но из , к примеру , 2,3 и тд бумаг.
Как должен выглядеть код на AFL?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 3 мес. назад - 9 года 3 мес. назад #278
от admin
admin ответил в теме Как создать свой индекс
Здравствуйте.
Задача эта не слишком сложна. Идея такова. все бумаги, из которых Вы хотите строить индекс, должны экспортироваться тем или иным способом в амиброкер (непример, из терминала quik). Для каждой бумаги должен быть задан коэффициент.
Далее для каждой из бумаги в скрипте используем функцию setforeign(), которая позволяет получить котировки любой бумаги из базы, не только текущей бумаги чарта.. ну дальше все просто. каждую бумагу умножаем на ее коэффициент и суммируем.
что-то типа такого:
setforeign("GAZP")
o1 = open;
h1 = high;
l1 = low;
c1 = close;
setforeign("ROSN")
o2 = open;
h2 = high;
l2 = low;
c2 = close;
и так далее
теперь рассчитываем индекс
Open = o1 * k1 + o2 * k2 * o3 * k3 .......
Low = l1 * k1 + l2 * k2 + l3 * k3....
high = ....
close = .....
и рисуем
plot(close,"Index",colorblack,stylecandle);
Задача эта не слишком сложна. Идея такова. все бумаги, из которых Вы хотите строить индекс, должны экспортироваться тем или иным способом в амиброкер (непример, из терминала quik). Для каждой бумаги должен быть задан коэффициент.
Далее для каждой из бумаги в скрипте используем функцию setforeign(), которая позволяет получить котировки любой бумаги из базы, не только текущей бумаги чарта.. ну дальше все просто. каждую бумагу умножаем на ее коэффициент и суммируем.
что-то типа такого:
setforeign("GAZP")
o1 = open;
h1 = high;
l1 = low;
c1 = close;
setforeign("ROSN")
o2 = open;
h2 = high;
l2 = low;
c2 = close;
и так далее
теперь рассчитываем индекс
Open = o1 * k1 + o2 * k2 * o3 * k3 .......
Low = l1 * k1 + l2 * k2 + l3 * k3....
high = ....
close = .....
и рисуем
plot(close,"Index",colorblack,stylecandle);
Последнее редактирование: 9 года 3 мес. назад пользователем admin.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Модераторы: admin