Автор |
Сообщение |
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
Нарыл в сети такую формулу:
Код: |
SAR(n+1) = SAR(n) + AF * (EP – SAR(n)) |
И описание к ней:
Цитата: |
где SAR(n+1) – значение индикатора завтрашнего дня, SAR(n) – значение индикатора текущего дня, AF – фактор ускорения и EP – последняя зафиксированная точка экстремума. |
Я так понимаю, что в Ами SAR не заглядывает в будущее, но даже при этом я не понимаю что за "EP – последняя зафиксированная точка экстремума"??
Может кто написать формулу SARы сразу на ами языке, я бы так быстрее понял. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Там пипец какая навороченная формула. Я однажды писал, задолбался. А сейчас найти не могу... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
000 писал(а): |
Там пипец какая навороченная формула. Я однажды писал, задолбался. А сейчас найти не могу... |
Чо, серьёзно? И всё упирается в этот EP? Просто всё остальное то вроде проще простого... Этот EP нигде не расписан... видимо по этому.
Ну хорошо, даже не видя той формулы, Олег, подскажи, не заглядывает ли он в будущее у Ами (как его задумывал автор) и в какой момент i-бара, будет известен i-SAR? На закрытии?
А было бы интересно посчитать его в оригинале, с прицелом смотреть завтрашний SAR =) |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В будущее не заглядывает.
Текущее значение параболика известно с прошлого бара. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
000 писал(а): |
В будущее не заглядывает.
Текущее значение параболика известно с прошлого бара. |
Т.е. сегодняшний SAR был известен ещё вчера? хы)) Ладно, главное что брать Ref() нет смысла, я правильно понял? |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Совершенно верно. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
000 писал(а): |
Совершенно верно. |
И всё-таки результат мне не нравится, он фантастический, я такие "граали" видал, когда покупал ниже лоу дня или продавал выше хая.
Если я использую в системе открытие свечи, могу я на открытии свечи уже пользоваться сегодняшним SARом?
Были бы торги уже глянул бы на минутках-пятиминутках Квика... |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
SAR не поменяется если только не произойдет реверс. Скорее всего Ты совершаешь сделку на открытии а при этом на истории уже известно, что на этой свечке был реверс. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
000 писал(а): |
SAR не поменяется если только не произойдет реверс. Скорее всего Ты совершаешь сделку на открытии а при этом на истории уже известно, что на этой свечке был реверс. |
я так и думал, поэтому было бы полезно знать формулу... |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Sergiovy
Зарегистрирован: 03.03.2008
Сообщения: 180
Откуда: Мурманск
|
kosbar писал(а): |
000 писал(а): |
SAR не поменяется если только не произойдет реверс. Скорее всего Ты совершаешь сделку на открытии а при этом на истории уже известно, что на этой свечке был реверс. |
я так и думал, поэтому было бы полезно знать формулу... |
Может конечно чего то не догоняю...
Расчет индикатора параболик (Parabolic SAR):
Индикатор Stop and Reverse Parabolic Time System (Wilder J. Wells) предназначается для открытия, удержания и выхода из позиции при игре на трендовом рынке. В любой момент времени можно определить значение цены Stop с помощью линии SAR по следующей формуле:
SAR(t) = SAR(t-1) + K(t)* [X(t) – SAR(t-1)]
Здесь переменные t и t-1 представляют собой текущий и предыдущий моменты времени соответственно, а X(t) представляет собой экстремальное значение цены на интервале, в течение которого значение индикатора изменяется в заданном направлении. Другими словами X(t) равно
X(t) = Minimum [Price(t)]
В случае же игры на понижение наибольшей цене соответствует X(t) = Maximum [Price(t)].
Скорость перемещения стопа изменяется с течением времени согласно следующей формуле:
K(t) = Step + (n-1)* Step
K(t)<=Maximum
Стандартные параметры:
Step = 2% и Maximum = 10*Step
http://lib.stepenko.com/articles-analythis-technical/230-parabolik-sar.html |
_________________ "Единственная pабота, достойная нас, — pабота над собой". Шон де Уоppен |
|
Посмотреть профиль Отправить личное сообщение |
|
Teema
Зарегистрирован: 01.04.2009
Сообщения: 184
|
Код: |
/////////////////////////////////
// Parabolic SAR re-implemented in
// native AFL.
//
// Example of for/if/else control statements
//
// Requires:
// AmiBroker 4.31.1
//
// Written by: Tomasz Janeczko
SetBarsRequired(300000,30000);
SetChartOptions(0,chartShowArrows|chartShowDates);
SetPositionSize(50, spsPercentOfEquity);// % эквити
SetPositionSize(1, 4);
IAF = 0.01; // acceleration factor
MaxAF = 0.2; // max acceleration
psar = Close; // initialize
long = 1; // assume long for initial conditions
af = IAF; // init acelleration factor
ep = Low[ 0 ]; // init extreme point
hp = High [ 0 ];
lp = Low [ 0 ];
price=Close;
for( i = 2; i < BarCount; i++ )
{
if ( long )
{
psar [ i ] = psar [ i-1 ] + af * ( hp - psar [ i-1 ] );
}
else
{
psar [ i ] = psar [ i-1 ] + af * ( lp - psar [ i-1 ] );
}
reverse = 0;
//check for reversal
if ( long )
{
if ( Low [ i ] < psar [ i ] )
{
price[i]=psar [ i ]; //ЭТО ЦЕНА!!!!!
long = 0; reverse = 1; // reverse position to Short
psar [ i ] = hp; // SAR is High point in prev trade
lp = Low [ i ];
af = IAF;
}
}
else
{
if ( High [ i ] > psar [ i ] )
{
price[i]=psar [ i ]; //ЭТО ЦЕНА!!!!!
long = 1; reverse = 1; //reverse position to long
psar [ i ] = lp;
hp = High [ i ];
af = IAF;
}
}
if ( reverse == 0 )
{
if ( long )
{
if ( High [ i ] > hp )
{
hp = High [ i ];
af = af + IAF;
if( af > MaxAF ) af = MaxAF;
}
if( Low[ i - 1 ] < psar[ i ] ) psar[ i ] = Low[ i - 1 ];
if( Low[ i - 2 ] < psar[ i ] ) psar[ i ] = Low[ i - 2 ];
}
else
{
if ( Low [ i ] < lp )
{
lp = Low [ i ];
af = af + IAF;
if( af > MaxAF ) af = MaxAF;
}
if( High[ i - 1 ] > psar[ i ] ) psar[ i ] = High[ i - 1 ];
if( High[ i - 2 ] > psar[ i ] ) psar[ i ] = High[ i - 2 ];
}
}
}
Plot( Close, "Price", colorBlack, styleBar );
Plot( psar, "SAR", colorRed, styleDots | styleNoLine | styleThick );
Plot( price, "price", 5, styleThick );
Buy = Ref(C,-1)<Ref(psar,-1) AND O>psar;
BuyPrice = Max(O,price);
Sell= Ref(C,-1)>Ref(psar,-1) AND O<psar;
SellPrice = Min(O,price);
Short = Ref(C,-1)>Ref(psar,-1) AND O<psar;
ShortPrice = Min(O,price);
Cover = Ref(C,-1)<Ref(psar,-1) AND O>psar;
CoverPrice = Max(O,price);
Buy = ExRem( Buy, Sell );
Sell = ExRem( Sell, Buy );
Short = ExRem (Short, Cover);
Cover = ExRem (Cover, Short);
Equity(1);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorGreen, 0,L, Offset=-15);
PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorOrange, 0,H, Offset=-25);
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorBlack, 0,H, Offset=-15);
PlotShapes(IIf(Cover, shapeUpArrow, shapeNone),colorBlue, 0,L, Offset=-25); |
SAR система. Индикатор лень выделять.
Делал чтобы точно цену реверса определять. Если что не так, пишите. |
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Teema
Зарегистрирован: 01.04.2009
Сообщения: 184
|
У меня что-то формулы стали странным шрифтом прописыватья в форуме. Сообщение сделал, и сам прочитать не могу.
И на Hotmail с форума сообщения в виде кракозябликов приходят. Это из-за чего может быть? Уменя каких-то шрифтов нет? |
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Teema
Зарегистрирован: 01.04.2009
Сообщения: 184
|
kosbar писал(а): |
000 писал(а): |
В будущее не заглядывает.
Текущее значение параболика известно с прошлого бара. |
Т.е. сегодняшний SAR был известен ещё вчера? хы)) Ладно, главное что брать Ref() нет смысла, я правильно понял? |
Вот и у меня криво сделано , но цену сделок нормально считает.
Если можно по другому, то как? H>price; ? |
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
comatose
Зарегистрирован: 26.07.2010
Сообщения: 4
|
EP - это экстремальная цена в течение сделки
если мы в лонге (sar ниже цены) - это max high в течение этого лонга;
если в шорте (sar выше цены) - min low в течение шорта |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|