
A estratégia de retorno de ruptura é uma estratégia de acompanhamento de tendências. O princípio básico é fazer mais curto prazo quando o preço mais alto ou mais baixo da linha K anterior é quebrado, e deixar que o lucro continue a funcionar depois de definir o stop loss.
A estratégia determina o momento de entrada julgando se o preço quebra o máximo ou o mínimo da linha K anterior. A lógica específica é:
Se o valor máximo da linha K atual for maior que o valor máximo da linha K anterior, será emitido um sinal de multiplicação.
Se o valor mínimo da linha K atual for inferior ao valor mínimo da linha K anterior, um sinal de cancelamento será emitido.
Após receber o sinal de fazer mais um vazio, entre imediatamente. Depois de entrar, configure o stop-loss em 50 pontos e o stop-loss em 100 pontos.
Sair do jogo quando a perda for maior do que o número de pontos de parada ou o lucro for maior do que o número de pontos de parada.
A estratégia de retorno de emergência tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
A estratégia pode ser melhorada em alguns aspectos:
Aumentar a eficácia dos julgamentos de ruptura de preços, evitando falsas rupturas. Por exemplo, pode ser adicionado o filtro de indicadores e a verificação de volume de transação.
Aumentar o mecanismo de julgamento de tendências, evitando o risco de fechamento do mercado. Indicadores de tendências, como a média móvel, podem ser adicionados.
Optimizar as estratégias de stop loss, como o rastreamento de stop loss, o stop loss post-profit, etc., para maximizar os lucros.
Optimizar os parâmetros para encontrar o melhor número de pontos de stop-loss.
A estratégia de reajuste de ruptura é, em geral, simples em termos de lógica, fácil de implementar, capaz de capturar efetivamente o início da tendência, com uma forte capacidade de reversão e controle de risco. Com a otimização adicional, pode ser uma estratégia quantitativa muito prática.
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Breakout Strategy", shorttitle="BS", overlay=true)
// Input for take profit and stop loss in pips
tp_pips = input(50, title="Take Profit (in pips)")
sl_pips = input(100, title="Stop Loss (in pips)")
// Calculate take profit and stop loss levels in points
tp_level = tp_pips * syminfo.mintick
sl_level = sl_pips * syminfo.mintick
// Function to check if a breakout has occurred
breakout(high_or_low) =>
high_or_low > request.security(syminfo.tickerid, "D", high[1]) ? true : false
// Buy condition
buy_condition = breakout(high)
strategy.entry("Buy", strategy.long, when=buy_condition)
// Sell condition
sell_condition = breakout(low)
strategy.entry("Sell", strategy.short, when=sell_condition)
// Take profit and stop loss conditions for Buy
tp_buy_condition = strategy.position_avg_price + tp_level
sl_buy_condition = strategy.position_avg_price - sl_level
strategy.exit("Take Profit/Close Buy", from_entry="Buy", profit=tp_buy_condition, loss=sl_buy_condition)
// Take profit and stop loss conditions for Sell
tp_sell_condition = strategy.position_avg_price - tp_level
sl_sell_condition = strategy.position_avg_price + sl_level
strategy.exit("Take Profit/Close Sell", from_entry="Sell", profit=tp_sell_condition, loss=sl_sell_condition)