Stratégie de négociation du week-end

Auteur:ChaoZhang est là., Date: 2023-11-14 11h29 et 12h
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de trading à court terme qui utilise l'augmentation du volume de trading du week-end de Bitcoin en utilisant un effet de levier de 10x. L'idée principale est d'enregistrer le prix de clôture du vendredi, de comparer les prix de clôture quotidiens du samedi et du dimanche avec le prix de clôture du vendredi, et d'aller long ou court si le seuil est dépassé. Les positions seront fermées le lundi.

La logique de la stratégie

La stratégie enregistre d'abord le prix de clôture du vendredi, puis calcule le nombre de jours depuis le vendredi. Le samedi et le dimanche, si le prix de clôture quotidien est supérieur de 4,5% au prix de clôture du vendredi, passez à la vente; si le prix de clôture quotidien est inférieur de plus de 4,5% au prix de clôture du vendredi, passez à la vente. Chaque transaction utilise un effet de levier de 10x. Si le profit atteint 10% du capital initial, fermez toutes les positions. Le lundi, fermez toutes les positions indépendamment.

Plus précisément, la stratégie prend le prix de clôture du vendredi, puis compare le prix de clôture actuel avec le vendredi le samedi et le dimanche.strategy.short; si le cours de clôture actuel est inférieur de plus de 4,5% à celui des vendredis, passez long viastrategy.longL' effet de levier est fixé à 10x via leleverageSi le bénéfice atteint 10% du capital initial, fermer toutes les positions viastrategy.close_all()Le lundi, fermez toutes les positions viastrategy.close_all().

Analyse des avantages

  • Utilise le volume de négociation accru du week-end de Bitcoin pour le trading à court terme, capturant les tendances du week-end
  • L'effet de levier 10x amplifie les rendements
  • Les conditions de prise de profit permettent de bloquer les bénéfices et d'éviter que les pertes ne s'accroissent
  • La clôture des positions le lundi évite les risques liés aux ouvertures volatiles du lundi

Analyse des risques

  • Les prix du Bitcoin sont volatiles le week-end, risque de pertes
  • L'effet de levier 10x amplifie les pertes
  • Un mauvais placement de stop loss pourrait entraîner de grosses pertes
  • L' ouverture volatile du lundi peut empêcher la prise de profit

Améliorations potentielles pour atténuer les risques:

  1. Définir le stop loss pour contrôler la perte par transaction.
  2. Ajustez l'effet de levier pour réduire le risque.
  3. Optimiser les points de profit, prendre des profits en lots après avoir atteint certains niveaux de profit.
  4. Définissez le volume ou le temps de prise de bénéfices avant l'ouverture du lundi pour éviter la volatilité.

Directions d'optimisation

La stratégie peut être améliorée dans les domaines suivants:

  1. Ajoutez d'autres indicateurs pour un meilleur timing des entrées.

  2. Optimiser les stratégies de stop-loss et de prise de profit. Utiliser les arrêts de trail, la prise de profit par étapes, etc. pour verrouiller les bénéfices et contrôler les risques.

  3. Ajustez la taille de l'effet de levier pour réduire le risque.

  4. Ajoutez d'autres crypto-monnaies. Échangez des crypto-monnaies supplémentaires avec des modèles de week-end pour l'arbitrage multi-actifs.

  5. Utilisez l'apprentissage automatique pour optimiser les paramètres. Collectez de grands ensembles de données historiques et utilisez l'apprentissage automatique pour optimiser automatiquement le réglage dynamique des paramètres.

Résumé

Il s'agit d'une stratégie de trading à court terme typique utilisant le volume accru du week-end de Bitcoin. Il capitalise sur le volume du week-end en jugeant les tendances du samedi et du dimanche, en long ou en court. La stratégie présente des avantages tels que l'amplification des bénéfices et le contrôle des risques, mais présente également certains risques. Les prochaines étapes consistent à optimiser des domaines tels que l'entrée, le stop loss, la gestion du levier, l'expansion des actifs, etc. pour rendre la stratégie plus robuste et intelligente.


/*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()
 






Plus de