
La stratégie consiste à utiliser Bitcoin pour effectuer des transactions en ligne courte le week-end, en utilisant un effet de levier de 10 fois. L’idée principale de la stratégie est de noter le prix à la clôture du vendredi, puis de comparer les hauts et les bas de la clôture du vendredi avec la clôture du vendredi le samedi et le dimanche, en faisant un gain ou une perte si elle dépasse la dépréciation, et en liquidant la position le lundi.
La stratégie commence par enregistrer le prix de clôture du vendredi, puis compte le nombre de jours qui séparent la date actuelle du vendredi. Le samedi et le dimanche, si le prix de clôture de la journée est supérieur à 4,5% au prix de clôture du vendredi, il est vide; si le prix de clôture de la journée est inférieur à 4,5% au prix de clôture du vendredi, il est plus.
Plus précisément, la stratégie consiste à obtenir le prix de clôture du vendredi, puis à comparer les fluctuations du prix de clôture actuel avec le prix de clôture du vendredi le samedi. Si le prix de clôture actuel est supérieur à la hausse de 4,5% par rapport au prix de clôture du vendredi, la stratégie est suivie parstrategy.shortLe prix de clôture actuel, qui est inférieur de plus de 4,5% au prix de clôture du vendredi, est accepté.strategy.longFaire plusleverageLe paramètre est de 10 fois le levier. Si le profit atteint 10% du capital initial, il passe.strategy.close_all()Toutes les positions en positions ordinaires.strategy.close_all()Il est temps de tout arranger.
Les mesures d’optimisation suivantes peuvent être envisagées en fonction des risques:
Cette stratégie peut être optimisée dans les domaines suivants:
Ajout d’autres indicateurs de jugement, optimisation de la sélection des points d’entrée. Il peut être combiné avec la moyenne mobile, le RSI et d’autres indicateurs de filtrage de l’heure d’entrée, améliorer l’exactitude de l’entrée.
Optimiser les stratégies de stop-loss, bloquer les bénéfices et contrôler les risques par le biais de stop-loss mobiles, de stop-loss par lots, etc.
Ajustez la taille du levier pour réduire le risque. Vous pouvez définir un ratio de levier d’ajustement dynamique pour réduire le levier lors du retrait.
Augmentation de la variété des transactions. Il est possible d’ajouter d’autres crypto-monnaies courantes, en utilisant leurs caractéristiques de transactions du week-end, pour effectuer des transactions arbitraires multivariées.
Paramètres d’optimisation à l’aide d’algorithmes d’apprentissage automatique. Il est possible de collecter une grande quantité de données historiques, d’optimiser automatiquement les paramètres à l’aide d’algorithmes d’apprentissage automatique et de réaliser un ajustement dynamique des paramètres.
Cette stratégie est une stratégie de négociation de courte ligne typique qui utilise le volume de transactions du week-end de Bitcoin. La stratégie utilise le volume de transactions du week-end de Bitcoin pour juger de la tendance, faire plus ou faire moins le samedi. La stratégie présente des avantages tels que l’augmentation des gains, la maîtrise des risques, mais il existe également des risques.
/*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()