Автор |
Сообщение |
TeRGeR
Зарегистрирован: 02.02.2010
Сообщения: 48
|
Всем здравствуйте!
Хочу написать небольшую систему, которая показывала бы падения или рост превышающие 10%, 20% и 30%, но не за день, а за период до полугода, на дневных графиках.
Я так понимаю здесь надо цыкл задать?
Может быть кто-нибудь поможет? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Постарайся понятнее сформулировать задачу. Тогда скорее всего поможем. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
TeRGeR
Зарегистрирован: 02.02.2010
Сообщения: 48
|
Попробую):
Я делаю экспорт около 100 американский компаний за год (дневные графики).
Мне бы хотелось, чтобы Амиброкер мне давал сигнал, когда акция упадет от хая или вырастет от лоу на 10%, 20% и 30%.
Как я понимаю, надо делать цыкл, который находил бы максимум и минимум цены за весь период и сравнивал его с нынешней ценой, и если происходит разница между этими двумя величинами на 10%, 20% и 30%, то Амиброкер давал бы сигнал или закрашивал бы бар в какой-нить цвет.
Например:
ММК с начала года упал с 36 р. до 11р. Еслить ли возможность, чтобы программно показывало, когда он от хая упал 10%, 20% и 30%? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Это в Ами делается очень просто.
Цикл делать не надо.
Скажи за какой период (точно) надо смотреть рост/падение, напишу тебе как это сделать правильно. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
TeRGeR
Зарегистрирован: 02.02.2010
Сообщения: 48
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Чтобы жизнь малиной не казалась сделал только рост
Берем вот этот код
Код: |
Lo = LLV(C, 251); // В году примерно 251 торговый день.
// Если надо за всю историю на графике, то Lowest(C)
Yes = LastValue(C) > Lo * 1.1; // Бумаги которые выросли больше чем на 10%
Filter = Yes; // Выводим только эти бумаги
change = LastValue(C)/Lo*100-100; // На сколько выросла
Color = IIf(change < 20, colorBrightGreen, IIf(change < 30, colorGreen, colorDarkGreen)); // Задаем цвет по приколу
AddColumn(LastValue(C)/Lo*100-100, "Рост от минимума", 1.2, colorDefault, Color); // Выводим результат
|
и пихаем его в АА (меню Analysis -> Aunomatic Analysis)
Там ставим в Apply To - all symbols
в Range - n last quotation и n= 1
Топчем кнопку Explore.
Все. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
TeRGeR
Зарегистрирован: 02.02.2010
Сообщения: 48
|
Спасибо большое!!)))
Сейчас буду разбираться))) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
TeRGeR
Зарегистрирован: 02.02.2010
Сообщения: 48
|
Красота!)) еще раз ОГРОМНОЕ спасибо!)) |
|
|
Посмотреть профиль Отправить личное сообщение |
|
belin
Зарегистрирован: 09.09.2009
Сообщения: 230
Откуда: wealth-lab user
|
Чем мне нравится Ами? На другом языке, а сейчас для программ теханализа это Си шарп, по большей части, этот код вылился бы явно в больше одной страницы, на такой простой вопрос тратить время никто бы не стал. Кстати, тестирование этой системы тоже заняло бы больше времени,чем в Ами. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
TeRGeR
Зарегистрирован: 02.02.2010
Сообщения: 48
|
Всем здравствуйте!
Возник у меня еще один вопрос:
У меня в поиске около 300 эмитентов, считает падение\рост все отлично, но хотелось бы все эти эмитенты пронумеровать в порядке их роста или падения. Например: компния Протек упала на 70% , она будет на первом месте, Телеграф упал на 68% она будет на втором и если на след день телеграф упадет на 5% (станет 73%), а Протек останется без изменения, то Телеграф перейдет на первое место и рядом будет написано (+1 место), а Телегра 2 место (-1 место). Мне очень тяжело представляет как можно это сделать, может цикл чтобы запоминал места?
Если это не реально сделать, то можно напимер сделать изменения в процентах (отдельным столбиком) относительно предыдущего дня.
Пример:
1 столбец) Тикер
2 столбец) Время
3 столбец) Рост от минимума
4 столбец) % изменение от предыдущего дня (и тоже выделить цветом)
Если есть у кого какие идеи, помогите пожалуйста. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А что мешает просто отсортировать их по столбцу рост/падение? Прямо в Ами по шпке столбца мышкой тыкаешь и они будут в порядке возрастания/убывания роста/падения. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
TeRGeR
Зарегистрирован: 02.02.2010
Сообщения: 48
|
Сортировку по столбцу я знаю)) Просто тяжело каждый день все эти 300 компаний отслеживать, кто на сколько именился. я сделал по % изменению:
change = LastValue(C)/Lo*100-100;
changeC = LastValue(Ref(C,-1))/Lo*100-100;
CH = change - changeC ;
ColorCH = IIf(CH < 0, colorBlueGrey, colorLightBlue);
AddColumn(CH , "%", 1.2, colorDefault, ColorCH);
Но хотелось бы еще, чтобы было видно на сколько позиций (мест в списке) упал или вырос эмитент.
А можно как-нибудь просто колонку сделать с нумерацией строк, чтобы искать было легче? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Хм. К сожалению я не знаю методов работы со списком полученным в результате исследования.
По видимому проще это сделать в экселе. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
TeRGeR
Зарегистрирован: 02.02.2010
Сообщения: 48
|
|
Посмотреть профиль Отправить личное сообщение |
|
|