ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests

Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 01 mai 2016 12:03

Bonjour à tous,

En hommage au travail de Benoist et à la file "Suivi de mon algorithme de trading cac 40" suivi-de-mon-algorithme-de-trading-cac-40-t10826.html je partage le code source de la première version de mon système de trading (du 22/01/2016) journal-de-trading-d-Anonymous99-t10768-10.html#p360430.

Depuis il a bien évolué... Je communiquerai probablement des versions plus récentes (et plus performantes) suivant la participation des membres ;)

Il n'était pas extraordinaire, mais c'est une bonne base pour aider les débutants...
Résumé.JPG
Stats.JPG
Positions.JPG
Mon UT c'est 6 secondes.
Spoiler:

Code : #

// Définition des paramètres du code

// Cumul des positions désactivé
DEFPARAM CumulateOrders = False
// La position est clôturée à 17h30, heure française
DEFPARAM flatafter = 173000 // 17h30

// Indicateurs
RSI14 = RSI[14](close)
cloture = close
//MME20 = ExponentialAverage[20](close)
//MM20 = Average[20](close)
MM50 = Average[50](close)
//MM100 = Average[100](close)
MM200 = Average[200](close)
SupT = SuperTrend[3,10]
pSAR = SAR[0.02,0.02,0.2]
ATR = AverageTrueRange[14](close)
BolH = BollingerUp[20](close)
BolB = BollingerDown[20](close)
Bol = BolH - BolB

// Aucune nouvelle position prise après le chandelier qui clôture à 17h29
HeureLimite = 172900
// L'analyse du marché commence avec le chandelier 6 secondes qui clôture à 8h00
HeureDebut = 090000

// Les journées du 24 et 31 décembre sont exclues car la bourse ferme avant 19h45
IF Month = 12 AND (Day = 24 OR Day = 31) THEN
JourTrading = 0
ELSE
JourTrading = 1
ENDIF

// S'adapter au spread
IF time >= 090000 AND time < 173000 THEN
spread = 1
ELSE
IF time >= 173000 AND time < 220000 THEN
spread = 2
ELSE
IF time >= 220000 AND time < 000000 THEN
spread = 7
ELSE
IF time >= 000000 AND time < 080000 THEN
spread = 7
ELSE
IF time >= 080000 AND time < 090000 THEN
spread = 2
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

// Les variables qui peuvent être adaptées selon ses préférences
RSIAchatH = 67
RSIAchatB = 56 // éviter d'être vers 50
RSIVenteH = 43 // éviter d'être vers 50
RSIVenteB = 30
IF (ATR * 1.75 >= 4) then
SL = ATR * 1.75
ELSE
SL = 4 // Stop Loss mini : 4
ENDIF
TP = ATR * 2.2
TaillePosition = 1
BolMin = 5.3 * ATR // Taille min Bollinger
ATRMin = 0.8 + spread
ATRMax = 5 + spread
BolHMax = BolH - ATR * 1.1
BolBMin = BolB + ATR * 1.1

IF JourTrading = 1 AND time >= HeureDebut AND time < HeureLimite THEN
// Création des ordres d'achat et de vente à découvert si les conditions sont remplies
IF (cloture CROSSES OVER pSAR) THEN // Cours en hausse
IF SHORTONMARKET THEN // Indique si vous avez des positions vendeuses (=courtes) sur le marché
EXITSHORT AT MARKET // Instruction qui clôture une position courte
ENDIF
IF (RSI14 >= RSIAchatB AND RSI14 <= RSIAchatH) AND (cloture >= SupT) AND (cloture <= BolH) AND (Bol >= BolMin) AND (ATR >= ATRMin) AND (ATR <= ATRMax) AND (MM50 >= MM200) AND (cloture <= BolHMax) THEN
BUY TaillePosition CONTRACT AT MARKET // Instruction d'ouverture de position longue
ENDIF
ENDIF

IF (cloture CROSSES UNDER pSAR) THEN // Cours en baisse
IF LONGONMARKET THEN // Indique si vous avez des positions acheteuses (=longues) sur le marché
SELL AT MARKET // Instruction de clôture de position longue
ENDIF
IF (RSI14 >= RSIVenteB AND RSI14 <= RSIVenteH) AND (cloture <= SupT) AND (cloture >= BolB) AND (Bol >= BolMin) AND (ATR >= ATRMin) AND (ATR <= ATRMax) AND (MM50 <= MM200) AND (cloture >= BolBMin) THEN
SELLSHORT TaillePosition CONTRACT AT MARKET // Instruction d'ouverture de position courte
ENDIF
ENDIF
ENDIF


// Définition d'un risque maximummal de pertes par position
// en cas d'évolution défavorable du prix de l'instrument
SET STOP pLOSS SL
SET TARGET pPROFIT TP

Re: Suivi de mon algorithme de trading Dax 30

par GDX23 » 01 mai 2016 12:25

Salut !

As-tu backtesté cela sur une période plus longue ? Par contre 6 secondes, c'est surprenant ;)

Souvent les gens utilisent le 15 minutes ;)

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 01 mai 2016 12:57

En 6 secondes on ne peut pas tester sur plus de 10 jours (c'est déjà 100 000 bougies...).

6 secondes, c'est pour faire l'équivalent de plus ou moins 21 ticks (comme on ne peut pas travailler en ticks dans le système de trading ProRealTime).

Un "bug" (si on peut dire) à corriger, il faut éviter d'imposer une taille de Bollinger avec un ATR, car c'est 2 indices de volatilité... :hein: Vous pouvez mettre par exemple :

Code : #

BolMin = 12 // Taille min Bollinger en POINTS
Et vous passerez dans mon exemple de 46 € à 54.50 €...

Re: Suivi de mon algorithme de trading Dax 30

par GDX23 » 01 mai 2016 19:03

Pourquoi pas du 15 min ??

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 01 mai 2016 19:24

Pour faire du scalping ;-)
En plus, les calculs sont réévalués à la clôture de chaque Bougie... Donc 15 min c'est une éternité pour moi.

L'objectif étant de gagner peu de points, mais souvent, de manière la moins risquée (temps d'exposition limité), avec petit Effet de levier, etc.

Re: Suivi de mon algorithme de trading Dax 30

par GDX23 » 02 mai 2016 20:28

ok je disais ça car souvent le trading auto est utilisé en 15 min pour faire de l'intraday

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 02 mai 2016 22:29

En effet, sur http://www.prorealcode.com/ par exemple c'est souvent sur des périodes plus longues.

Moi j'aime bien les courtes, car cela offre plein d'occasions, donc on peut être très sélectif sur les entrées.

Je le suis un peu trop même : dans mon exemple seulement 10 trades sur 10 jours... ;-)

Une dernier conseil d'optimisation pour la route, pour l'ATR minimum, 1 point c'est suffisant :

Code : #

ATRMin = spread

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 04 mai 2016 10:20

Bonjour à tous,

La version du 25/01/2016 dont j'ai publié les résultats le 29/01/2016 (il y a eu d'autres versions entre le 25 et le 29) journal-de-trading-d-Anonymous99-t10768-10.html#p364096
Résumé.JPG
Stats.JPG
Positions.JPG
J'avais notamment rajouté la coupure après x euros de pertes ou de gains, et une gestion plus dynamique de la quotité/SL/TP en fonction de la prise de risque :
Spoiler:

Code : #

// Cumul des positions désactivé
DEFPARAM CumulateOrders = False
// La position est clôturée à 17h45, heure française
DEFPARAM flatafter=174500 // 17h45

// Indicateurs
RSI14 = RSI[14](close)
cloture = close
MME20 = ExponentialAverage[20](close)
MM20 = Average[20](close)
MM50 = Average[50](close)
MM100 = Average[100](close)
MM200 = Average[200](close)
SupT = SuperTrend[3,10]
pSAR = SAR[0.02,0.02,0.2]
ATR = AverageTrueRange[14](close)
BolH = BollingerUp[20](close)
BolB = BollingerDown[20](close)
Bol = BolH - BolB

// Aucune nouvelle position prise après le chandelier qui clôture à 17h29
HeureLimite = 173000
// L'analyse du marché commence avec le chandelier 6 secondes qui clôture à 8h00
HeureDebut = 080000

// Les journées du 24 et 31 décembre sont exclues car la bourse ferme avant 19h45
IF Month = 12 AND (Day = 24 OR Day = 31) THEN
JourTrading = 0
ELSE
JourTrading = 1
ENDIF

// S'adapter au spread
IF time >= 090000 AND time < 173000 THEN
spread = 1
ELSE
IF time >= 173000 AND time < 220000 THEN
spread = 2
ELSE
IF time >= 220000 AND time < 000000 THEN
spread = 7
ELSE
IF time >= 000000 AND time < 080000 THEN
spread = 7
ELSE
IF time >= 080000 AND time < 090000 THEN
spread = 2
ELSE
spread = 1 // Sécurité erreur prog
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

// Les variables qui peuvent être adaptées selon ses préférences
RSIAchatH = 67 // 
RSIAchatB = 54 // éviter d'être vers 50
RSIVenteH = 43 // éviter d'être vers 50
RSIVenteB = 30 // 
BolMin = 12 // Taille min Bollinger en POINTS
ATRMin = spread // spread
ATRMax = 5 + spread // 5 + spread
BolHMax = BolH - ATR * 1.1 // 
BolBMin = BolB + ATR * 1.1 // 
gainsMax = 160 // en euros
pertesMax = -80 // en euros

IF STRATEGYPROFIT < pertesMax THEN
QUIT 
ELSE
IF STRATEGYPROFIT > gainsMax THEN
QUIT
ENDIF
ENDIF

IF (JourTrading = 1) AND (time >= HeureDebut) AND (time < HeureLimite) THEN
IF (cloture CROSSES OVER pSAR) THEN // Cours en hausse
IF SHORTONMARKET THEN // Indique si vous avez des positions vendeuses (=courtes) sur le marché
EXITSHORT AT MARKET // Instruction qui clôture une position courte
ENDIF
IF (RSI14 >= RSIAchatB) AND (RSI14 <= RSIAchatH) AND (cloture >= SupT) AND (cloture <= BolH) AND (Bol >= BolMin) AND (ATR >= ATRMin) AND (ATR <= ATRMax) AND (MM50 > MM200) AND (cloture <= BolHMax) THEN // --- ACHAT ---
// S'adapter aux risques :
// --- ACHAT : Palier 1 ---
IF (MM100 > MM200) AND (MM50 > MM100) AND (MM50 > MM200) AND (MM20 >= MM50) AND (MM20 > MM100) AND (MM20 > MM200) AND (MME20 >= MM20) THEN
TaillePosition = 1
SL = ATR * 1.75 // 
TP = ATR * 2.00 // 
ELSE // --- ACHAT : Palier 2 ---
IF (MM100 > MM200) AND (MM50 > MM100) AND (MM50 > MM200) AND (MM20 >= MM50) AND (MM20 > MM100) AND (MM20 > MM200) THEN
TaillePosition = 1
SL = ATR * 1.65 // 
TP = ATR * 1.95 // 
ELSE // --- ACHAT : Palier 3 ---
IF (MM100 > MM200) AND (MM50 > MM100) AND (MM50 > MM200) AND (MM20 > MM100) AND (MM20 > MM200) THEN
TaillePosition = 1
SL = ATR * 1.55 // 
TP = ATR * 1.90 // 
ELSE // --- ACHAT : Palier 4 ---
IF (MM100 > MM200) AND (MM50 > MM100) AND (MM50 > MM200) AND (MM20 > MM200) THEN
TaillePosition = 1
SL = ATR * 1.45 // 
TP = ATR * 1.85 // 
ELSE // --- ACHAT : Palier 5 ---
IF (MM100 > MM200) AND (MM50 > MM100) AND (MM50 > MM200) THEN
TaillePosition = 1
SL = ATR * 1.35 // 
TP = ATR * 1.80 // 
ELSE // Sécurité erreur prog
// Paramètres par défaut
TaillePosition = 1
SL = ATR * 1.75 // 
TP = ATR * 2.20 // 
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

BUY TaillePosition CONTRACT AT MARKET // Instruction d'ouverture de position longue
ENDIF
ENDIF

IF (cloture CROSSES UNDER pSAR) THEN // Cours en baisse
IF LONGONMARKET THEN // Indique si vous avez des positions acheteuses (=longues) sur le marché
SELL AT MARKET // Instruction de clôture de position longue
ENDIF
IF (RSI14 >= RSIVenteB) AND (RSI14 <= RSIVenteH) AND (cloture <= SupT) AND (cloture >= BolB) AND (Bol >= BolMin) AND (ATR >= ATRMin) AND (ATR <= ATRMax) AND (MM50 < MM200) AND (cloture >= BolBMin) THEN // --- VENTE ---
// S'adapter aux risques :
// --- VENTE : Palier 1 ---
IF (MM100 < MM200) AND (MM50 < MM100) AND (MM50 < MM200) AND (MM20 <= MM50) AND (MM20 < MM100) AND (MM20 < MM200) AND (MME20 <= MM20) THEN
TaillePosition = 1
SL = ATR * 1.75 // 
TP = ATR * 2.00 // 
ELSE // --- VENTE : Palier 2 ---
IF (MM100 < MM200) AND (MM50 < MM100) AND (MM50 < MM200) AND (MM20 <= MM50) AND (MM20 < MM100) AND (MM20 < MM200) THEN
TaillePosition = 1
SL = ATR * 1.65 // 
TP = ATR * 1.95 // 
ELSE // --- VENTE : Palier 3 ---
IF (MM100 < MM200) AND (MM50 < MM100) AND (MM50 < MM200) AND (MM20 < MM100) AND (MM20 < MM200) THEN
TaillePosition = 1
SL = ATR * 1.55 // 
TP = ATR * 1.90 // 
ELSE // --- VENTE : Palier 4 ---
IF (MM100 < MM200) AND (MM50 < MM100) AND (MM50 < MM200) AND (MM20 < MM200) THEN
TaillePosition = 1
SL = ATR * 1.45 // 
TP = ATR * 1.85 // 
ELSE // --- VENTE : Palier 5 ---
IF (MM100 < MM200) AND (MM50 < MM100) AND (MM50 < MM200) THEN
TaillePosition = 1
SL = ATR * 1.35 // 
TP = ATR * 1.80 // 
ELSE // Sécurité erreur prog
// Paramètres par défaut
TaillePosition = 1
SL = ATR * 1.75 // 
TP = ATR * 2.20 // 
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

SELLSHORT TaillePosition CONTRACT AT MARKET // Instruction d'ouverture de position courte
ENDIF
ENDIF
ENDIF

IF (SL < 4) then
SL = 4 // Stop Loss mini : 4
ENDIF

// Définition d'un risque maximummal de pertes par position
// en cas d'évolution défavorable du prix de l'instrument
SET STOP pLOSS SL
SET TARGET pPROFIT TP

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 04 mai 2016 12:37

Je commence à le faire depuis peu : sur mes dernières versions uniquement (j'ai une version sur presque 1 mois de test actuellement).

Pour les 2 premiers codes sources que j'ai donné, j'ai vérifié qu'ils fonctionnaient à l'époque, mais surtout que c'était encore le cas sur les 10 derniers jours (ce qui n'est le cas que pour environ 10% de mes versions).

Mais ce n'est pas une période suffisante pour les utiliser sans surveillance et améliorations : mes exemples sont là pour aider les débutants afin de commencer leur propre système de trading et/ou à améliorer mes exemples en simulation (voire à 5€ le point maximum pour les plus courageux).

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 04 mai 2016 19:27

Pour comprendre le pourquoi du comment : ;)
"Note du soir" d'une de mes sources d'inspiration Jean Riviere :top:
Jean Riviere.jpg

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 19 mai 2016 13:00

Bonjour x3,

Moi j'utilise une nouvelle version ;)

Mais les résultats sont toujours là sur mes 2 anciennes versions :P

Exemple de la première version (avec ou sans le premier conseil de correction -un peu moins avec le 2ème conseil-) :

A noter que c'est une simulation à 1 € le point (il faut donc multiplier par 5 pour pouvoir comparer avec la dernière simulation : 31.10 € * 5 = 155,50 €) :
résumé v1.JPG
stats v1.JPG
positions v1.JPG
Soit une moyenne de presque 5 points par jour (31.10 points / 6.5 jours ouvrés) :top:

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 19 mai 2016 13:02

Une nouvelle simulation avec la 2ème version (toujours à 1€/point donc il faut multiplier par 5 pour comparer avec l'ancienne simulation : 24,20 * 5 = 121,00 €) :
résumé v2.JPG
stats v2.JPG
positions v2.JPG
Soit une moyenne de presque 4 points par jour (24.20 points / 6.5 jours ouvrés).

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 21 mai 2016 10:55

Bonjour,

Pour ceux qui préfèrent le lourd ;-)
résumé.JPG
stats.JPG
positions.JPG
Librement amélioré de cette souce http://www.prorealcode.com/prorealtime-trading-strategies/trend-surfer-dax/ :bravo:
Spoiler:

Code : #

// Trend Surfer DAX

// code-Parameter
DEFPARAM FlatAfter = 170000

// DAX trading window
ONCE BuyTimeMorning = 90000
ONCE SellTimeMorning = 110000
ONCE BuyTimeAfternoon = 150000
ONCE SellTimeAfternoon = 170000

// traders dynamic indicator
ONCE q = 14
ONCE r = 4
ONCE t = 29

// tdi filter parameter
ONCE longPriceLevel = 35
ONCE shortPriceLevel = 40
ONCE middleBandLevel = 40

// trading parameter
ONCE PositionSize = 1
ONCE sl = 4
ONCE tp = 8

// position management during trading window
IF (Time >= BuyTimeMorning AND Time <= SellTimeMorning) OR (Time >= BuyTimeAfternoon AND Time <= SellTimeAfternoon) THEN

// calculate TDI indicator
RSIasPrice = RSI[q](customclose)
Priceline = Average[r](RSIasPrice)
MiddleBand = Average[t]((RSIasPrice))

// open position
// long
IF Not LONGONMARKET AND Priceline > MiddleBand AND Priceline > longPriceLevel AND MiddleBand > middleBandLevel THEN
BUY PositionSize CONTRACT AT MARKET
ENDIF

// short
IF Not SHORTONMARKET AND Priceline CROSSES UNDER MiddleBand AND Priceline > shortPriceLevel THEN
SELLSHORT PositionSize CONTRACT AT MARKET
ENDIF

// close position
IF Time = SellTimeMorning OR Time = SellTimeAfternoon THEN
// long
IF LONGONMARKET THEN
SELL AT MARKET
ENDIF
IF SHORTONMARKET THEN
EXITSHORT AT MARKET
ENDIF
ENDIF

// stop and profit
SET STOP pLOSS sl
SET TARGET pPROFIT tp

ENDIF

Re: Suivi de mon algorithme de trading Dax 30

par shaka777 » 21 mai 2016 20:46

Anonymous99 a écrit :Bonjour,

Pour ceux qui préfèrent le lourd ;-)
résumé.JPG
stats.JPG
positions.JPG
Librement amélioré de cette souce http://www.prorealcode.com/prorealtime-trading-strategies/trend-surfer-dax/ :bravo:
Spoiler:

Code : #

// Trend Surfer DAX

// code-Parameter
DEFPARAM FlatAfter = 170000

// DAX trading window
ONCE BuyTimeMorning = 90000
ONCE SellTimeMorning = 110000
ONCE BuyTimeAfternoon = 150000
ONCE SellTimeAfternoon = 170000

// traders dynamic indicator
ONCE q = 14
ONCE r = 4
ONCE t = 29

// tdi filter parameter
ONCE longPriceLevel = 35
ONCE shortPriceLevel = 40
ONCE middleBandLevel = 40

// trading parameter
ONCE PositionSize = 1
ONCE sl = 4
ONCE tp = 8

// position management during trading window
IF (Time >= BuyTimeMorning AND Time <= SellTimeMorning) OR (Time >= BuyTimeAfternoon AND Time <= SellTimeAfternoon) THEN

// calculate TDI indicator
RSIasPrice = RSI[q](customclose)
Priceline = Average[r](RSIasPrice)
MiddleBand = Average[t]((RSIasPrice))

// open position
// long
IF Not LONGONMARKET AND Priceline > MiddleBand AND Priceline > longPriceLevel AND MiddleBand > middleBandLevel THEN
BUY PositionSize CONTRACT AT MARKET
ENDIF

// short
IF Not SHORTONMARKET AND Priceline CROSSES UNDER MiddleBand AND Priceline > shortPriceLevel THEN
SELLSHORT PositionSize CONTRACT AT MARKET
ENDIF

// close position
IF Time = SellTimeMorning OR Time = SellTimeAfternoon THEN
// long
IF LONGONMARKET THEN
SELL AT MARKET
ENDIF
IF SHORTONMARKET THEN
EXITSHORT AT MARKET
ENDIF
ENDIF

// stop and profit
SET STOP pLOSS sl
SET TARGET pPROFIT tp

ENDIF
Bonjour Anonymous99,

Félicitations pour ton travail et merci pour le partage.

Le backtest de la stratégie trend surfer dax est peut étre faux car l'entrée et la sortie se font sur la méme bougie, a voir en réel.

Sinon cette stratégie est trés intéressante.

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 22 mai 2016 16:50

Même en simulant avec un slippage de 50% (spread 1.5) le résultat reste intéressant, mais je suis en effet pressé de pouvoir tester cela en réel lundi ;-)
spread 1.5.JPG

Re: Suivi de mon algorithme de trading Dax 30

par Beboo » 22 mai 2016 17:04

Quel est ce soucis d'entrée et sortie sur la même Bougie ? ProOrder ne sait pas le faire en réel ?

Re: Suivi de mon algorithme de trading Dax 30

par shaka777 » 22 mai 2016 17:57

En réel, il ne doit pas y avoir de probléme, mais en backtest le résultat est faussé.

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 22 mai 2016 21:41

Merci Mat et shaka777 de m'avoir éclairé sur le sujet :mercichinois:

En effet "ProOrder - Probacktest : même code - comportement différent" : proorder-probacktest-meme-code-comporte ... t7937.html

Je vais voir pour continuer avec mes ut 6 voire 3 secondes ;)

Car le 5 minutes... Peut-être en 1 minute... A voir :roll:

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 22 mai 2016 22:00

En effet, avec du recul j'ai compris que ce n'était pas du slippage dont il était question :musique:

100% d'accord avec toi (il devrait mieux le signaler) :top:
Merci encore une fois de m'avoir fait économiser mon capital demain :mrgreen:

Je vais creuser la question du TDI (Traders Dynamic Index) car cela me semble une bonne piste...

Pour ceux qui ne savent pas : "c'est un indicateur qui utilise le rsi (Relative Strengh Index) et construit les bandes de bollinger du rsi. Il est composé de 5 courbes : Bolinger Up et Down du rsi, moyenne mobile associée aux Bollingers, rsi Price Line et Trade Signal Line (moyennes mobiles du rsi)."

Re: Suivi de mon algorithme de trading Dax 30

par Anonymous99 » 30 mai 2016 23:24

Si vous voulez tester un script basé sur les zones de surachat/survente du RSI ;)
RSI Andlil.JPG
Spoiler:

Code : #

DEFPARAM CumulateOrders = False
DEFPARAM PreLoadBars = 200
DEFPARAM FlatAfter = 194500

ONCE MorningS = 90000
ONCE MorningE = 123000
ONCE AfternoonS = 130000
ONCE AfternoonE = 173000
n = 1 // quotité

RSI14 = RSI[14](close)
ATR = AverageTrueRange[14](close)

AverageATR = Average[4 * 15](ATR) // 1h
SL = ATR * 1.6

IF (Month = 5 AND Day = 1) OR (Month = 12 AND (Day = 24 OR Day = 25 OR Day = 26 OR Day = 30 OR Day = 31)) THEN
DayTrading = 0
ELSE
DayTrading = 1
ENDIF

// Limitation bons jours et bonnes heures
IF (DayTrading = 1) AND ((Time >= MorningS AND Time <= MorningE) OR (Time >= AfternoonS AND Time <= AfternoonE)) THEN
trading = 1
ELSE
trading = 0
ENDIF

// Ni le lundi matin avant 09h30, ni le vendredi après-midi :
IF ((CurrentDayOfWeek = 1) AND (time < 093000)) OR ((CurrentDayOfWeek = 5) AND (time >= 130000)) THEN
trading = 0
ENDIF

IF (ATR > AverageATR * 3) OR (ATR < AverageATR * 0.20) THEN
trading = 0
ENDIF

// Conditions pour ouvrir une position acheteuse
IF trading AND (RSI14 CROSSES OVER 25) THEN
BUY n CONTRACT AT MARKET
SET STOP pLOSS SL
ENDIF

// Conditions pour fermer une position acheteuse
IF LONGONMARKET AND ((RSI14 CROSSES UNDER 35) OR (RSI14 CROSSES UNDER 25) OR (RSI14 CROSSES OVER 75)) THEN
SELL AT MARKET
ENDIF

// Conditions pour ouvrir une position en vente à découvert
IF trading AND (RSI14 CROSSES UNDER 75) THEN
SELLSHORT n CONTRACT AT MARKET
SET STOP pLOSS SL
ENDIF

// Conditions pour fermer une position en vente à découvert
IF SHORTONMARKET AND ((RSI14 CROSSES OVER 65) OR (RSI14 CROSSES OVER 75) OR (RSI14 CROSSES UNDER 25)) THEN
EXITSHORT AT MARKET
ENDIF

Sujets similaires
Suivi de mon algorithme de trading cac 40
Fichier(s) joint(s) par Benoist Rousseau » 22 nov. 2015 20:43 (86 Réponses)
Suivi de mon algo de trading sur le Dax
par Gavrinis » 19 mai 2016 18:30 (11 Réponses)
Créer un algorithme de trading
par Benoist Rousseau » 05 nov. 2017 14:33 (1 Réponses)
Algorithme de trading.
par zeb1st » 10 nov. 2019 08:51 (0 Réponses)
Sondage: création algorithme gestion d'actifs
par artes88 » 27 janv. 2015 18:04 (4 Réponses)
Algorithme prévisionnel
par Ernesto » 10 févr. 2015 17:46 (10 Réponses)
Nouvel algorithme Google pour les sites adaptés aux mobiles
Fichier(s) joint(s) par GOLDENBOY » 22 avr. 2015 02:16 (4 Réponses)
Idée d'algorithme ultra rapide
par winacash86 » 08 mai 2015 15:30 (2 Réponses)
Stratégie et programmation d'algorithme pour la backtester
Fichier(s) joint(s) par falex » 12 juin 2015 23:12 (9 Réponses)
Développement algorithme HFT
par Epitaf » 03 oct. 2016 21:57 (8 Réponses)