A ideia central desta estratégia é ajustar dinamicamente o tamanho da posição de cada negociação com base no patrimônio da conta. Pode aumentar automaticamente o tamanho da posição quando lucrativo e diminuir o tamanho da posição quando perdendo, alcançando assim o efeito de alavancagem automática da composição.
A estratégia permite o dimensionamento dinâmico das posições através das seguintes etapas-chave:
As etapas acima garantem um dimensionamento razoável das posições, evitando riscos de alavancagem excessiva, ao mesmo tempo em que ligam o tamanho ao capital próprio para alcançar a autocompounding à medida que os lucros aumentam.
A estratégia apresenta as seguintes vantagens:
Há também alguns riscos:
Os riscos podem ser mitigados através de configurações prudentes de parâmetros, amortização de capital, etc.
A estratégia pode ser reforçada das seguintes formas:
As melhorias acima podem tornar o comportamento da estratégia mais estável e controlável, evitando sensibilidade e mudanças frequentes no tamanho da posição.
A estratégia alcança o dimensionamento dinâmico da posição baseado em ações para aumentar automaticamente os lucros. Ela define alavancagem e tamanho máximo como controles de risco, com lógica simples e clara para facilidade de compreensão e personalização.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of Tendies Heist LLC, 2021 //@version=4 strategy("Tendies Heist Auto Compounding Example", overlay=true) leverage = input(10000) maxps = input(25, "max position size") strategy.risk.max_position_size(maxps) balance = max(1,floor(strategy.equity / leverage)) o = 1 ps = true size = 0. balance2 = size[1] < balance balance3 = size[1] > balance l = balance3 w = balance2 if ps size := w ? size[1]+o : l ? size[1]-o : nz(size[1],o) if size > maxps size := maxps longCondition = crossover(sma(close, 14), sma(close, 28)) if (longCondition) strategy.entry("My Long Entry Id", strategy.long,qty=size) shortCondition = crossunder(sma(close, 14), sma(close, 28)) if (shortCondition) strategy.entry("My Short Entry Id", strategy.short,qty=size)