calculate parabolic SAR

Versión 1.0.0.0 (3,13 KB) por natanel
calculate Parabolic SAR (SAR - stop and reverse)
862 Descargas
Actualizado 5 nov 2012

Ver licencia

PARABOLICSAR - calculated parabolic SAR for specific hugh and low

INPUT:
high - high values vector
low - low values vector
AFstart - start value for Wilderes acceleration factor (typical 0.02)
AFmax - max value for Wilderes acceleration factor (typical 0.2)
AFdelta - delta value for Wilderes acceleration factor (typical 0.02)

OUTPUT:
SAR - output vector of parabolc SAR
turnPoints - turn places in SAR vector
longSort - long=1, sort=-1

EXAMPLE:
% read JNJ stock data
url2Read = 'http://ichart.finance.yahoo.com/table.csv?s=JNJ&a=0&b=12&c=2006&d=9&e=23&f=2007&g=w&ignore=.csv';
s=urlread( url2Read);
% changing the format of s f
s=strread(s,'%s','delimiter',',');
s=reshape(s,[],length(s)/7)';
% calc SAR
dateNum = datenum(s(2:end,1));
open = str2double(s(2:end,2));
high = str2double(s(2:end,3));
low = str2double(s(2:end,4));
close = str2double(s(2:end,5));
[SAR,turnPoints,longSort]=parabolicSAR( high,low);

% plot
figure(1)
title('parabolic SAR: JNJ');
xlabel('date');
ylabel('price');

ylim = [min(high) max(high)];
set( gca,'ylim',ylim);

hold on;
% plot stock;
plot(dateNum,high,'b','LineWidth',2);
% plot turn points
line([dateNum(turnPoints) dateNum(turnPoints)]', [ ones(length(turnPoints),1)*ylim ]','Color',[0 0 0]);

% plot SAR long in green
index=find(longSort==1);
plot(dateNum(index),SAR(index),'.g');
% plot SAR short in red
index=find(longSort==-1);
plot(dateNum(index),SAR(index),'.r');
hold off;
legend('stock','turn points');
datetick(gca,'x',20);

INFO:
The parabolic study is a “true reversal” indicator in that it is always in the market. Whenever a position is closed-out, it is also reversed. T
he point at which a position is reversed is called a Stop and Reverse (SAR). A
lthough stops are plotted for each bar, a trade is reversed only when the SAR is penetrated by a price.

Formula:
SARt+1=SARt+AF*(EPtrade-SARt)

Where:
SARt+1 = next periods SAR
SARt = current SAR
AF = begins at .02 and increases by .02 to a maximum of .20
EP = extreme price (high if long; low if short)

The initial SAR or SIP (SAR Initial Point) of a long move is found by looking for the first bar with a higher high and a higher low than the previous bar.
The converse of this is used to find the SIP for a short move.
The acceleration factor changes as the trade progresses, starting at .02 and increasing in increments of .02 for each bar in which a new extreme occurs.

see, J. Welles Wilder, Jr., New Concepts in Technical Trading Systems, McLeansville, NC: Trend Research, 1978, pp. 9-22.

$License: BSD (use/copy/change/redistribute on own risk, mention the
author) $
History:
001: 01-May-2006 ,Natanel Eizenberg, First version.
002: 04-Nov-2012, Natanel Eizenberg, prepare for file exchange

Citar como

natanel (2025). calculate parabolic SAR (https://la.mathworks.com/matlabcentral/fileexchange/38906-calculate-parabolic-sar), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2006b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Transaction Cost Analysis en Help Center y MATLAB Answers.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
1.0.0.0