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



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

СообщениеДобавлено: Вт Апр 13, 2010 11:17 pm Ответить с цитатой Вернуться к началу

вот у меня есть 3 стратегии.
по сигналам buy, sell, short, cover
а также используются 2 ApplyStop

как мне их протестировать все одновременно, распределив каждой по трети депо?


и узнать совместную эквити и массив сделок

вообще, массив выполненных сделок в ами куда записывается?
(Buy, Sell, Short, Cover - это он и есть?)

----
осложняется ситуэйшн ещё в том, что
у меня каждая стратегия работает на своём графике, но не на своём тикере!

сделал я это так:
O = Oo;
C = Cc;
H = Hh;
L = Ll;


сделано это для того, чтобы ApplyStop брал цены, которые мне нужны, а не которые он хочет.

---
чего я боюсь от совмещения стратегий -
вот, предположим, мы вошли по сигналу в сделку по 1 стратегии, а потом по 2 стратегии.
а потом у нас ApplyStop.

не вырубит ли ApplyStop всю позу целиком, (а нужно только по 1 стратегии)?

ну и далее,
у нас включено Equity(1)
а это значит, что сигналы с ApplyStop записываются в основные сигналы.
не повлияют ли в таком случае сигналы с одной стратегии на сигналы другой стратегии?

буду рад разьяснению =)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Апр 13, 2010 11:49 pm Ответить с цитатой Вернуться к началу

В общих словах..
Каждая система должна тестироваться на своей "бумаге" даже если содержимое этих бумаг одинаковое.
Просто гоняешь код в портфельном тестере. Это для того, чтобы сигналы разных стратегий не мешали друг другу.
Цитата:
распределив каждой по трети депо?

Сайз при этом задаешь функцией SetPositionSize();

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



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

СообщениеДобавлено: Ср Апр 14, 2010 12:01 am Ответить с цитатой Вернуться к началу

ну вот у меня есть описание каждой стратегии в AFL

тикеров такого количества пока нет, но я их создаю.

итого у меня три тикера и три файла AFL со стратегиями.

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


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

СообщениеДобавлено: Ср Апр 14, 2010 12:23 am Ответить с цитатой Вернуться к началу

А надо создать один AFL со всеми тремя стратегиями примерно такого вида
Код:

if(Name() == "TICKER1")
{
  // стратегия 1
}
else if(Name() == "TICKER2")
{
  // стратегия 2
}
...

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



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

СообщениеДобавлено: Ср Апр 14, 2010 12:49 am Ответить с цитатой Вернуться к началу

спасибо огромное !

да действительно решение очень простое,
и чего я мучился... =)
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Ср Апр 14, 2010 3:56 pm Ответить с цитатой Вернуться к началу

кстати, а что,
Buy, Sell в процедуру не запихать?
тестер пишет... missing buy/sell variable assignments

прога такая:

if(Name() == "TICKER1")
{
// стратегия 1
strategy1();
}
else if(Name() == "TICKER2")
{
// стратегия 2
strategy2();
}

где strategy1 и strategy2 - это процедуры
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Апр 14, 2010 4:53 pm Ответить с цитатой Вернуться к началу

Напиши пред первым if
Buy = 0;
Sell = 0;

Просто если вдруг символ не равен ни одному из перечисленных в If, то AFL как бы нет Buy и Sell. Вот поэтому и ругается.

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



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

СообщениеДобавлено: Ср Апр 14, 2010 4:57 pm Ответить с цитатой Вернуться к началу

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


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

СообщениеДобавлено: Ср Апр 14, 2010 5:13 pm Ответить с цитатой Вернуться к началу

А если не меняя настроек тестера запихать туда одну из стратегий (её тоже не менять), то сделки будут?
Только ничего не менять. Совсем ничего.

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



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

СообщениеДобавлено: Ср Апр 14, 2010 5:20 pm Ответить с цитатой Вернуться к началу

ну вот самый простой пример:
когда текст из процедуры просто ставим в if
всё ок,
а когда только вызов поцедуры, то нет.
такое ощущение, что изменения Buy и Sell в процедуре игнорируются

procedure Strategy(n)
{
Buy = C > MA(C, n);
Sell = C < MA(C, n);
}

Buy = 0;
Sell = 0;
if(Name() == "TICKER1")
{
n = 10;
Strategy(n);
Buy = C > MA(C, n);
Sell = C < MA(C, n);


}
else if(Name() == "TICKER2")
{
n = 5;
Strategy(n);
}
else if(Name() == "TICKER3")
{
n = 7;
Strategy(n);
}
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Ср Апр 14, 2010 5:27 pm Ответить с цитатой Вернуться к началу

так. .. идея, а если бай-селл обнулить перед объявлением процедуры?
а то может он их локальными считает, раз они впервые появляются в процедуре?
(хотя это бред)
Посмотреть профиль Отправить личное сообщение
Novi4ok



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

СообщениеДобавлено: Ср Апр 14, 2010 5:28 pm Ответить с цитатой Вернуться к началу

вау... кажется заработало!
ща ещё раз проверю...
Посмотреть профиль Отправить личное сообщение
fantomas



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

СообщениеДобавлено: Вс Июн 06, 2010 2:34 pm Ответить с цитатой Вернуться к началу

000 писал(а):
А надо создать один AFL со всеми тремя стратегиями примерно такого вида
Код:

if(Name() == "TICKER1")
{
  // стратегия 1
}
else if(Name() == "TICKER2")
{
  // стратегия 2
}
...



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


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

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

Запросто.
Как это сделать на форуме обсуждалось. Или можно посмотреть вот тут http://heaventrading.wordpress.com/category/amibroker/
Мультисистемный тестер

Только там очень геморойный метод используется для создания клонов. Можно гораздо проще.

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



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

СообщениеДобавлено: Вт Янв 04, 2011 1:02 am Ответить с цитатой Вернуться к началу

000 писал(а):
Запросто.
Как это сделать на форуме обсуждалось. Или можно посмотреть вот тут http://heaventrading.wordpress.com/category/amibroker/
Мультисистемный тестер

Только там очень геморойный метод используется для создания клонов. Можно гораздо проще.

Если там геморойный, то пожалуйста здесь скажите - как можно самым простым способом оценить портфель из трех систем, торгующих на одном инструменте?

(можно ли настроить всё так, что бы торговля велась будто с трех разных счетов - тогда входы в шорт одной системы не выбивали бы лонги других).

Заранее спасибо.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen