
Descrição: A estratégia usa dados de posições de futuros de BTC da Bitfinex para orientar as negociações. Faça um curto-circuito quando o número de posições curtas aumenta e um longo-circuito quando o número de posições curtas diminui.
Princípios da estratégia:
Análise de vantagens:
Análise de Riscos:
Otimização:
Resumo: A estratégia de seguir o comerciante especialista em futuros de BTC da Bitfinex, para obter sinais de negociação da instituição em tempo hábil. Ajuda os investidores a monitorar o calor do mercado e a entender os altos e baixos.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bitfinex Shorts Strat",
overlay=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=10, precision=2, initial_capital=1000,
pyramiding=2,
commission_value=0.05)
//Backtest date range
StartDate = input(timestamp("01 Jan 2021"), title="Start Date")
EndDate = input(timestamp("01 Jan 2024"), title="Start Date")
inDateRange = true
symbolInput = input(title="Bitfinex Short Symbol", defval="BTC_USDT:swap")
Shorts = request.security(symbolInput, "", open)
// RSI Input Settings
length = input(title="Length", defval=7, group="RSI Settings" )
overSold = input(title="High Shorts Threshold", defval=75, group="RSI Settings" )
overBought = input(title="Low Shorts Threshold", defval=30, group="RSI Settings" )
// Calculating RSI
vrsi = ta.rsi(Shorts, length)
RSIunder = ta.crossover(vrsi, overSold)
RSIover = ta.crossunder(vrsi, overBought)
// Stop Loss Input Settings
longLossPerc = input.float(title="Long Stop Loss (%)", defval=25, group="Stop Loss Settings") * 0.01
shortLossPerc = input.float(title="Short Stop Loss (%)", defval=25, group="Stop Loss Settings") * 0.01
// Calculating Stop Loss
longStopPrice = strategy.position_avg_price * (1 - longLossPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc)
// Strategy Entry
if (not na(vrsi))
if (inDateRange and RSIover)
strategy.entry("LONG", strategy.long, comment="LONG")
if (inDateRange and RSIunder)
strategy.entry("SHORT", strategy.short, comment="SHORT")
// Submit exit orders based on calculated stop loss price
if (strategy.position_size > 0)
strategy.exit(id="LONG STOP", stop=longStopPrice)
if (strategy.position_size < 0)
strategy.exit(id="SHORT STOP", stop=shortStopPrice)