J’ai juste codé en langage PRT la stratégie détaillée dans le fichier PDF joint.
Il y a surement moyen de l’améliorer en optimisant les paramètres (Cf le fichier PDF) et en mettant un filtre de tendance. C’est mon prochain travail.
Voici le code:
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Conditions pour ouvrir une position acheteuse
indicator1 = ADX[15]
c1 = (indicator1 >= 30)
indicator2 = BollingerDown[20](weightedClose)
c2 = (close < indicator2)
IF c1 AND c2 THEN
BUY 1 SHARES AT MARKET
//définition du stop sur achat
ASATR= tradeprice - 5*averagetruerange[10]
ENDIF
if longonmarket then
SET stop loss ASATR
endif
// Conditions pour fermer une position acheteuse
indicator3 = Average[20](weightedClose)
c3 = (close >= indicator3)
IF c3 THEN
SELL AT MARKET
ENDIF
// Conditions pour ouvrir une position en vente à découvert
indicator4 = ADX[15]
c4 = (indicator4 >= 30)
indicator5 = BollingerUp[20](weightedClose)
c5 = (close > indicator5)
IF c4 AND c5 THEN
SELLSHORT 1 SHARES AT MARKET
//définition du stop sur vente
VSATR= tradeprice + 5*averagetruerange[10]
ENDIF
if Shortonmarket then
SET stop loss VSATR
endif
// Conditions pour fermer une position en vente à découvert
indicator6 = Average[20](weightedClose)
c6 = (close < indicator6)
IF c6 THEN
EXITSHORT AT MARKET
ENDIF
Bonjour Demon,
C’est très bien seulement l’idée est de développer des stratégies sur 200.00 bars en mode tick by tick.
Bon courage 😉
Bonjour;
je ne comprends pas:
“”C’est très bien seulement l’idée est de développer des stratégies sur 200.00 bars en mode tick by tick!!!!!!!”
J’ai envoyé la stratégie avec un test sur une courte période. Est ce que c’est l’important? C’était parce que j’avais hâte de rendre un peu tous les dons qui me sont faits en accédant à ce site.
comme je l’indique c’est une idée à aprofondir venant de quelqu’un (Laurent Pichard)dont cela a été le métier pendant 10 ans.
Sur le PDF que je n’ai pas envoyé suite à une erreur que je n’ai pas pu annuler, il y a des tests sur plusieurs marchés et sur de longues périodes. (PDF joint)
Par contre, je ne suis pas sùr que mon programme pour le stop soit correct
Merci pour vos encouragements.
Bonne soirée.
Démon
Merci pour le partage de cette stratégie. Pour que l’on puisse mesurer les performances et la robustesse de ta stratégie, il est important de la tester sur une période significative. Une période de 3 mois ou de 1000 unités ne suffit pas. Si tu relance ton test sur 100 000 unités soit 2 ans d’historiques, tu noteras que la stratégie est perdante depuis mars 2017.
Avec des ajustements complémentaires cette stratégie sera peut être rentable.
Merci @Demon pour le partage de ton code. Rien ne sera jamais parfait et tu as bien fait de poster la stratégie, si personne n’ose le faire je ne vois pas bien à quoi sert le forum .. 😐
Concernant ton stoploss, en effet il n’est pas correct, l’instruction “set stop loss” nécessite la valeur du stoploss, soit l’écart avec le prix d’ouverture, tu n’as donc pas besoin de faire le calcul toi même, ça se coderait donc comme ceci:
VSATR= 5*averagetruerange[10]
D’accord à 100% Nicolas.
Ce forum et surtout celui qui l’anime! sont une mine d’or pour nous. Y’a pas de problèmes, que des solutions 😉
Bonjour;
ci joint une image de la stratégie testée sur la plus longue période possible.
Tout les sous jacent que j’ai testé ont donné de mauvais résultats.
Pour une stratégie contrarienne, le taux de réussite est mauvais contrairement aux exemples figurant dans le PDF. Je pense surtout à la stratégie RSI de Williams qui est aussi une stratégie contrarienne mais qui a un taux de réussite conséquent
Je reposte le fichier ITF car j’ai affiché sur le graphique les Stoploss et c’est un exemple de l’application de l’instruction Graphonprice qui permet de vérifier visuellement les variables du programme.
J’espère que cela aidera.
Bonne soirée.
Edmond
Post scriptum:
Merci à Nicolas pour le paramétrage du STPO
Post scriptum (V1):
Merci à Nicolas pour le paramètrage du STOP.
Résultat ‘normal’ pour une stratégie de mean reversion, fonctionne évidemment mieux lorsque le marché est en période de range.