Setup Preço de Fechamento de Reversão - Stormer

Actualizado

Fala galera!!

Hoje iremos analisar o funcionamento do Setup Preço de Fechamento de Reversão.

O setup preço de fechamento de reversão (PFR) é uma estratégia desenvolvida pelo Trader brasileiro Alexandre Wolwacz, mas conhecido como Stormer do mercado.

Este setup configura uma reversão de tendência e possui as seguintes regras de construção;

Quando a mínima do candle atual for menor do que a mínima dos dois últimos candles prévios e o fechamento do candle atual for maior do que o fechamento do candle anterior, tem-se o padrão de formação do setup. Como mostra a imagem abaixo.

imagen

O stop pode ser calculado de duas maneiras:

1 - Na mínima do candle atual - Com esse stop fica mais fácil de ser violinado. Porém, é um stop mais conservador.

2 - Calculando a projeção do candle anterior uma vez para baixo / duas vezes para baixo (este é o stop utilizado nessa estratégia). Este stop é mais agressivo. Porém, violina menos.

O alvo fica sendo duas vezes o risco ou duas vezes o tamanho do candle anterior.

Como filtro utilizamos nesse post a média móvel aritmética de vinte períodos. Mas, pode utilizar também, como filtro, o estocástico lento, o IFR ou outro oscilador de preferência.

Vejam no gráfico a baixo como foi a curva de capital na ação TRPL4.

Disclaimer: Esta estratégia não configura garantia de rentabilidade. Utilize-o este posta para fins de estudo e testes.


Boas operações.
Nota
Segue o script desta estratégia.

//version=5

strategy('PFR', overlay=true)


var candle = 0

var tamanho = 0.00

var alvo = 0.00

var stop = 0.00

var quantidadeAcoes = 0.0


condicoes_de_compra = close > close[1] and ta.lowest(low, 2) < ta.lowest(low, 2)[1] and close > ta.sma(close, 20)

condicoes_de_venda = close < close[1] and ta.highest(high, 2) > ta.highest(high, 2)[1] and close < ta.sma(close, 20)



strategy.cancel('entrada_na_compra')

strategy.cancel('entrada_na_venda')



if strategy.position_size == 0

candle := 0

quantidadeAcoes := math.round(100000 / close / 100)

if condicoes_de_compra

strategy.entry('entrada_na_compra', strategy.long, qty=quantidadeAcoes * 100, stop=high)

// if (condicoes_de_venda)

// strategy.entry("entrada_na_venda", false, qty = quantidadeAcoes*100, stop = low)



if strategy.position_size > 0

candle += 1

tamanho := high[candle] - low[candle]

alvo := tamanho * 2 + high[candle] // Esse é o seu alvo

stop := math.abs(tamanho * 2 - low[candle]) // Esse é o seu stop



strategy.exit('saída_da_compra', 'entrada_na_compra', qty=quantidadeAcoes * 100, limit=alvo, stop=stop)



if strategy.position_size < 0

candle += 1

tamanho := high[candle] - low[candle]

alvo := math.abs(tamanho * 2 - low[candle]) // Esse é o seu alvo

stop := tamanho * 2 + high[candle] // Esse é o seu stop



strategy.exit('saída_da_venda', 'entrada_na_venda', qty=quantidadeAcoes * 100, limit=alvo, stop=stop)



plot(ta.sma(close, 20))
Nota
Código para versão 4 Pine (evita alguns erros da versão 5).

//version=4

strategy("PRF", overlay = true)


var candle = 0

var tamanho = 0.00

var alvo = 0.00

var stop = 0.00

var quantidadeAcoes = 0.0

//É só colocar aqui as suas condições de compra e venda

condicoes_de_compra = (close > close[1]) and (lowest(low,2)<lowest(low,2)[1])and (close>sma(close,20))

condicoes_de_venda = (close < close[1]) and (highest(high,2)>highest(high,2)[1]) and (close<sma(close,20))



strategy.cancel("entrada_na_compra")

strategy.cancel("entrada_na_venda")


if (strategy.position_size==0)

candle:=0

quantidadeAcoes:=round((100000/close)/100)

if (condicoes_de_compra)

strategy.entry("entrada_na_compra", true, qty = quantidadeAcoes*100, stop = high)

// if (condicoes_de_venda)

// strategy.entry("entrada_na_venda", false, qty = quantidadeAcoes*100, stop = low)


if (strategy.position_size>0)

candle := candle + 1

tamanho := high[candle] - low[candle]

alvo := (tamanho * 2) + high[candle] // Esse é o seu alvo

stop := abs( (tamanho * 2) - low[candle] )// Esse é o seu stop

//Abaixo temos o envio da ordem contendo definição do alvo e stop

strategy.exit("saída_da_compra", "entrada_na_compra", qty = quantidadeAcoes*100, limit = alvo, stop = stop)


if (strategy.position_size<0)

candle := candle + 1

tamanho := high[candle] - low[candle]

alvo := abs( ( tamanho * 2 ) - low[candle] ) // Esse é o seu alvo

stop := ( tamanho * 2 ) + high[candle] // Esse é o seu stop

//Envio da ordem contendo o alvo e o stop

strategy.exit("saída_da_venda", "entrada_na_venda", qty = quantidadeAcoes*100, limit = alvo, stop = stop)



plot(sma(close,20))
Beyond Technical AnalysisHarmonic PatternsPFRstormerTrend Analysis

También en:

Publicaciones relacionadas

Exención de responsabilidad