Este artigo introduz uma estratégia quantitativa de negociação baseada em um limiar porcentual. A estratégia determina o momento da compra e venda, definindo um limiar porcentual e selecionando um período de tempo apropriado. Quando o preço sobe ou cai acima ou abaixo do limiar porcentual especificado em relação ao preço de fechamento anterior, ele aciona um sinal de compra ou venda. Esta estratégia pode ser ajustada de forma flexível de acordo com as preferências de risco e as condições de mercado do usuário e é adequada para a negociação de vários instrumentos financeiros.
O núcleo desta estratégia é gerar sinais de negociação com base na mudança percentual no preço. Primeiro, o usuário precisa definir um limiar percentual, que representa a magnitude da mudança de preço em relação ao preço de fechamento anterior. Ao mesmo tempo, o usuário também precisa escolher um período de tempo, como 1 minuto, 1 hora, 1 dia, etc., para calcular os preços altos, baixos e de fechamento dentro desse período de tempo. A estratégia monitora os preços de mercado em tempo real. Quando o preço mais alto do período de tempo atual excede o preço de fechamento anterior mais o limiar, ele aciona um sinal de compra; quando o preço mais baixo do período de tempo atual cai abaixo do preço de fechamento anterior menos o limiar, ele aciona um sinal de venda. Se um sinal de venda for acionado enquanto se mantém uma posição longa, a estratégia fecha a posição longa; se um sinal de compra for fechado enquanto se mantém uma posição curta, a estratégia pode capturar grandes flutuações de preços em curto prazo.
Este artigo apresenta uma estratégia quantitativa de negociação baseada em um limiar porcentual, que gera automaticamente sinais de compra e venda, definindo um limiar porcentual para mudanças de preço e um período de tempo. A estratégia é simples de operar, altamente flexível e amplamente aplicável, mas também enfrenta riscos como volatilidade do mercado, configurações de parâmetros e sobreajuste.
/*backtest start: 2023-05-28 00:00:00 end: 2024-06-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("GBS Percentage", overlay=true) // Define input options for percentage settings and timeframe percentage = input.float(1.04, title="Percentage Threshold", minval=0.01, step=0.01) / 100 timeframe = input.timeframe("D", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"]) // Calculate high, low, and close of the selected timeframe high_timeframe = request.security(syminfo.tickerid, timeframe, high) low_timeframe = request.security(syminfo.tickerid, timeframe, low) close_timeframe = request.security(syminfo.tickerid, timeframe, close) // Calculate the percentage threshold based on the previous close threshold = close_timeframe[1] * percentage // Define conditions for Buy and Sell buyCondition = high_timeframe > (close_timeframe[1] + threshold) sellCondition = low_timeframe < (close_timeframe[1] - threshold) // Entry and exit rules if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Close the positions based on the conditions if (sellCondition) strategy.close("Buy") if (buyCondition) strategy.close("Sell") // Plot Buy and Sell signals on the chart plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar) // Plot the equity curve of the strategy plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)