Bonjour !
Je souhaite partager avec vous mon premier code ProOrder.
Pour le premier, je suis resté sur du très simple, en fait c’est une stratégie classique que j’applique en manuel.
Stratégie de scalping sur l eurusd en M5. Seulement deux indicateurs : les bandes de bollinger et une moyenne mobile 50.
C’est très certainement améliorable !
Bonne soirée.
TheAccountant.
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position avant l'heure spécifiée
noEntryBeforeTime = 090000
timeEnterBefore = time >= noEntryBeforeTime
// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position après l'heure spécifiée
noEntryAfterTime = 170000
timeEnterAfter = time < noEntryAfterTime
// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
// Conditions pour ouvrir une position acheteuse
indicator1 = BollingerDown[20](close)
c1 = (close < indicator1)
indicator2 = Average[50](close)
c2 = (close > indicator2)
IF (c1 AND c2) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Conditions pour fermer une position acheteuse
indicator3 = Average[20](close)
c3 = (close CROSSES OVER indicator3)
IF c3 THEN
SELL AT MARKET
ENDIF
// Conditions pour ouvrir une position en vente à découvert
indicator4 = BollingerUp[20](close)
c4 = (close > indicator4)
indicator5 = Average[50](close)
c5 = (close < indicator5)
IF (c4 AND c5) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Conditions pour fermer une position en vente à découvert
indicator6 = Average[20](close)
c6 = (close CROSSES UNDER indicator6)
IF c6 THEN
EXITSHORT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pLOSS 30
j’ai utilisé Walk Forward ( merci Nicolas pour la vidéo tuto) et j’ai du mal a comprendre les résultats…
En passant la moyenne mobile 50 sur une periode de 72 et le SL de 30 à 25,(variable optimisé par WF) la stratégie semble plus profitable. Mais les résultat de WF Hors échantillon sont plutot differents et je ne sais pas comment interpreter ces résulats.
ex :
hors échantillon 1 : avec MA72 et SL 25 me donne une Efficacité WF de -18%
Hors echantillon 2 : avec MA 82 et SL 50 me donne une efficacité WF de 129%
Du coup je ne sais pas qu’elle variable garder au final…
Les paramètres optimisés à garder en mémoire sont : tous .. et aucuns. L’outil d’optimisation Walk Forward est un optimiseur amélioré qui permet de ne pas optimiser une période complète de l’historique mais plutôt de la découper en “tranches” avec des périodes où on optimise la stratégie (In Sample) et des périodes où on teste ces paramètres (Out of Sample), ce qui équivaut à trader la stratégie en temps réel avec des paramètres optimisés et voir comment elle se comporte, mais de façon ‘fictive’ puisque cela se fait dans un backtest.
voici une version amélioré pour eurusd ainsi qu’une version pour le dax.