merci pour le partage
Journal de Trappiste73
-
ChristelleP
- La Battante
- Messages : 68865
- Enregistré le : 23 janv. 2018 09:53
Re: Journal de Trappiste73
bonjour Trappiste 
merci pour le partage
merci pour le partage
-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Travail du jour, toujours la volatilité ...
Les deux objectifs principaux d'un trader auto doivent être de se prémunir des variations de spread et des kracks.
A noter : les codes présentés sont à retravailler, faute à certains errements de l'IA. Je propose des éléments de réflexion qui m'ont été utiles, pas les résultats finaux de mes heures de travail
.
Les deux objectifs principaux d'un trader auto doivent être de se prémunir des variations de spread et des kracks.
A noter : les codes présentés sont à retravailler, faute à certains errements de l'IA. Je propose des éléments de réflexion qui m'ont été utiles, pas les résultats finaux de mes heures de travail
-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Filter avec l'ATR
On pourrait croire que ce filtre joue aussi sur le DD mais pas sur mes algos : à partir de c>1.2, il n'a plus aucun effet. On pourrait aussi penser que c=3 serait la bonne valeur de variable mais le c optimisé est plus proche de 2,58.
Code : #
// Paramètres
ATRPeriods = 14
ATRMultiplier = c // variable à tester
// Calcul de l'ATR
myATR = AverageTrueRange[ATRPeriods]
// Seuil de volatilité extrême à définir
ATRThreshold = average[50](myATR) * ATRMultiplier
// Filtre
IF myATR < ATRThreshold THEN
// Condition pour entrer en position-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Filtrer avec l’Écart Type (Standard Deviation)
Mêmes constats que pour le filtre précédent : le ratio multifonctions miracle n'existe pas.
Code : #
// Calcul de l'écart type sur 50 périodes
Vol = STD[50](close)
Multiplier=c // variable à définir
// Seuil basé sur la moyenne
VolThreshold = average[100](Volatility) * c
// Filtre
vo2= Vol < VolThreshold
// Entrer en position-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Filtrer en comparant le Range total d'une bougie à son corps
Pas complètement persuadé que ça serve à quoi que ce soit, vue la valeur de c que j'ai du mettre.
Code : #
// Définition du range et du corps de la bougie
CandleRange = high - low
CandleBody = abs(close - open)
// Filtrer les bougies avec une forte volatilité relative
vo3 = CandleRange > CandleBody * c // variable à définir
// Ne pas trader sur cette bougie-
ChristelleP
- La Battante
- Messages : 68865
- Enregistré le : 23 janv. 2018 09:53
Re: Journal de Trappiste73
bonjour Trappiste 
-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Bonjour !
Pour finir le travail du jour :
Filtrer avec les bandes de Bollinger
Pas le moins intéressant ... 
Pour finir le travail du jour :
Filtrer avec les bandes de Bollinger
Code : #
bbupper = BollingerUp[20](close)
bblower = BollingerDown[20](close)
bbwidth = bbupper - bblower
// Seuil de volatilité basé sur une moyenne
bbthreshold = average[50](bbwidth) * c // variable à définir
// Filtre
vo4 = bbwidth < bbthreshold
// Accepter les trades seulement dans des conditions de volatilité modérée-
falex
- Le Gladiateur
- Messages : 34275
- Enregistré le : 12 févr. 2013 15:41
Re: Journal de Trappiste73
J’ai toujours trouvé que l’atr etait très peu pertinent.
Trop de retard
Valeur absolue impossible à évaluer car différente chaque jour
À une forme de gaussienne bien souvent (car grand bougie en début de séance puis ca se tasse dans ensuite).
Aujourd’hui j’utilise l’atr(1) pour avoir le true range car pas dispo sur ig-web
Trop de retard
Valeur absolue impossible à évaluer car différente chaque jour
À une forme de gaussienne bien souvent (car grand bougie en début de séance puis ca se tasse dans ensuite).
Aujourd’hui j’utilise l’atr(1) pour avoir le true range car pas dispo sur ig-web
-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Hello Falex, j'utilise l'ATR 2 fois par algo :
- comme filtre de volatilité, cf posts précédents.
- pour ajuster mon TP, z étant une valeur fixe :
- comme filtre de volatilité, cf posts précédents.
- pour ajuster mon TP, z étant une valeur fixe :
Code : #
if longonmarket then
nATR = x // Période de l'ATR
facteurTP =y // Multiplicateur du TP
// Calcul de la volatilité
ATRValue = AverageTrueRange[nATR]
// Définition du Take Profit basé sur l'ATR
TakeProfit = ATRValue * facteurTP
Set target pprofit z + TakeProfit-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Mise à jour algos
Sur Futures : 2 algos sur le naz, 1 sur le Dj et 1 sur le Dax.
cfd à risque limité : 2 algos sur le naz.
Sur Futures : 2 algos sur le naz, 1 sur le Dj et 1 sur le Dax.
cfd à risque limité : 2 algos sur le naz.
-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Et mois de mars en vrac, premier mois depuis un bout de temps, merci aux tweets de Trump.
Avec un SL sur l'algo Dax du à l'annonce des droits de douane sur les voitures. Toujours la loi de l'embêtement maximum : étant l'algo le plus récent, il était moins bordé que les autres / variations de volatilité. Bah maintenant, voyons le bon côté des choses, il l'est !
Cet algo reste sous surveillance : possible qu'il soit en trop. Les algos Us sont très peu actifs en ce moment, justement grâce à leurs filtres.
Gestion patrimoniale
Souscription de plusieurs produits structurés comme alternative aux fonds euros en profitant de bonnes conditions liés à la volatilité. Les deux points clés : choisir des produits à constatation au moins trimestrielle et si possible mensuelle et encore mieux quotidienne. Et à effet mémoire : dès qu'on constate la condition, tous les coupons antérieurs sont versés et le produit est remboursé.
Restons zen avec de la musique douce :
Avec un SL sur l'algo Dax du à l'annonce des droits de douane sur les voitures. Toujours la loi de l'embêtement maximum : étant l'algo le plus récent, il était moins bordé que les autres / variations de volatilité. Bah maintenant, voyons le bon côté des choses, il l'est !
Cet algo reste sous surveillance : possible qu'il soit en trop. Les algos Us sont très peu actifs en ce moment, justement grâce à leurs filtres.
Gestion patrimoniale
Souscription de plusieurs produits structurés comme alternative aux fonds euros en profitant de bonnes conditions liés à la volatilité. Les deux points clés : choisir des produits à constatation au moins trimestrielle et si possible mensuelle et encore mieux quotidienne. Et à effet mémoire : dès qu'on constate la condition, tous les coupons antérieurs sont versés et le produit est remboursé.
Restons zen avec de la musique douce :
-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Autres moyens de s'adapter à la volatilité
- Adapter les stops à la volatilité
- Réduire la taille des positions
- Utiliser des filtres horaires pour éviter les annonces
- Délai de blocage si la volatilité (via l’ATR) dépasse un seuil critique
- Adapter les stops à la volatilité
Code : #
Stop = 1,5 × ATR(14)Code : #
positionSize = capital * risqueParTrade / (1.5 * ATR) Code : #
IF time >= 1530 AND time <= 1600 THEN
// éviter de trader
ENDIFCode : #
// --- PARAMÈTRES ---
periodeATR = 14
seuilATR = 20 // À ajuster selon la volatilité normale de ton actif
delaiBlocage = 30 // Nombre de bougies sans trader après déclenchement
// --- CALCUL DE LA VOLATILITÉ ---
atr = AverageTrueRange[periodeATR](close)
// --- KILL SWITCH ---
IF atr > seuilATR THEN
killSwitch = delaiBlocage
ENDIF
IF killSwitch > 0 THEN
tradingAutorise = 0
killSwitch = killSwitch - 1
ELSE
tradingAutorise = 1
ENDIF
// --- UTILISATION DANS TON ALGO ---
IF tradingAutorise = 1 THEN
// ici tes conditions d'entrée classiques
IF conditionLong THEN
BUY 1 CONTRACT AT MARKET
ENDIF-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Maintenant, intéressons-nous à la détection du changement de tendance - un vaste sujet ...
- Allez Chatgpt, bouge-toi un peu
:
- Allez Chatgpt, bouge-toi un peu
Code : #
// ----- PARAMÈTRES -----
periodeADX = 14
seuilADX = 20 // Si l'ADX passe sous ce seuil → fin de tendance
periodeMMcourte = 8
periodeMMlongue = 21
// ----- INDICATEURS -----
adx = ADX[periodeADX](close)
mmCourte = Average[periodeMMcourte](close)
mmLongue = Average[periodeMMlongue](close)
// ----- SIGNAL DE FIN DE TENDANCE -----
// 1. Croisement MM (retour contre tendance)
retournementBaissier = mmCourte CROSSES UNDER mmLongue
retournementHaussier = mmCourte CROSSES OVER mmLongue
// 2. ADX chute sous le seuil (perte de force)
faibleMomentum = adx < seuilADX
// ----- SORTIE OU SÉCURISATION -----
// Exemples d’action : sortir si on est en position et tendance s’essouffle
IF positionlong AND (retournementBaissier OR faibleMomentum) THEN
SELL AT MARKET
ENDIF
IF positionshort AND (retournementHaussier OR faibleMomentum) THEN
EXITSHORT AT MARKET
ENDIF-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
- Détecter un changement de structure de marché basé sur les derniers sommets (highs) et creux (lows).
Principe :
Si on est en tendance haussière (sommets + creux montants), mais que :
on fait un sommet plus bas et un creux plus bas → possible retournement baissier
Et inversement pour une tendance baissière.
Principe :
Si on est en tendance haussière (sommets + creux montants), mais que :
on fait un sommet plus bas et un creux plus bas → possible retournement baissier
Et inversement pour une tendance baissière.
Code : #
// ----- PARAMÈTRES -----
lookback = 5 // Nombre de bougies pour détecter les sommets/creux locaux. Plus c’est petit, plus c’est réactif ; plus c’est grand, plus c’est fiable.
// ----- DÉTECTION DES SOMMETS ET CREUX -----
highestHigh = Highest[lookback](high)
lowestLow = Lowest[lookback](low)
IF high = highestHigh THEN
top = high
barTop = barindex
ENDIF
IF low = lowestLow THEN
bottom = low
barBottom = barindex
ENDIF
// ----- MISE EN MÉMOIRE DES DEUX DERNIERS SOMMETS ET CREUX -----
IF barTop <> lastBarTop THEN
top2 = top1
top1 = top
lastBarTop = barTop
ENDIF
IF barBottom <> lastBarBottom THEN
bottom2 = bottom1
bottom1 = bottom
lastBarBottom = barBottom
ENDIF
// ----- DÉTECTION DU CHANGEMENT DE STRUCTURE -----
structureHaussiere = top1 > top2 AND bottom1 > bottom2
structureBaissiere = top1 < top2 AND bottom1 < bottom2
// ----- CHANGEMENT DE STRUCTURE -----
IF structureHaussiere AND (top1 < top2 OR bottom1 < bottom2) THEN
signalFinHaussier = 1
ELSE
signalFinHaussier = 0
ENDIF
IF structureBaissiere AND (top1 > top2 OR bottom1 > bottom2) THEN
signalFinBaissier = 1
ELSE
signalFinBaissier = 0
ENDIF
// ----- EXEMPLE DE SORTIE DE POSITION -----
IF positionlong AND signalFinHaussier THEN
SELL AT MARKET
ENDIF
IF positionshort AND signalFinBaissier THEN
EXITSHORT AT MARKET
ENDIF-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Ps concernant les produits structurés. J'ai oublié de mentionner le 3e critère essentiel, le montant du coupon : je ne regarde pas en-dessous de 9%.
-
ChristelleP
- La Battante
- Messages : 68865
- Enregistré le : 23 janv. 2018 09:53
Re: Journal de Trappiste73
merci Trappiste pour le partage 
-
dav
- Chevalier Émérite Jedi
- Messages : 3763
- Enregistré le : 08 mars 2015 14:34
Re: Journal de Trappiste73
Merci pour ton partage
Utiliser les filtres horaires je le fais depuis 2 ou 3 ans, avec un algo de scalping.
Ca n'est surement pas le top, mais on évite les mechantes meches d'ouvertures...
Utiliser l'ATR comme stop,
cest une idée pertinente je vais regarder ca
Utiliser les filtres horaires je le fais depuis 2 ou 3 ans, avec un algo de scalping.
Ca n'est surement pas le top, mais on évite les mechantes meches d'ouvertures...
Utiliser l'ATR comme stop,
cest une idée pertinente je vais regarder ca
-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Bilan du mois de Mars : -7%. Une vilaine couleur pas souvent vue. Quand on est trader à temps plein, il faut intégrer ces périodes inévitables dans son "business plan", sous peine de contorsions financières désagréables. Une série de SL due principalement aux tweets de trump mais aussi à la théorie de la probabilité.
Si le même mois devait se reproduire, la plupart des SL seraient éliminés par les nouveaux filtres de volatilité. Ils sont opérationnels sur 3 des 4 algos Futures et pas encore sur les deux algos cfd à risque limité : ça devrait être terminé d'ici fin de semaine.
Gestion patrimoniale : rien. J'attends encore pour réinvestir, notamment sur le nasdac.
Gastornis : rien non plus. Peut-être bientôt aussi sur le nasdac.
Si le même mois devait se reproduire, la plupart des SL seraient éliminés par les nouveaux filtres de volatilité. Ils sont opérationnels sur 3 des 4 algos Futures et pas encore sur les deux algos cfd à risque limité : ça devrait être terminé d'ici fin de semaine.
Gestion patrimoniale : rien. J'attends encore pour réinvestir, notamment sur le nasdac.
Gastornis : rien non plus. Peut-être bientôt aussi sur le nasdac.
-
trappiste73
- Membre du Conseil Jedi
- Messages : 5208
- Enregistré le : 08 déc. 2016 11:38
Re: Journal de Trappiste73
Objectifs algos : +0,4% par jour, soit +0,2%/jour en annuel en tenant compte des mv et sl inévitables. Ce qui ferait +65% sur un an : ambitieux ... 
-
ChristelleP
- La Battante
- Messages : 68865
- Enregistré le : 23 janv. 2018 09:53
Re: Journal de Trappiste73
bonne soirée à toi Trappiste 
