
Эта стратегия основана на высоких, низких ценах и устойчивых позициях поддержки, рассчитанных по цене закрытия в предыдущий торговый день, и используется для ведения длинных или коротких позиций в текущий торговый день. Когда цена преодолевает верхнюю устойчивую точку R1, она делает больше; когда цена падает ниже нижней устойчивой точки 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)))
possig записывает фактическое направление сделки. Если открыть обратную торговлю reverse=true, то торговый сигнал будет отменен.
Согласно сигналу POSSIG, при прорыве vR1 делать больше, при прорыве vS1 делать пусто.
Решение риска:
Эта стратегия основана на динамических показателях поддержки и сопротивления, в соответствии с которыми проводится удержание позиций в направлении ценового прорыва. Идея стратегии проста, легко понятна и реализуема, она может эффективно улавливать переломные моменты тенденции. Но также существует определенный риск, который требует дальнейшей оптимизации в сочетании с другими показателями, чтобы сделать торговые сигналы более точными и надежными.
//@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)