
A ideia central desta estratégia é ajustar o tamanho da posição de cada transação de acordo com a dinâmica dos direitos e interesses da conta. Pode aumentar automaticamente a posição quando está em lucro e reduzir automaticamente a posição quando está em prejuízo, aumentando automaticamente o efeito de recuperação.
A estratégia permite o ajuste dinâmico de posições através dos seguintes passos-chave:
As etapas acima garantem a racionalidade do tamanho da posição, evitando o risco causado pelo excesso de posições, e, ao mesmo tempo, permitem que o tamanho da posição esteja vinculado aos direitos e interesses da conta, aumentando automaticamente com o lucro.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
Os riscos acima mencionados podem ser mitigados por meio de parâmetros razoáveis e de reservas adequadas.
A estratégia também pode ser melhorada nos seguintes aspectos:
Otimizando os pontos acima, pode-se tornar o comportamento da estratégia mais estável e controlado, evitando que o tamanho da posição seja sensível e frequente.
Esta estratégia implementa a função de ajuste dinâmico da posição baseada nos direitos e interesses da conta, o que aumenta automaticamente o efeito do lucro. Ela define a alavancagem e a posição máxima como controle de risco, e a lógica é simples e clara, fácil de entender e desenvolver em segundo lugar. Também analisamos os pontos positivos e negativos da estratégia e os riscos e damos algumas recomendações de otimizaçã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)