Codage Breakeven

Forum sur le trading automatique et algorithmique : systèmes, backtests, robots de trading, résultats et limites, code à l'appui.
Avatar du membre
Martin Gale
Messages : 5
Enregistré le : 17 juil. 2021 08:42

Codage Breakeven

Message non lu par Martin Gale »

Bonjour à tous,

Je me permets de vous solliciter pour avoir votre avis sur la question du breakeven, ou tout proche au dessus, associé à un algorithme.
Débutant sur le forum, j'ai un peu cherché, mais je ne crois pas que cela ai été abordé.

Je ne sais pas si la question est pertinente dans la mesure où on peut mettre en place un stop suiveur.
Mais ça doit l'être dans la mesure où ce code existe déjà:

https://www.prorealcode.com/blog/learning/breakeven-code-automated-trading-strategy/

Est-ce que certains d'entre vous l'utilise déjà?
Est-il possible de l'utiliser avec un algo en long et en short?

J'ai quelques algorithmes en démo que je teste avant pour en connaitre l'efficacité et je souhaiterais y assoscier cette option.
Est-ce que certains d'entre vous pourraient m'éclairer?

Merci
Avatar du membre
AlainC
Ewok
Messages : 24
Enregistré le : 27 juin 2019 11:43

Re: Codage Breakeven

Message non lu par AlainC »

Bonjour Martin. Que ce soit un break even ou un stop suiveur, la logique est la même. Il faut définir un ordre stop (à répéter à chaque occurrence de bougie) au niveau auquel on veut sortir (le niveau d’entrée pour BE et le niveau de clôture moins x points pour le stop suiveur).
Si tu es en position long, il faut utiliser un ordre « Sell at <niveau> Stop ». Si tu es en short, « Exitshort at <niveau> stop ».
Avatar du membre
ChristelleP
La Battante
Messages : 68845
Enregistré le : 23 janv. 2018 09:53

Re: Codage Breakeven

Message non lu par ChristelleP »

Merci AlainC pour ces informations utiles :mercichinois:
Avatar du membre
Francis1
Le Sage
Messages : 30212
Enregistré le : 20 mars 2019 15:50

Re: Codage Breakeven

Message non lu par Francis1 »

Merci AlainC
Avatar du membre
Martin Gale
Messages : 5
Enregistré le : 17 juil. 2021 08:42

Re: Codage Breakeven

Message non lu par Martin Gale »

Merci AlainC pour ce retour d'info.

Je pense que cela est valable pour un trading manuel seulement..? (Ou je n'ai pas bien compris la réponse)
Je suis novice pour le moment, j’essaie quelques algo sur prt selon quelques configurations via certains indicateurs. Certains me semblent plutôt cohérents à la vue de la tendance progressive et régulière de la courbe des gains, du ratio, du drawdown..etc.
J'y ai aussi intégré des TP et des SL.

Ma question était plus de savoir si-il était possible d'intégrer ces lignes de code, issues de PRC, dans les lignes des codes que j'ai créé et surtout à quel endroit du code.. j'imagine que pas mal de chose sont à respecter pour ce genre d'écriture et le bon fonctionnement. Et cela pour automatiser ce BE quoi qu'il arrive.

En fait, je vous pose cette question parce que j'ai l'impression qu'un SL peut "glisser" et ne pas se "verrouiller" quand le prix revient.. ai-je tors?
Mon inexpérience me pousse peut être à ne pas me poser les bonnes questions ou à me focaliser sur quelque chose sans importance.

Je vais aussi creuser de mon côté bien entendu, essayer des configurations de codes, ce n'est pas en restant sur le bord de la piscine qu'on apprend à nager. :D
Avatar du membre
dav
Chevalier Émérite Jedi
Messages : 3763
Enregistré le : 08 mars 2015 14:34

Re: Codage Breakeven

Message non lu par dav »

Je m'étais déjà posé la question

Merci
ezelroch
Ewok
Messages : 14
Enregistré le : 19 sept. 2021 06:36

Re: Codage Breakeven

Message non lu par ezelroch »

breakeven pour un bot short :

// BE FOR SHORT---------------------------------------------------------------------------------------------

startBreakevenS1 = X
PointsToKeepS1 = Y

IF NOT ONMARKET THEN
breakevenLevel=0
ENDIF

IF SHORTONMARKET and tradeprice(1)-close>=startBreakevenS1*pipsize THEN
breakevenLevel = tradeprice(1)-PointsToKeepS1*pipsize
step = 1
ENDIF

IF breakevenLevel>0 THEN
EXITSHORT AT breakevenLevel STOP
ENDIF

breakeven pour un bot Long :

// BE FOR LONG---------------------------------------------------------------------------------------------

startBreakeven0 = X
PointsToKeep0 = Y

IF NOT ONMARKET THEN
breakevenLevel=0
ENDIF

IF longonmarket and close - tradeprice(1) >= StartBreakeven0 * pipsize THEN
BreakevenLevel = tradeprice(1) + PointsToKeep0 * pipsize
ENDIF

IF breakevenLevel>0 THEN
sell AT breakevenLevel STOP
ENDIF


Avec X : a combien de point du point d'entrée le BE se met en route
avec Y : a combien de point du point d'entrée le bot clôture la position
Avatar du membre
dav
Chevalier Émérite Jedi
Messages : 3763
Enregistré le : 08 mars 2015 14:34

Re: Codage Breakeven

Message non lu par dav »

merci pour le code.
Avatar du membre
dav
Chevalier Émérite Jedi
Messages : 3763
Enregistré le : 08 mars 2015 14:34

Re: Codage Breakeven

Message non lu par dav »

Ton code a redonné vie à 2 de mes robots :merci: :bravo:
ezelroch
Ewok
Messages : 14
Enregistré le : 19 sept. 2021 06:36

Re: Codage Breakeven

Message non lu par ezelroch »

avec plaisir, si tu as besoin d'autre chose je serai ravi de répondre :)
Avatar du membre
Martin Gale
Messages : 5
Enregistré le : 17 juil. 2021 08:42

Re: Codage Breakeven

Message non lu par Martin Gale »

Oh! Merci beaucoup pour la réponse ezelroch.
Je ne suis pas passé sur le forum depuis un petit bout de temps.
Je vais essayer cela au plus vite.
dav, depuis le temps tu as surement eu l'occasion d'essayer et d'avoir un retour la dessus?
Avatar du membre
Martin Gale
Messages : 5
Enregistré le : 17 juil. 2021 08:42

Re: Codage Breakeven

Message non lu par Martin Gale »

Bonsoir ezelroch
Je me permets de revenir vers toi, il y'a un truc que je n'ai pas du saisir.
Y'a t'il une position particulière dans le code où mettre ces lignes?

Merci
ezelroch
Ewok
Messages : 14
Enregistré le : 19 sept. 2021 06:36

Re: Codage Breakeven

Message non lu par ezelroch »

hello, non pas du tout, tu peux le mettre où tu veux
Avatar du membre
Lorci
Compagnon Jedi
Messages : 1978
Enregistré le : 31 mai 2020 16:24

Re: Codage Breakeven

Message non lu par Lorci »

Attention, bien avoir en tête que tradeprice(1) est le prix de la dernière transaction et pas forcément le prix d'entrée du trade.
Donc, si vous combinez break even et clôtures partielles et que vous voulez que la première clôture partielle se produise avant la mise à be, dans
"IF SHORTONMARKET and tradeprice(1)-close>=startBreakevenS1*pipsize THEN
breakevenLevel = tradeprice(1)-PointsToKeepS1*pipsize"

tradeprice(1) sera le prix de la clôture partielle et pas le prix d'entrée du trade

Pour éviter ça, on peut coder par exemple dans le corps principal du programme:

if Not ONMARKET THEN
IsOnMarket = 0
ENDIF

if ONMARKET and IsOnMarket = 0 THEN
OpenPrice = tradeprice(1)
IsOnMarket = 1
ENDIF

et utiliser OpenPrice au lieu de tradeprice(1)

Bien entendu, cela ne fonctionne que si vous n'avez qu'une position ouverte (pas de renforcement de position)