Bonjour à tous,
J’ai codé un indicateur qui achète quand le RSI est en dessous de 30 et vend quand il est à 55.
Il marche plutôt bien (autour de 85% de win) mais sur le Nikkei et le Dax, il nous offre des performances catastrophiques.
Je me suis renseigné dessus et me suis rendu compte qu’il perdait tout le capital car il pyramidait une position (voir photo ci-joint).
Voici donc ma question : Comment faire pour lui faire attendre qu’une position soit clôturée avant de prendre une nouvelle position ?
Autre question : Connaissez vous une méthode une manière de demander à un indicateur d’acheter et de vendre à une heure donnée ?
Voici le code que vous pouvez aussi retrouver ci-joint.
// Define a variable to keep track of whether a position is open or not
positionOpen = 0
// Setting the parameters for the RSI indicator
RSILength = 14
// Calculate RSI
RSIValue = RSI[RSILength]
// Setting the parameters for the ATR indicator
ATRLength = 14
ATRValue = AverageTrueRange[ATRLength]
// Define buy and sell conditions
BuyCondition = RSIValue < 30 and 40 < ATRValue
SellCondition = RSIValue > 55
// Check if a position is already open
if positionOpen = 0 then
if BuyCondition then
buy at market
positionOpen = 1 // Update positionOpen to indicate a long position is opened
endif
endif
if SellCondition then
sell at market
positionOpen = 0 // Update positionOpen to indicate a short position is opened
endif