Stratégie de négociation acheter lundi vendre mercredi

Auteur:ChaoZhang est là., Date: 12 septembre 2023 à 16h44
Les étiquettes:

Cette stratégie négocie le schéma cyclique hebdomadaire en entrant long le lundi et en tirant profit avant le mercredi ouverte pour capturer l'oscillation des prix au cours de cette période.

La logique de la stratégie:

  1. Exécutez une longue entrée tous les lundis.

  2. Prenez profit pour sortir bien avant chaque mercredi ouverture.

  3. Réglez le pourcentage de stop-loss à perte limite.

  4. Définir le pourcentage de profit cible pour verrouiller les gains.

  5. Arrêt graphique et lignes de profit pour les profits et pertes visuels.

Les avantages:

  1. Les échanges cycliques présentent des retombées plus faibles et de bons rendements historiques.

  2. Des règles fixes faciles à automatiser et à exécuter.

  3. Configuration simple de stop loss et de prise de profit.

Les risques:

  1. Il ne peut pas s'adapter aux événements perturbant le cycle.

  2. Arrêt de perte retardé Impossible de limiter les pertes sur une seule transaction.

  3. Bloqué dans les bénéfices, incapable de suivre la hausse.

En résumé, ce système cyclique mécanique présente des contre-tests impressionnants, mais a du mal à s'adapter lorsque le schéma change.


/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © processingclouds

// @description Strategy to go long at end of Monday and exit by Tuesday close, or at stop loss or take profit percentages  

//@version=5
strategy("Buy Monday, Exit Wednesday", "Mon-Wed Swings",overlay=true)

//  ----- Inputs: stoploss %, takeProfit %
stopLossPercentage = input.float(defval=4.0, title='StopLoss %', minval=0.1, step=0.2) / 100
takeProfit = input.float(defval=3.0, title='Take Profit %', minval=0.3, step=0.2) / 100

//  ----- Exit and Entry Conditions - Check current day and session time
isLong = dayofweek == dayofweek.monday  and not na(time(timeframe.period, "1400-1601"))
isExit = dayofweek == dayofweek.wednesday and not na(time(timeframe.period, "1400-1601"))

//  ----- Calculate Stoploss and Take Profit values
SL = strategy.position_avg_price * (1 - stopLossPercentage)
TP = strategy.position_avg_price * (1 + takeProfit)

//  ----- Strategy Enter, and exit when conditions are met
strategy.entry("Enter Long", strategy.long, when=isLong)
if strategy.position_size > 0 
    strategy.close("Enter Long", isExit)
    strategy.exit(id="Exit", stop=SL, limit=TP)

//  ----- Plot Stoploss and TakeProfit lines
plot(strategy.position_size > 0 ? SL : na, style=plot.style_linebr, color=color.red, linewidth=2, title="StopLoss")
plot(strategy.position_size > 0 ? TP : na, style=plot.style_linebr, color=color.green, linewidth=2, title="TakeProfit")

Plus de