
A estratégia baseia-se em um mecanismo de parada de seguimento de cálculo dinâmico, com base no preço máximo e mínimo do preço da ação para definir a posição longa e a posição curta de parada. Quando o preço toca a linha de parada, a posição de liquidação atual e abrir uma nova posição na direção oposta. A estratégia é simples e fácil de entender, pode controlar eficazmente o risco individual.
A estratégia é executada através das seguintes etapas:
A estratégia é baseada na lógica de operação. Quando o preço é executado, a linha de stop-loss é atualizada constantemente, permitindo o acompanhamento dinâmico. Com este método de stop-loss de acompanhamento, é possível controlar efetivamente a perda individual.
A estratégia tem as seguintes vantagens:
Em geral, a estratégia permite a gestão eficaz de posições através de um mecanismo de parada de seguimento simples, uma estratégia típica de gestão de risco.
A estratégia também apresenta alguns riscos que devem ser lembrados:
Para esses riscos, pode ser otimizado por meio de métodos como o ajuste do ciclo de cálculo e a redução apropriada da amplitude do ponto de deslizamento, o que torna a configuração da linha de parada mais razoável.
A estratégia pode ser melhorada em vários aspectos:
A estratégia de negociação permite o gerenciamento dinâmico de posições por meio de um método simples de tracking e stop loss. A estratégia é fácil de entender e implementar, podendo controlar efetivamente a perda individual. Analisamos os benefícios da estratégia, os possíveis riscos e as direções de otimização subsequentes.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=4
strategy(title = "Noro's Trailing-Stop Strategy", shorttitle = "Trailing", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
length = input(20, minval = 1)
shift = input(0.0, minval = 0, title = "Trailing Stop")
background = input(false)
//Levels
max = highest(high, length)
min = lowest(low, length)
//Trailing
size = strategy.position_size
longtrailing = 0.0
shorttrailing = 0.0
longtrailing := size <= 0 ? min - ((min / 100) * shift) : max(min - ((min / 100) * shift), longtrailing[1])
shorttrailing := size >= 0 ? max + ((max / 100) * shift) : min(max + ((max / 100) * shift), shorttrailing[1])
trailing = size <= 0 ? shorttrailing : longtrailing
col = size == size[1] ? size > 0 ? color.red : color.lime : na
plot(trailing, color = col, linewidth = 2, transp = 0)
//Background
bgcol = background ? size > 0 ? color.lime : color.red : na
bgcolor(bgcol, transp = 80)
if trailing > 0 and size <= 0
strategy.entry("Long", strategy.long, needlong ? na : 0, stop = trailing)
if trailing > 0 and size >= 0
strategy.entry("Short", strategy.short, needshort ? na : 0, stop = trailing)