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



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

СообщениеДобавлено: Пт Янв 04, 2013 2:16 pm Ответить с цитатой Вернуться к началу

Вопрос: можно ли в результатах тестера увидеть максимальный риск по сделке.

Пример:
1. Есть обычный стоп лосс (напр. ATR(14)*2,5-цена входа=10 пунктов)
2. Покупаю один контракт. Коэф. перерасчета 1:10. соответственно максимальный убыток = 10*10 пунктов=200 рублей
3. Я хочу, чтобы в результатах Automatic Analizer была отдельная колонка Мах риск=200 рублей.

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


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

СообщениеДобавлено: Вс Янв 06, 2013 10:58 am Ответить с цитатой Вернуться к началу

Можно.
Проще подобное сделать "исследованием".
Рисуем типа такого кода
Код:

Buy = ...;
Sell = ...;

ApplyStop(...);

Equity(1);

Filter = Sell;

qqq = ValueWhen(Buy, BuyPrice) - LowestSince(Buy, L);

AddTextColumn("Sell", "Sell");
AddColumn(qqq, "qqq");

И делаем Exploration в АА.

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



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

СообщениеДобавлено: Ср Янв 16, 2013 10:52 am Ответить с цитатой Вернуться к началу

Спасибо за ответ.
Вопрос:
1. В примере, на сколько я понял вычисляется значение (цена покупки - минус самая низкая цена со времени покупки). Мне же нужно рассчитать риск в 2.5*ATR(14)

Тогда я просто вставляю:

Код:

Equity(1);

Filter = Buy;

qqq = 2.5*ATR(14);

AddTextColumn("Buy", "Buy");
AddColumn(qqq, "qqq");


Пробовал вставлял, но рассчитывает неправильное значение

2. A зачем нужно поле Filter= Sell. Интуитивно догадываюсь, чтобы показать какое значение нужно показывать (buy или sell). В helpe такого не нашел (да это ж и не служебное слово).
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Если написать Filter = 1;
т.е. без фильтра, то в таблице АА будут строки по всем барам. Т.е. даже если на этом баре не было никакого сигнала, все равно строка будет.
А фильтр удаляет не нужные строки.
А что конкретно не правильно рассчитывает твой код? Должно быть все правильно.

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



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

СообщениеДобавлено: Ср Янв 16, 2013 1:46 pm Ответить с цитатой Вернуться к началу

Идея была такова:
1. Контролировать свой изначальный мах риск.
2. Мах риск = стоп лосс
3. Стопп-лосс = (Цена покупки) - (2.5*ATR(14))
4. Нужно увидеть какой изначально мах стоп-лосс у нас был по каждой сделке.
5. В АА выдает просто результаты сделок, но не показывает каков был риск изначально. Мне нужно добавить колонку напротив сделки, сколько пунктов я мог бы потерять изначально.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Янв 16, 2013 9:55 pm Ответить с цитатой Вернуться к началу

Цитата:

3. Стопп-лосс = (Цена покупки) - (2.5*ATR(14))
4. Нужно увидеть какой изначально мах стоп-лосс у нас был по каждой сделке.

Тогда измени так
Код:

qqq = BuyPrice - 2.5*ATR(14);

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



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

СообщениеДобавлено: Чт Янв 17, 2013 12:50 am Ответить с цитатой Вернуться к началу

Да, так я тоже пробовал. Но оно показывает не риск, а уровень на котором должен сработать стоп-лосс.

Но так себе подумал... и попробовал вот так:

Код:
qqq = abs(BuyPrice-(BuyPrice-2.5*ATR(14)));


Вроде сработало.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Янв 20, 2013 8:48 am Ответить с цитатой Вернуться к началу

Странно это.
Раскрываем скобки
abs(BuyPrice-(BuyPrice-2.5*ATR(14))) = abs(BuyPrice-BuyPrice+2.5*ATR(14)) = abs(2.5*ATR(14)

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



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

СообщениеДобавлено: Вт Янв 07, 2014 4:11 pm Ответить с цитатой Вернуться к началу

pylyp писал(а):
Вопрос: можно ли в результатах тестера увидеть максимальный риск по сделке.

Пример:
1. Есть обычный стоп лосс (напр. ATR(14)*2,5-цена входа=10 пунктов)
2. Покупаю один контракт. Коэф. перерасчета 1:10. соответственно максимальный убыток = 10*10 пунктов=200 рублей
3. Я хочу, чтобы в результатах Automatic Analizer была отдельная колонка Мах риск=200 рублей.

Есть ли такая возможность в АМИ?


google AmiBroker Custom Backtest Interface

Код:
StaticVarSet( Name() + "ATR", ATR( 14 ) * 2.5 );

SetCustomBacktestProc( "" );

if ( Status( "action" ) == actionPortfolio )
{
    bo = GetBacktesterObject();
    bo.Backtest( True );

    for ( trade = bo.GetFirstTrade( ); trade; trade = bo.GetNextTrade( ) )
    {
        foreignATR = StaticVarGet( trade.Symbol + "ATR" );

        trade.AddCustomMetric( "Entry ATR", Lookup( foreignATR, trade.EntryDateTime ) );
    }

    bo.ListTrades( );
}
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen