
Este artigo apresenta uma estratégia de negociação quantitativa baseada em percentual de depreciação. Esta estratégia determina o momento certo para comprar e vender, definindo um percentual de depreciação e selecionando o período de tempo apropriado. Um sinal de compra ou venda é disparado quando o preço sobe ou desce acima do percentual de depreciação indicado em relação ao preço de encerramento anterior.
O núcleo da estratégia é gerar um sinal de negociação com base na porcentagem de mudança de preço. Primeiro, o usuário precisa definir um percentual de prejuízo, que representa a variação do preço em relação ao preço de fechamento anterior. Além disso, o usuário também deve escolher um período de tempo, como 1 minuto, 1 hora, 1 dia, etc., para calcular o preço mais alto, o preço mais baixo e o preço de fechamento no período.
Este artigo apresenta uma estratégia de negociação quantitativa baseada em percentual de depreciação, que gera automaticamente sinais de compra e venda, definindo o percentual de depreciação e o período de tempo de variação de preços. A estratégia é simples de operar, flexível e abrangente, mas também enfrenta riscos de volatilidade do mercado, configuração de parâmetros e overflow.
/*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)