
A estratégia é uma estratégia que utiliza o bitcoin para fazer uma negociação de curta duração no fim de semana, usando 10x de alavancagem. A principal idéia da estratégia é registrar o preço no fechamento da sexta-feira, em seguida, comparar os altos e baixos do preço de fechamento do dia e do fechamento da sexta-feira no sábado e no domingo, fazendo um aumento ou diminuição se exceder o desvalorizar, e nivelar a posição na segunda-feira.
A estratégia primeiro registra o preço de fechamento na sexta-feira, e depois calcula o número de dias entre a data atual e a sexta-feira. Se o preço de fechamento do dia subir mais de 4,5% em relação ao preço de fechamento da sexta-feira, feche o mercado no sábado e no domingo; se o preço de fechamento do dia cair mais de 4,5% em relação ao preço de fechamento da sexta-feira, faça mais.
Concretamente, a estratégia consiste em obter o preço de fechamento de sexta-feira e comparar o preço de fechamento atual com o preço de fechamento de sexta-feira no sábado. Se o preço de fechamento atual for superior a 4,5% em relação ao preço de fechamento de sexta-feira, a estratégia passa astrategy.shortO preço de fechamento atual deve ser mais de 4,5% abaixo do preço de fechamento de sexta-feira para que o preço de fechamento atual seja mais de 4,5%.strategy.longFaça mais.leverageO parâmetro é de 10 vezes o nível de alavancagem. Se os lucros atingem 10% do capital inicial, é aprovadostrategy.close_all()Todas as posições em equilíbrio.strategy.close_all()Evitar todas as posições.
Para os riscos, podem ser consideradas as seguintes medidas de otimização:
A estratégia pode ser melhorada em vários aspectos:
Adicionar outros indicadores de julgamento, otimizar a seleção de pontos de entrada. Pode ser combinado com a média móvel, RSI e outros indicadores para filtrar o tempo de entrada, melhorar a precisão de entrada.
Optimizar a estratégia de stop loss, bloquear o lucro e controlar o risco por meio de stop loss móvel, stop loss em lotes, etc.
Ajustar o tamanho da alavanca para reduzir o risco. Pode ser configurado para ajustar a alavanca de forma dinâmica para reduzir a alavanca na retirada.
Aumentar a variedade de negociação. Outras criptomoedas comuns podem ser adicionadas, aproveitando suas características de negociação de fim de semana para negociação de arbitragem em várias variedades.
Parâmetros de otimização usando algoritmos de aprendizagem de máquina . Pode coletar uma grande quantidade de dados históricos, usar algoritmos de aprendizagem de máquina para otimizar automaticamente os parâmetros e realizar ajustes dinâmicos dos parâmetros .
A estratégia é uma estratégia de negociação de curta linha típica que utiliza o volume de transações do fim de semana do Bitcoin. A estratégia utiliza o volume de transações do fim de semana do Bitcoin para avaliar a tendência, fazer mais ou fazer menos no sábado. A estratégia tem vantagens como aumento de receita, controle de risco, mas também existe um certo risco.
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Copyright Boris Kozak
strategy("XBT Weekend Trade Strategy", overlay=false)
leverage = input(10,"Leverage")
profitTakingPercentThreshold = input(0.10,"Profit Taking Percent Threshold")
//****Code used for setting up backtesting.****///
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(12, "Backtest Start Month")
testStartDay = input(10, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2025, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FFFF : na
bgcolor(testPeriodBackgroundColor, transp=50)
testPeriod() => true
//****END Code used for setting up backtesting.****///
//*** Main entry point is here***//
// Figure out how many days since the Friday close
days_since_friday = if dayofweek == 6
0
else
if dayofweek == 7
1
else
if dayofweek == 1
2
else
if dayofweek == 2
3
else
if dayofweek == 3
4
else
if dayofweek == 4
5
else
6
// Grab the Friday close price
fridaycloseprice = request.security(syminfo.tickerid,'D',close[days_since_friday])
plot(fridaycloseprice)
strategy.initial_capital = 50000
// Only perform backtesting during the window specified
if testPeriod()
// If we've reached out profit threshold, exit all positions
if ((strategy.openprofit/strategy.initial_capital) > profitTakingPercentThreshold)
strategy.close_all()
// Only execute this trade on saturday and sunday (UTC)
if (dayofweek == 7.0 or dayofweek == 1.0)
// Begin - Empty position (no active trades)
if (strategy.position_size == 0)
// If current close price > threshold, go short
if ((close>fridaycloseprice*1.045))
strategy.entry("Short Entry", strategy.short, leverage)
else
// If current close price < threshold, go long
if (close<(fridaycloseprice*0.955))
strategy.entry("Long Entry",strategy.long, leverage)
// Begin - we already have a position
if (abs(strategy.position_size) > 0)
// We are short
if (strategy.position_size < 0)
if ((close>strategy.position_avg_price*1.045))
// Add to the position
strategy.entry("Adding to Short Entry", strategy.short, leverage)
else
strategy.entry("Long Entry",strategy.long,leverage)
// On Monday, if we have any open positions, close them
if (dayofweek==2.0)
strategy.close_all()