
Esta estratégia baseia-se no preço máximo, mínimo e nível de resistência de suporte calculado no preço de fechamento do dia de negociação anterior, para operar em posições longas ou curtas no dia de negociação atual. Faça mais quando o preço quebra o nível de resistência superior R1; e faça um vazio quando o preço cai abaixo do nível de suporte inferior S1.
vPP = (xHigh+xLow+xClose) / 3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
pos = iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0)))
O possig registra a direção da negociação real. Se a negociação inversa for aberta, o sinal de negociação é revertido.
De acordo com o sinal de possig, faça mais ao romper vR1 e faça vazio ao romper vS1.
A solução para o risco:
Esta estratégia é baseada em indicadores de resistência de suporte dinâmico, em função da direção da ruptura do preço. A estratégia é simples, fácil de entender e implementar, capaz de capturar efetivamente os pontos de inflexão da tendência. Mas também existe um certo risco, que precisa de ser ainda mais otimizado em combinação com outros indicadores, para tornar o sinal de negociação mais preciso e confiável.
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/06/2018
// This Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and
// divided by 3 to find the pivot. From this pivot, traders would then base their
// calculations for three support, and three resistance levels. The calculation for the most
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and
// resistance levels.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Dynamic Pivot Point Backtest", shorttitle="Dynamic Pivot Point", overlay = true)
reverse = input(false, title="Trade reverse")
xHigh = request.security(syminfo.tickerid,"D", high[1])
xLow = request.security(syminfo.tickerid,"D", low[1])
xClose = request.security(syminfo.tickerid,"D", close[1])
vPP = (xHigh+xLow+xClose) / 3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
pos = iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(vS1, color=#ff0000, title="S1", style = circles, linewidth = 1)
plot(vR1, color=#009600, title="R1", style = circles, linewidth = 1)