Bonjour,
Je souhaiterai automatiser ma stratégie manuelle en stratégie semi-auto (c’est à dire que je lance le trading auto manuellement et uniquement quand je l’ai décidé en fonction de certains critères et je l’arrête égelement quand je l’ai décidé).
Le résultat est très positif (entee 80% et 100%) mais j’ai besoin de l’affiner pour un meilleur rendement et je n’y arrive pas. J’espère que Nicolas verra mon post et me répondra, car visiblement vous êtes vraiment un pro de la programmation et je vous en félicite 🙂
Voici le code généré par PRT quand je rentre mes critères:
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Conditions pour ouvrir une position acheteuse
indicator1 = ExponentialAverage[5](close)
c1 = (close <= indicator1)
indicator2 = Average[20](close)
c2 = (close <= indicator2)
indicator3 = Average[20](close)
indicator4 = Average[50](close)
c3 = (indicator3 > indicator4)
IF c1 AND c2 AND c3 THEN
BUY 2 SHARES AT MARKET
ENDIF
// Conditions pour fermer une position acheteuse
indicator5 = BollingerUp[20](close)
c4 = (close >= indicator5)
IF c4 THEN
SELL AT MARKET
ENDIF
Voici ce que j’aimerai ajouté:
1 – vendre la moitié de la position à chaque vente (mais sur les 3ières), à partir de la 4ième les ventes sont intégrales (car j’achète à chaque repli en 300 tick – 1mn)
2 – vendre l’intégralité de toutes les positions au croisement par le bas des MM20 et MM50 et si la cloture de la bougie cloture en dessous des BB du bas.
3 – ajouter à mon sétup d’achat: si l’écart entre la MM20 et MM50 est supérieur à 0.1% (je modifirai ce % selon les tests)
Merci beaucoup pour votre aide 🙂
Sophie
Bonjour,
Il n’y a personne pour m’aider?
Merci par avance
1 – vendre la moitié de la position à chaque vente (mais sur les 3ières), à partir de la 4ième les ventes sont intégrales (car j’achète à chaque repli en 300 tick – 1mn)
La moitié du dernier ordre (donc 1 seul contrat ici) ou de toutes les positions d’achat cumulées ?
Bonjour,
Merci pour votre réponse.
Vendre la moitié sur les 3 premiers ordres
Tu n’as pas compris la question, pas grave. Dans ce code, on vend une demi position à chaque condition de vente, jusqu’à la troisième fois seulement:
(la quantité de lot initiale est à renseigner dans la variable “q” au début du code).
// Définition des paramètres du code
DEFPARAM CumulateOrders = true // Cumul des positions désactivé
q = 2 //quantité de lot de chaque position ouverte
// Conditions pour ouvrir une position acheteuse
indicator1 = ExponentialAverage[5](close)
c1 = (close <= indicator1)
indicator2 = Average[20](close)
c2 = (close <= indicator2)
indicator3 = Average[20](close)
indicator4 = Average[50](close)
c3 = (indicator3 > indicator4)
ecart = indicator3/indicator4>1.001
IF c1 AND c2 AND c3 and ecart THEN
BUY q SHARES AT MARKET
ENDIF
// Conditions pour fermer une position acheteuse
indicator5 = BollingerUp[20](close)
c4 = (close >= indicator5)
IF c4 and countoflongshares<q*3 THEN
SELL q/2 shares AT MARKET
elsif c4 then
sell at market
ENDIF
if indicator3<indicator4 and close crosses under BollingerDown[20](close) then
sell at market
endif
graph countoflongshares
Attention toutefois les positions se cumulent à chaque nouvelle bougie car il n’y a pas d’éléments déclencheurs pour rentrer en position hormis une condition de moyennes mobiles dessus/dessous (qui s’avère être vrai quasiment tout le temps).
Merci beaucoup !! pour votre contribution.
Mais il me prend 4 positions d’achat en même temps. Je peux vous faire une capture d’écran, je pense que cela sera plus facile.
Voici une photo avec des explications sur graph qui reflete mon trading manuel. Merci beaucoup pour votre aide car cela fait des mois que je suis dessus mais sans succes…
Non pas 4 en même temps mais bien 1 par bougie comme je l’expliquai dans mon message précédent.
Voici une photo avec des explications sur graph qui reflete mon trading manuel. Merci beaucoup pour votre aide car cela fait des mois que je suis dessus mais sans succes…
En effet, ça n’a absolument rien à voir avec le code que vous m’avez demandé de modifier, on aurait du commencer par là ! 😐
Voici la photo avec votre code, il y a bien 4 positions ouvertes.
Oui j’aurai du vous donner dès le départ la photo mais je n’ai pas osé, mais finalement c’est plus clair sur une photo avec démonstration.
Pensez vous arriver à coder le shéma qui est sur ma photo?
Merci beaucoup pour votre aide
En effet, mais après avoir lu 4 fois le code, où à chaque fois les conditions sont bien réunies pour ouvrir une position, selon le code du premier post 🙂
Oui sauf pour MM20 et MM50 “flat”, ce qui est subjectif, visuel et difficilement reproductible par le code, car il faudrait énoncer des critères pour le déterminer, en auriez-vous ?
Oui sauf pour MM20 et MM50 “flat”, ce qui est subjectif, >> C’est pour ça que j’ai intégré un écart minimum en la MM20 et MM50 pour éviter la prise de position si flat
Pour éviter les postions multiples, il faut dire: 1 seule position, l’autre doit être prise au second rebond uniquement comme sur la photo, mais je ne sais pas comment le formuler
“ça n’a absolument rien à voir avec le code que vous m’avez demandé de modifier” >> pour moi c’est le même code (c’est la base de ce que je sais faire sur PRT) sauf que je souhaite ajouté des codes pour l’affiner afin qu il colle au plus près à mon trading manuel.
Pas de soucis 🙂 Je vais faire mon possible pour que ça colle à votre stratégie discrétionnaire.
Par contre, il faudrait me définir ce que vous appelez “le dernier plus bas”, c’est un prix historique ou le prix d’ouverture du dernier achat ?