La gestion du spread et les algos
La variabilité du spread est un point crucial. 
D'abord un point : excluons les cfd à risque limité pour le trading auto. 
Pourquoi ? par expérience, cette variabilité ne s'explique pas toujours par des critères rationnels. Donc, c'est imprévisible et ingérable. Les courtiers pourraient d'après moi facilement implémenter la variable "
spread" mais visiblement ça ne les arrange pas ...
Pour les Futures.
Pas non plus de variable "
spread" : dommage !  mais le 
spread est la conséquence de causes connues.
Si nous prenons le 
nq par exemple, le 
spread varie en temps normal entre 0,25 à 0,5 points ;
hors horaires US, de 0,5 à 1 point ; en période de news : jusqu’à 10 points; et en cas de krach/illiquidité extrême : 20 points et plus.
Aucune solution simple. 
Mais il y a plusieurs moyens - qui peuvent être combinés - pour gérer le sujet.
- Ajouter le 
spread connu aux prix d'entrée et de sortie pour les périodes calmes (on pourrait bien sûr ajouter des variations horaires) : 
Code : #
spread = 0.5 
prixAchat = close + spread 
- Déduire le 
spread des profits et pertes  : 
Code : #
if longposition et conditionsdeSortie then 
spread = 0.5 
profit = close - prixAchat - spread 
endif 
- Ajuster le stop loss et take profit pour compenser le 
spread : 
Code : #
spread = 0.5 
stopLoss = close - (stopSize + spread)
- Simuler un 
spread dynamique : 
Code : #
spread = ATR(10) * 0.1  // Exemple : 10% de l’ATR //
 if condition_achat then 
prixAchat = close + spread buy at prixAchat stop 
endif
Sans oublier les filtres anti volatilités extrêmes :
- avec 
l'atr : 
Code : #
ATR_Period = 14
volatilite = ATR(ATR_Period)
// Seuil de volatilité : Exclure si l’ATR dépasse un % du prix
seuil_volatilite = close * 0.005  // Exemple : 0.5% du prix
// Ne pas trader en cas de forte volatilité
if volatilite < seuil_volatilite then
   // Condition d'achat
   if condition_achat then
      buy at market
   endif
- Avec les filtres horaires
Code : #
// Définition des heures d'annonces
[code]news_hours = [14:30, 20:00]  // Exemple : NFP à 14h30, FOMC à 20h
// Vérifier si l'heure actuelle est dans la période de volatilité
if not(time in news_hours) then
   if condition_achat then
      buy at market
   endif
- Avec un filtre basé sur la vitesse du prix
Code : #
delta_price = abs(close - close[5])  // Variation sur 5 bougies
seuil_delta = close * 0.003  // Exemple : 0.3% du prix
if delta_price < seuil_delta then
   if condition_achat then
      buy at market
   endif
- et utiliser d'autres ratios liés à la 
volatilité ...
Reste plus qu'à ...  