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



Зарегистрирован: 09.06.2008
Сообщения: 65
Откуда: Екатеринбург

СообщениеДобавлено: Вт Мар 10, 2009 12:47 pm Ответить с цитатой Вернуться к началу

Можно ли реализовать обратную связь между АА и кодом afl то есть, например если тестирование идет по группе тикеров - получить в afl название группы?

в GetOption такого нету...

А то сделана система с пирамидингом, так как здесь на сайте и посоветовано - несколько одинаковых тикеров в одну группу (гениально) вот только сравнивать ряд параметров с ее "мамой" т.е. без пирамидинга - сложно. Все время крутить параметры депо и размера поз замучился.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Мар 10, 2009 12:55 pm Ответить с цитатой Вернуться к началу

Если чесно, то не совсем понятно, что и зачем надо. Ведь тест или исследование в АА запускается для конкретной(ых) группы и по идее имя группы задает пользователь. Тогда зачем надо еще раз узнавать имя?
Но скорее всего можно в AFL вставить кусок на JS и в нем через COM (ActiveXObject) узнать имя группы и передать в АФЛ.

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



Зарегистрирован: 09.06.2008
Сообщения: 65
Откуда: Екатеринбург

СообщениеДобавлено: Вт Мар 10, 2009 1:53 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Если чесно, то не совсем понятно, что и зачем надо. Ведь тест или исследование в АА запускается для конкретной(ых) группы и по идее имя группы задает пользователь. Тогда зачем надо еще раз узнавать имя?
Но скорее всего можно в AFL вставить кусок на JS и в нем через COM (ActiveXObject) узнать имя группы и передать в АФЛ.


попробую объяснить зачем.
есть система, на один тикер. работает на 100% депо.
размер депо и лот определяются самой системой (допустип по эквити)
Пробуем потестировать ее на группе тикеров и что?
Первая сделка по первому тикеру блокирует сделки по остальным. Ага! У нас запрещены плечи... стоп! Мы тестируем систему без плеч... так так, лезем в afl ставим в размере лота х/количество тестируемых тикеров. Отлично, заработало! Ага, теперь надо опять посмотреть по одному тикеру... ой... чо та у нас доходность возрасла в 10 раз.... и просадка... а! блин! лезем в Afl убираем х/количество тикеров....
И такая дребедень целый день (с) чуковский.

пользоваться АА-шными установками неудобно и не получится, потому что при тестировании по ряду тикеров размер капитала на систему разный, в зависимости от риска и эффективности. Так что вариантов кроме как выставить руками в afl я боле не вижу.

На счет JS - был бы очень благодарен за пример, получающий текущий WatchList из АА (с джавой не дружу Sad ).
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Мар 10, 2009 11:10 pm Ответить с цитатой Вернуться к началу

Завтра попробую написать

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


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

СообщениеДобавлено: Чт Мар 12, 2009 1:44 am Ответить с цитатой Вернуться к началу

К сожалению сегодня не получилось. Обязательно постараюсь завтра (в четверг) вечером. Вообще поразмылил на этот счет. Запустить оптимизатор или тестер из скрипта не вопрос (попадались мне примеры). При этом очень просто ему задать на каких символах делать тест и другие установки. Я так понимаю, что при таком задании АА полностью забьет на установки сделанные руками в Ами.
А вот получить из скрипта значения сделанных установок (в часности список тикеров на которых проходит тест) это вопрос.... Положительный результат не гарантирую.

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



Зарегистрирован: 09.06.2008
Сообщения: 65
Откуда: Екатеринбург

СообщениеДобавлено: Чт Мар 12, 2009 3:48 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Запустить оптимизатор или тестер из скрипта не вопрос (попадались мне примеры). При этом очень просто ему задать на каких символах делать тест и другие установки.


если можно - то и это тоже. а результаты сваливаться в репорт будут?
а то меня интересует тестирование "помесячно" для интрадэйных систем. потому как просто тестирование на периоде картины не дает нормальной, период выбираешь "подлинее", в итоге просадка может очень меняться (в начале периода получили хороший плюс, потом еще более хороший минус. Суммарно просадка не более чем -0.х% а реально она для меня тот самый - хороший "-". А максимально плохой трейд - этого мало, интересна череда плохих трэйдов. Вобщем рассматриваем ситуацию когда профит выводится раз в месяц.)

000 писал(а):

А вот получить из скрипта значения сделанных установок (в часности список тикеров на которых проходит тест) это вопрос.... Положительный результат не гарантирую.


ну чтож, попытка не пытка. Если это удастся - я окончательно убедюсь, что в ами можно если не все, то почти все...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Мар 13, 2009 12:32 am Ответить с цитатой Вернуться к началу

pitero писал(а):
000 писал(а):
Запустить оптимизатор или тестер из скрипта не вопрос (попадались мне примеры). При этом очень просто ему задать на каких символах делать тест и другие установки.


если можно - то и это тоже. а результаты сваливаться в репорт будут?
а то меня интересует тестирование "помесячно" для интрадэйных систем. потому как просто тестирование на периоде картины не дает нормальной, период выбираешь "подлинее", в итоге просадка может очень меняться (в начале периода получили хороший плюс, потом еще более хороший минус. Суммарно просадка не более чем -0.х% а реально она для меня тот самый - хороший "-". А максимально плохой трейд - этого мало, интересна череда плохих трэйдов. Вобщем рассматриваем ситуацию когда профит выводится раз в месяц.)

Самый простой пример из хелпера Ами
Код:

/* create AB object */
AB = new ActiveXObject("Broker.Application");

/* retrieve automatic analysis object */
AA = AB.Analysis;

/* load formula from external file */
AA.LoadFormula("afl\\macd_c.afl");

/* optional: load settings. опционально: можно загрузить настройки АА */
// AA.LoadSettings("the_path_to_the_settings_file.abs");

/* setup filters */
/* установка фильтра */
/* backtest over symbols present in market 0 only (zero-based number) */
/* тест символов входящих в маркет 0 */
AA.ClearFilters();
AA.Filter( 0, "market" ) = 0;

// uncomment line below to
// AA.Filter( 1, "market" ) = 2; // exclude 2nd market

/* set apply to and range */
AA.ApplyTo = 2; // use filters
AA.RangeMode = 0; // use all available quotes

/* run backtest and display report */
AA.Backtest();
AA.Report(""); // empty file name means display report


А вот пошаманить на счет получить значение фильтров в АА опять не успел. И завтра тоже не смогу (

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


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

СообщениеДобавлено: Пн Мар 16, 2009 12:35 pm Ответить с цитатой Вернуться к началу

Все оказалось довольно просто
Вот этот код исследования
Код:

Filter = 1;
AB = CreateObject("Broker.Application");
AA = AB.Analysis;
if(AA.ApplyTo == 1)
   AddTextColumn("Только активный символ", "исследуется");
else
   AddTextColumn("не только активный", "исследуется");


легко определяет установлено ли в АА только активный символ (current symbol) или другие установки.

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


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

СообщениеДобавлено: Пн Мар 16, 2009 12:36 pm Ответить с цитатой Вернуться к началу

Соответственно можно прямо в коде задать настройки АА для Apply to:

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



Зарегистрирован: 09.06.2008
Сообщения: 65
Откуда: Екатеринбург

СообщениеДобавлено: Вт Мар 17, 2009 1:02 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Соответственно можно прямо в коде задать настройки АА для Apply to:


это хорошо, спасибо понял где копать (правда в хэлпе нет ничего про ИМЯ группы, но думаю выкручусь) вот только непонятно вот что:
данный код что делает? Инициализирует окно АА ?
я вставил код в afl сижу правлю, а это окно АА у меня вылезает каждые 3 секунды. Sad хоть закрывай хоть убирай на задний план. мож как то можно не открывать его а брать текущее (если оно открыто в данный момент) т.е. искать АА, а если не открыто - то ничего не делать....
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Мар 17, 2009 2:20 pm Ответить с цитатой Вернуться к началу

На счет имени группы не подскажу.
Цитата:

данный код что делает? Инициализирует окно АА ?

Этот код создает объект АА. Вот оно и вылазит. Надо было этот код пихать в АА и использовать в качестве исследования (explore). При переключении Apply to с current symbol на другие установки это сразу видно по таблице результатов исследования.

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



Зарегистрирован: 09.06.2008
Сообщения: 65
Откуда: Екатеринбург

СообщениеДобавлено: Вт Мар 17, 2009 3:25 pm Ответить с цитатой Вернуться к началу

000 писал(а):
На счет имени группы не подскажу.
Цитата:

данный код что делает? Инициализирует окно АА ?

Этот код создает объект АА. Вот оно и вылазит. Надо было этот код пихать в АА и использовать в качестве исследования (explore).


куда пихать? В АА я могу открыть любой индикатор или систему или еще что, лишь бы было написано на языке afl. Я видел что в принципе работает и определяет в explore-, я тока не понял - он новый анализатор открывает что ли (новый АА всегда помнит настройки с какими был закрыт старый АА поэтому корректно все получается) закрыв старый? хм. А найти АА, а не создавать можно?
Посмотреть профиль Отправить личное сообщение
pitero



Зарегистрирован: 09.06.2008
Сообщения: 65
Откуда: Екатеринбург

СообщениеДобавлено: Вт Мар 17, 2009 3:47 pm Ответить с цитатой Вернуться к началу

pitero писал(а):

А найти АА, а не создавать можно?


Вроде нашел решение - может кому пригодится.


AAAction = Status("action");
if(AAAction == actionScan) { /* код если мы сканим*/}
else if (AAAction == actionExplore) { /*код если мы эксплорим*/
Filter = 1;
AB = CreateObject("Broker.Application");
AA = AB.Analysis;
if(AA.ApplyTo == 1)
AddTextColumn("Только активный символ", "исследуется");
else
AddTextColumn("не только активный", "исследуется");
}

ну и аналогично можно прописать для
actionBacktest
actionExOptimizePortfolio

Спасибо, думаю можно вздохнуть спокойно
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Мар 17, 2009 3:54 pm Ответить с цитатой Вернуться к началу

Ничего не понял. Тот код который я дал - это пример. Подобную фигню можно вставить в любой код системы которую тестируешь в АА и тогда появится возможность узнавать настройки АА.

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



Зарегистрирован: 09.06.2008
Сообщения: 65
Откуда: Екатеринбург

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

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

Smile Да все понятно и даже работает. Спасибо.
А чтб понять то что я говорю - вставь код себе в код системы и открой ее в редакторе формул. а потом попробуй что-нибудь в редакторе поделать.
постоянно вылезающий каждые 3 сек. АА заколебет...
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen