Автор |
Сообщение |
Torino
Зарегистрирован: 27.01.2009
Сообщения: 72
|
Добрый день!
Возможно ли для Ами написать код индикатора, показывающего количество сделок в единицу времени, например в секунду?
Я представляю его, как столб гистограммы, который перерисовывается раз в секунду для текущего бара.
(Примерно, как уровень громкости в усилителях). |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Если базовый фрейм - тиковый, то можно. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Torino
Зарегистрирован: 27.01.2009
Сообщения: 72
|
Олег, подскажите, пожалуйста, в каком направлении копать. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Там не очень просто. Есть идейка.
Суть в том, что считаем кол-во тиков функцией Cum(1); и получившиеся данные суем в дополнительно созданный тикер (при помощи ф-ции AddToComposite() ), потом выводим эти данные пожатые до нужного фрейма. По идее должно получится кол-во сделок.
Попробую сам поковырять. Если получится, то выложу. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Хм. В виде индикатора не получится. Вероятно можно так. Создать код сканера в котором создавать новый символ при помощи AddToComposite() в котором каждому тику присваивать значение 1 и запустить его установив в настройках АА переодид Tick и установив небольшую периодичность сканирования. Потом вывести этот символ на чарт в нужном фрейме при помощи Foreign().
Правда одна сделка может выдать несколько тиков (если собирает несколько строк в стакане)... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Torino
Зарегистрирован: 27.01.2009
Сообщения: 72
|
000 писал(а): |
Попробую сам поковырять. Если получится, то выложу. |
Олег вы еще не изучали этот вопрос? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Хм. Я думал уже не надо (сам сделал). Пстараюсь сегодня вечером выложить, либо завтра... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В общем так. В АА вставляем такой код
Код: |
Buy = Sell = Short = Cover = 0;
AddToComposite(1, "~TickCount" + Name(), "Volume", 32);
|
Ставим галку Run every:
и время маленькое. Например 1sec (как в роботе)
В настройках АА ставим Periodicity: Tick
В Apply to - Current sumbol
В Range - All cuotations
Далее пишем такой индикатор
Код: |
Plot(Foreign("~TickCount" + Name(), "Volume", 0), "TickCount", colorRed, styleHistogram);
|
И запускаем его в новом подокне. Вроде работает, но внимательно я не проверял.
Опыта работы с тиками у меня нет и с AddToComposite я практически дела не имел. Вылезут косяки - пиши. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Torino
Зарегистрирован: 27.01.2009
Сообщения: 72
|
Спасибо!
Попробую эту идею использовать. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|