
Esta estratégia baseia-se no indicador de ultra-trend para julgar o ponto de entrada, fazendo um extra de folga quando o indicador se inverte. Ao mesmo tempo, configura-se três pedidos de parada de diferentes proporções, fixando os pontos de parada de 2%, 5% e 10%, respectivamente, para bloquear diferentes níveis de lucro.
A estratégia usa o indicador de tendência ultra para determinar a tendência. O indicador de tendência ultra baseia-se na amplitude real média e em um fator multiplicador. Quando o preço ultrapassa a trajetória, ele é sobrecomprado, e quando o preço cai na trajetória, ele é sobrevendido.
Especificamente, quando o indicador de tendência ultra variação menor do que 0, ou seja, o indicador de inverter de cima para baixo, formando um sinal de fazer mais; quando o indicador de tendência ultra variação maior do que 0, ou seja, o indicador de inverter de baixo para cima, formando um sinal de fechar. Depois de receber um sinal de fazer mais ou fechar, registrar o preço de entrada, e a entrada de entrada.
A estratégia estabelece três pedidos de parada em diferentes proporções, com preços de parada de 1,02x, 1,05x e 1,10x o preço de entrada, correspondendo a um limite fixo de 2%, 5% e 10% de lucro. As proporções de mão dos três pedidos de parada são definidas como 25%, 50% e 25%, respectivamente. Após receber o sinal de abertura de posição, a estratégia coloca os três pedidos de parada simultaneamente, com a intenção de bloquear diferentes níveis de lucro.
A estratégia tem as seguintes vantagens:
O uso de indicadores de tendência ultra para julgar a entrada, pode efetivamente capturar o ponto de reversão da tendência, com precisão para fazer mais vazio.
Configure várias proporções de stop order para bloquear diferentes níveis de lucro e reduzir a retração.
A configuração de stop-loss é conservadora, com lucros-alvo de 2%, 5% e 10%, evitando a expansão dos prejuízos causados pela busca de lucros excessivos.
A lógica da estratégia é simples e clara, fácil de entender e modificar, adequada para iniciantes em negociação quantitativa.
A estratégia também apresenta alguns riscos:
O indicador de supertrend está mal definido, podendo perder o ponto de reversão da tendência, resultando em uma entrada imprecisa.
A configuração do ponto de parada é conservadora e pode perder a oportunidade de continuar a operar com mais lucro.
O evento de abrupção leva a um rápido salto de altura ou interrupção, e o indicador de tendência ultrapassada não reage, causando a ação de parada.
A estratégia não tem nenhuma condição de stop loss, existindo um risco de perdas ilimitadas.
A estratégia também pode ser melhorada nos seguintes aspectos:
Testar diferentes parâmetros de indicadores de tendência ultra para otimizar a sensibilidade dos indicadores.
Aumentar as condições de stop loss, definir o máximo de perdas suportadas e controlar os riscos.
Adapte a proporção e o número de paradas de acordo com a variedade e o ciclo de negociação.
Adicionar filtros de outros indicadores para evitar a abertura de posições em situações de turbulência.
Optimizar a utilização dos fundos e reduzir o risco individual, ajustando a estratégia de volume de transação padrão.
A estratégia é simples e prática como um todo. Ela usa indicadores de tendência ultra para determinar o momento de entrada e, em seguida, usa vários cartões de parada para bloquear os lucros e controlar eficazmente o risco. Mas também há lugares na estratégia que podem ser melhorados, como a configuração de stop loss, parâmetros de otimização, etc., que fornecem orientação para melhorias futuras.
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy( "Supertrend with TP", overlay=true )
// Supertrend Settings
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)
// TP's
tp1Open = input.bool(true, "TP1")
tp1 = input.float(2.0, "TP Level (%)", step = 0.1) / 100
tp1Amount = input.int(25, "Amount (%)", step = 1)
tp2Open = input.bool(true, "TP2")
tp2 = input.float(5.0, "TP Level (%)", step = 0.1) / 100
tp2Amount = input.int(50, "Amount (%)", step = 1)
tp3Open = input.bool(true, "TP3")
tp3 = input.float(10.0, "TP Level (%)", step = 0.1) / 100
tp3Amount = input.int(25, "Amount (%)", step = 1)
[_, direction] = ta.supertrend(factor, atrPeriod)
entryPrice = 0.0
entryPrice := entryPrice[1]
if ta.change(direction) < 0
strategy.entry("Long", strategy.long)
entryPrice := close
if ta.change(direction) > 0
strategy.entry("Short", strategy.short)
entryPrice := close
if (tp1Open)
strategy.exit ("TP1", from_entry="Long", limit=entryPrice * (1 + tp1), qty_percent=tp1Amount)
strategy.exit ("TP1", from_entry="Short", limit=entryPrice * (1 - tp1), qty_percent=tp1Amount)
if (tp2Open)
strategy.exit ("TP2", from_entry="Long", limit=entryPrice * (1 + tp2), qty_percent=tp2Amount)
strategy.exit ("TP2", from_entry="Short", limit=entryPrice * (1 - tp2), qty_percent=tp2Amount)
if (tp3Open)
strategy.exit ("TP3", from_entry="Long", limit=entryPrice * (1 + tp3), qty_percent=tp3Amount)
strategy.exit ("TP3", from_entry="Short", limit=entryPrice * (1 - tp3), qty_percent=tp3Amount)