Автор |
Сообщение |
pylyp
Зарегистрирован: 21.09.2012
Сообщения: 80
|
Вопрос: можно ли в результатах тестера увидеть максимальный риск по сделке.
Пример:
1. Есть обычный стоп лосс (напр. ATR(14)*2,5-цена входа=10 пунктов)
2. Покупаю один контракт. Коэф. перерасчета 1:10. соответственно максимальный убыток = 10*10 пунктов=200 рублей
3. Я хочу, чтобы в результатах Automatic Analizer была отдельная колонка Мах риск=200 рублей.
Есть ли такая возможность в АМИ? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Можно.
Проще подобное сделать "исследованием".
Рисуем типа такого кода
Код: |
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
|
Спасибо за ответ.
Вопрос:
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
|
Если написать Filter = 1;
т.е. без фильтра, то в таблице АА будут строки по всем барам. Т.е. даже если на этом баре не было никакого сигнала, все равно строка будет.
А фильтр удаляет не нужные строки.
А что конкретно не правильно рассчитывает твой код? Должно быть все правильно. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
pylyp
Зарегистрирован: 21.09.2012
Сообщения: 80
|
Идея была такова:
1. Контролировать свой изначальный мах риск.
2. Мах риск = стоп лосс
3. Стопп-лосс = (Цена покупки) - (2.5*ATR(14))
4. Нужно увидеть какой изначально мах стоп-лосс у нас был по каждой сделке.
5. В АА выдает просто результаты сделок, но не показывает каков был риск изначально. Мне нужно добавить колонку напротив сделки, сколько пунктов я мог бы потерять изначально. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цитата: |
3. Стопп-лосс = (Цена покупки) - (2.5*ATR(14))
4. Нужно увидеть какой изначально мах стоп-лосс у нас был по каждой сделке.
|
Тогда измени так
Код: |
qqq = BuyPrice - 2.5*ATR(14);
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
pylyp
Зарегистрирован: 21.09.2012
Сообщения: 80
|
Да, так я тоже пробовал. Но оно показывает не риск, а уровень на котором должен сработать стоп-лосс.
Но так себе подумал... и попробовал вот так:
Код: |
qqq = abs(BuyPrice-(BuyPrice-2.5*ATR(14))); |
Вроде сработало. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Странно это.
Раскрываем скобки
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
|
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( );
} |
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
|