Bonjour,
Je cherche à intégrer dans une stratégie simple en UT=1h un code permettant de faire en sorte que le code ne prenne plus d’autres positions le même jour dès qu’une première position est gagnante.
Autrement dit :
- Position #1 gagnante => plus de de position prise jusqu’au lendemain
- Position #1 perdante => possibilité de reprendre une deuxième position toujours ouverte / Position #2 gagnante => plus de de position prise jusqu’au lendemain / Position #2 perdante => possibilité de reprendre une trosième position toujours ouverte / etc…
Autres caractéristiques :
- Cumul de position interdit
- Plage de possibilité de prise d’ordre et d’ouverture du système 7h00-19h00
Eh bien je n’y arrive pas…
Quelqu’un aurait-il un bout de code dans ce genre svp ?
D’avance merci
Cela a été maintes fois codés sur le site, tu trouveras des liens ci-dessous en Français: (certainement d’autres dans les autres langues):
un seul trade par jour ?
1 position par jour
Limite de 3 trades par jour
EDIT (d’autres en anglais finalement)
trade only once per day.
Quick Question: One order per day
only one trade per day on 3 strategies
Bonne lecture ! 🙂
Merci Nicolas.
Certes, j’ai vu ces posts, mais je cherche plus spécifiquement 1 trade par jour seulement “dès que gagnant”.
Je vais tout de même prendre le temps de relire tout cela au cas où quelquechose m’aurait échappé.
Merci encore.
1 trade par jour seulement “dès que gagnant”.
En utilisant POSITIONPERF.
Pour t’assurer que le trade est du jour, il faut le comparer au premier barindex de la journée, si il est supérieur alors il est du jour bien entendu.
Oui merci de ta confirmation, ce sont bien les instructions que j’ai utilisé dans mon code, sans succès jusqu’ici.
Je vais me replonger dans mon code et revenir vers le forum si besoin dans les prochains jours.
Merci.
Bonjour à tous les 2 😉
Je suis au même questionnement que toi Toto. Mais sur du MTF.
J’ai essayé avec l’exemple qui avait été donné à beloul sur le forum ici (https://www.prorealcode.com/topic/code-une-question/), mais j’ai un message d’erreur (voir screenshot)
//reset à chaque nouvelle journée de toto
if intradaybarindex=0 then
cestlapero=0
endif
timeframe(4 hours)
indicator1 = CALL "SIGNAL"(close)
timeframe(1 minute,updateonclose)
IF indicator1=1 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and cestlapero=0 THEN
BUY 1 CONTRACT AT MARKET
cestlapero=1
ENDIF
IF indicator1=-1 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and cestlapero=0 THEN
SELLSHORT 1 CONTRACT AT MARKET
cestlapero=1
ENDIF
Du coup, avez-vous trouvé une solution? Et si oui, est-elle compatible avec le MTF?
Tu as du changé ton code depuis l’image du message d’erreur. En effet, on ne peut renseigner une variable avec des valeurs différentes dans 2 timeframes différents, dans le message il parle de la variable “toto”, mais je pense qu’en fait c’est plutôt ta variable “cestlapero” qui est en faute ! Celle-ci est déclaré (on lui affecte une valeur) à la fois dans le timeframe default et dans le timeframe 4 heures.
Bonjour Nicolas,
Merci pour ton retour (et ta patience ;)), c’est top!
Donc, si j’ai bien compris il faut que le code « if intraday…. » soit dans le timeframe Defaut?
Je testerai ça demain et te ferai un retour.
Excellente journée
Oui c’est ça, il devrait être situé en dessous de la ligne qui déclare que l’on est en timeframe “default”.