Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Запись пула инструментов по условию для дальнейшей обработки Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
genom



Зарегистрирован: 09.11.2010
Сообщения: 53

СообщениеДобавлено: Пн Июл 20, 2015 8:11 pm Ответить с цитатой Вернуться к началу

Всем привет!
Прошу помощи, коллеги. Пытаюсь реализовать следующую мысль:
есть пара десятков инструментов для торговли. В определенный момент времени (предположим в 18:30) нужно проверить все 20 инструментов на условие (например С > O) затем запомнить число сигналов и имена всех инструментов, которые удовлетворены условию, что бы далее можно было бы из этого списка их подставлять (например для робота уже сразу после прогона прямо в 18:30 или в 18:31).
п.с. пытался делать через вотчлист, но как то не пошло да и в анатации предостережение, что будет медленно, были мысли через запись в файл, но тоже как то громоздко получалось и в итого зашел в тупик.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Июл 20, 2015 9:20 pm Ответить с цитатой Вернуться к началу

Ну в общем я не вижу других способов кроме как через вотчлист (или фавориты) или запись в файл.
На счет медленно. Не замечал чтобы с листами медленно работало.
А запись в файл удобно делать плагином

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
genom



Зарегистрирован: 09.11.2010
Сообщения: 53

СообщениеДобавлено: Вт Июл 21, 2015 9:37 am Ответить с цитатой Вернуться к началу

000 писал(а):
Ну в общем я не вижу других способов кроме как через вотчлист (или фавориты) или запись в файл.
На счет медленно. Не замечал чтобы с листами медленно работало.
А запись в файл удобно делать плагином


мммм.... Олег, для подсчета сигналов в моменте я тут своими мозгами набил пару заготовок, хоть и медленновато, но считают. Вот первый вариант:
Код:
TickerList = "SBER,GMKN,VTBR,MGNT,LKOH,GAZP";

a = 0;
for ( i = 0; ( symbol = StrExtract( TickerList, i ) ) != ""; i++ )
{
    SetForeign( symbol, True, True );
    for ( e = 1; e < BarCount; e++ )
    {
        if ( C[e] > C[e-1] )
        {
            a[e] = a[e] + 1;
        }
    }
    RestorePriceArrays( True );
}
Plot( a, "a", colorLightOrange , stylehistogram | stylethick );

, а вот второй вариант:
Код:

t1 = foreign( "SBER", "C" );
t2 = foreign( "GMKN", "C" );
t3 = foreign( "VTBR", "C" );
t4 = foreign( "MGNT", "C" );
t5 = foreign( "LKOH", "C" );
t6 = foreign( "GAZP", "C" );

p1 = t1 > Ref( t1, -1 );
p2 = t2 > Ref( t2, -1 );
p3 = t3 > Ref( t3, -1 );
p4 = t4 > Ref( t4, -1 );
p5 = t5 > Ref( t5, -1 );
p6 = t6 > Ref( t6, -1 );

PP = p1 + p2 + p3 + p4 + p5 + p6;
Plot( PP, "PP", colorYellow, styleHistogram | styleThick );


Подскажи, я в верном иду направлении и как тут прикрутить запись в вотчлист/фаворт списка инструментов с сигналом? Я пробовал, но вотчлист у меня не обновлялся на новом баре при промотке графика (что то недопонимаю), а мне нужно это в реалтайме формировать.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Июл 21, 2015 9:59 am Ответить с цитатой Вернуться к началу

Надо написать примерно вот такой код
Код:

Filter = C > Ref(C, -1);
if(LastValue(Filter))
   CategoryAddSymbol(Name(), categoryWatchlist, 1);

Запихать его в аналайзер, установить range - 1 recent bars и нажать Explore.
Нужные тикеры запихаются во второй вачлист.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
genom



Зарегистрирован: 09.11.2010
Сообщения: 53

СообщениеДобавлено: Вт Июл 21, 2015 10:28 am Ответить с цитатой Вернуться к началу

Такое очень хорошо для рисерчя, но мне нужно на графике, т.к. робот будет работать в графическом виде.
В идеале я пытаюсь реализовать вот такую конструкцию: в определенное время проверяется условие и формируется вотчлист, затем дальше через определенное время робот считывает по одному инструменту из вотчлиста и формирует заявки.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Июл 21, 2015 10:32 am Ответить с цитатой Вернуться к началу

А что мешает прогнать один раз код в аналайзере а потом по результатам пользоваться роботом на графике?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
genom



Зарегистрирован: 09.11.2010
Сообщения: 53

СообщениеДобавлено: Вт Июл 21, 2015 10:38 am Ответить с цитатой Вернуться к началу

000 писал(а):
А что мешает прогнать один раз код в аналайзере а потом по результатам пользоваться роботом на графике?


А это можно сделать в автономном режиме без человека?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Июл 21, 2015 10:48 am Ответить с цитатой Вернуться к началу

Хм.
А если в автономном режиме,то почему робот на грфике?
Ты в курсе, что если график тикера не виден на экране, то этот тикер не обрабатывается? В него даже данные не поступают.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
genom



Зарегистрирован: 09.11.2010
Сообщения: 53

СообщениеДобавлено: Вт Июл 21, 2015 10:54 am Ответить с цитатой Вернуться к началу

Сорри... забыл сказать, что автоторговля у меня через TraderAssistent. Там вроде всяко можно, через анализер не пробовал(
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Июл 21, 2015 1:22 pm Ответить с цитатой Вернуться к началу

С TraderAssistent я не разбирался. Не знаю как он работает.
Одно могу сказать точно. Графики работают только с тем символом который сейчас открыт. Правда можно подставлять через SetForeign.
В принципе такая схем как у тебя первый вариант может формировать вачлист с помощью CategoryAddSymbol(). Кончно это не быстро.

А можно запустить код в АА, включить там авторепид. И он будет постоянно работать с заданной переодичностью и, например, формировать вачлист. Можно в коде задать чтобы он по жизни ничего не делал, а в определенное время (функция Now()) сделал нужный вачлист.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
genom



Зарегистрирован: 09.11.2010
Сообщения: 53

СообщениеДобавлено: Вт Июл 21, 2015 10:24 pm Ответить с цитатой Вернуться к началу

Понял. Рассматриваю сейчас вариант на одном графике с Forigen() (второй вариант кода, который приводил выше). Пока ковырялся - придумал как реализовать и без вотчлиста на основе второго куска кода. С автоанализером тоже понял, наверно попробую после начатой попытки.

Есть вопрос. Например, если ко второй части кода поставить вот такое:
Код:
Title = StrFormat("%g,%g,%g,%g,%g,%g, AllSig: %g", p1, p2, p3, p4, p5, p6, PP);

то можно формировать строку с данными типа: 1,0,0,1,0,1, AllSig: 3.
Как в коде можно задать подстановку символьных значений, т.е. вместо первой единицы - "SBER", затем ноль, ноль, "MGNT" и т.д.? Тогда получится своего рода подобие вотчлиста из которого можно выдернуть все кроме нолей Idea
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Июл 21, 2015 10:38 pm Ответить с цитатой Вернуться к началу

Про StrFormat ничего не знаю. И знать не хочу. Smile

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
genom



Зарегистрирован: 09.11.2010
Сообщения: 53

СообщениеДобавлено: Вт Июл 21, 2015 11:13 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Про StrFormat ничего не знаю. И знать не хочу. Smile


Эхххх.... и на том спасибо те)))
Посмотреть профиль Отправить личное сообщение
genom



Зарегистрирован: 09.11.2010
Сообщения: 53

СообщениеДобавлено: Ср Июл 29, 2015 3:12 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Хм.
А если в автономном режиме,то почему робот на грфике?
Ты в курсе, что если график тикера не виден на экране, то этот тикер не обрабатывается? В него даже данные не поступают.


Сейчас сел за кодинг и вспомнил, что можно передергивать весь график даже в свернутом виде Ami при помощи:
RequestTimedRefresh(0.1, False), где: 0,1 интервал обновления (не кратен часам системы), False - дает возможность исполнять код в свернутом окне
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Июл 29, 2015 4:17 pm Ответить с цитатой Вернуться к началу

Да, действительно. Всегда забываю что появилась такая возможность.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen