Stop Profit à X en fonction d'un gain à Y
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
Une petite remarque concernant le cas monté à 11.4 (avec seuil à10), mais clôture en dessous de 10.
Tu peux (si tu veux) modifier dans le programme pour que la condition de comparaison au seuil ne se fasse pas sur la valeur "close" mais sur la valeur "high" (cas LONG) ou "low" (cas short).
Cette condition sera en revanche forcément lue à la cloture de la Bougie de l'ut de ton algo (çà, çà ne change jamais).
Je ne recommande pas (généralement) de faire çà.
Certes dans "la plupart des cas", tu vas permettre le déclenchement du "relevage de ton stop de protection"...
Mais dans quelques cas, la distance de STOP mini ne sera plus respectée (par exemple dans le cas du DAX si tu passes par 11.4 mais que tu clôtures à moins de 5)... et là le programme ne peut placer le STOP et tu rentres dans un espèce de trou noir où tu as perdu le contrôle de ton robot qui risque de : ne plus avoir de STOP du tout ou de s'arrêter sur une erreur "impossible de placer ordre" etc...
Voilà, pour info donc...
Tu peux (si tu veux) modifier dans le programme pour que la condition de comparaison au seuil ne se fasse pas sur la valeur "close" mais sur la valeur "high" (cas LONG) ou "low" (cas short).
Cette condition sera en revanche forcément lue à la cloture de la Bougie de l'ut de ton algo (çà, çà ne change jamais).
Je ne recommande pas (généralement) de faire çà.
Certes dans "la plupart des cas", tu vas permettre le déclenchement du "relevage de ton stop de protection"...
Mais dans quelques cas, la distance de STOP mini ne sera plus respectée (par exemple dans le cas du DAX si tu passes par 11.4 mais que tu clôtures à moins de 5)... et là le programme ne peut placer le STOP et tu rentres dans un espèce de trou noir où tu as perdu le contrôle de ton robot qui risque de : ne plus avoir de STOP du tout ou de s'arrêter sur une erreur "impossible de placer ordre" etc...
Voilà, pour info donc...
-
fxbravo
- Membre du Conseil Jedi
- Messages : 8273
- Enregistré le : 18 févr. 2016 09:38
Re: Stop Profit à X en fonction d'un gain à Y
Merci pour les explications Toto 
Sinon, nouvelle question de débutant en trading auto:
J'ai une position qui s'est ouverte, le SL s'est transformé comme prévu en StopProfit, puis le cours est venu le toucher. Je suis donc sorti en positif, c'est cool.
Ma question est la suivante: ProOrder ne relance pas la stratégie si le cours retouche le même niveau?
Car je viens de vérifier, il n'y a pas de nouvel ordre de créer suite à la clôture.
Est-ce un paramètre à modifier, ou tout simplement ce n'est pas possible?
Merci d'avance pour ton retour
Sinon, nouvelle question de débutant en trading auto:
J'ai une position qui s'est ouverte, le SL s'est transformé comme prévu en StopProfit, puis le cours est venu le toucher. Je suis donc sorti en positif, c'est cool.
Ma question est la suivante: ProOrder ne relance pas la stratégie si le cours retouche le même niveau?
Car je viens de vérifier, il n'y a pas de nouvel ordre de créer suite à la clôture.
Est-ce un paramètre à modifier, ou tout simplement ce n'est pas possible?
Merci d'avance pour ton retour
-
fxbravo
- Membre du Conseil Jedi
- Messages : 8273
- Enregistré le : 18 févr. 2016 09:38
Re: Stop Profit à X en fonction d'un gain à Y
Bon, en relisant, j'ai ma réponseToto le Héros a écrit :De ce fait, le code est conçu pour ne prendre qu'UNE et UNE SEULE POSITION. C'est à dire que quand une clôture de position a eu lieu, il n'en reprendra pas sans que tu STOP la stratégie (bouton évoqué juste avant, mais là tu le fais alors que le programme ne tourne pas... Il te faudra ensuite mettre la stratégie à la corbeille (icône de poubelle à côté du STOP) et la recharger...
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
En pratique c'est possible. J'ai bloqué la possibilité dans le programme avec la dernière condition "if strategyprofit=0" qui théoriquement n'arrive jamais alors qu'une position a été prise (sauf dans le cas où le système parfaitement flat en fin de journée... mais dans ce cas tu as jusqu'au lendemain matin pour l'arrêter manuellement et redémarrer un nouveau programme avec une nouvelle cible d'entrée).
Tu peux la retirer (la condition strategyprofit=0) si tu le souhaites et le programme reprendra une position dès que les conditions seront de nouveau réunies (ENTREE).
Tu peux la retirer (la condition strategyprofit=0) si tu le souhaites et le programme reprendra une position dès que les conditions seront de nouveau réunies (ENTREE).
-
fxbravo
- Membre du Conseil Jedi
- Messages : 8273
- Enregistré le : 18 févr. 2016 09:38
Re: Stop Profit à X en fonction d'un gain à Y
Merci pour tes explications Toto 
Je teste ça et te fais un retour.
Je teste ça et te fais un retour.
-
fxbravo
- Membre du Conseil Jedi
- Messages : 8273
- Enregistré le : 18 févr. 2016 09:38
Re: Stop Profit à X en fonction d'un gain à Y
Salut Toto,
Pour le moment, tout roule
Sinon, je me demandais s'il était possible, une fois le Stop profit enclenché, de rajouter un trailing stop qui se met à XX% du gain en cours (ou a la cloture de la Bougie)
En gros, ma position en cours est à +50 points. Mon SL est passé en StopProfit à +1. Donc au pire je sors à 0 (cout du SLG de 1).
Mais je me suis dit, c'est dommage de ne pas optimiser la chose
Donc, dans mon exemple ci-dessus, sur une stratégie basée sur UT1min, je passe à +50 (Oui, gros break out
). Je souhaiterais, si c'est possible, mettre en place le fameux %TrailingStop: ce qui me donnerai un Stop Profit à +10 (20% de 50 points). Et qui ne peut que monter, of course
. Donc si à la Bougie d'après on descend à +30, le SP reste à +10. Mais si ca remonte à +100, le SP se met à +20, etc.....
Penses-tu que cela soit possible à coder?
Pour le moment, tout roule
Sinon, je me demandais s'il était possible, une fois le Stop profit enclenché, de rajouter un trailing stop qui se met à XX% du gain en cours (ou a la cloture de la Bougie)
En gros, ma position en cours est à +50 points. Mon SL est passé en StopProfit à +1. Donc au pire je sors à 0 (cout du SLG de 1).
Mais je me suis dit, c'est dommage de ne pas optimiser la chose
Donc, dans mon exemple ci-dessus, sur une stratégie basée sur UT1min, je passe à +50 (Oui, gros break out
Penses-tu que cela soit possible à coder?
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
Salut FX,
Oui bien sûr, il y a des codes assez basiques pour faire du trailing stop dans un sens ou l'autre.
Je peux jeter un oeil là-dessus demain soir au + tard je pense et reviendrai vers toi avec un code amélioré.
J'ai aussi pensé à une petite astuce MTF qui pourrait améliorer le code (de manière optionnelle). Je verrai si j'ai le temps d'implémeter çà aussi.
Oui bien sûr, il y a des codes assez basiques pour faire du trailing stop dans un sens ou l'autre.
Je peux jeter un oeil là-dessus demain soir au + tard je pense et reviendrai vers toi avec un code amélioré.
J'ai aussi pensé à une petite astuce MTF qui pourrait améliorer le code (de manière optionnelle). Je verrai si j'ai le temps d'implémeter çà aussi.
-
fxbravo
- Membre du Conseil Jedi
- Messages : 8273
- Enregistré le : 18 févr. 2016 09:38
Re: Stop Profit à X en fonction d'un gain à Y
Super Toto, merci beaucoup pour ton aide 
J'allais justement te demander si tu pouvais faire un petit cours sur le MTF
Sinon, petit retour de l'algo: testé en réel avant 15h, le trade s'enclenche impeccablement, mais en regardant de plus près je vois que le SL est à -58.8 au lieu des -30 paramétré! gross stress
En fait, c'était la distance mini du SL imposé par ig pour cause de BCE
Du coup, y-a-t-il un moyen d'annuler le système si le SL imposé par ig est supérieur à celui défini par le système?
Merci encore pour ton aide, j'apprends beaucoup (et je me suis mis à regarder les vidéos de prorealcode pour me former
)
J'allais justement te demander si tu pouvais faire un petit cours sur le MTF
Sinon, petit retour de l'algo: testé en réel avant 15h, le trade s'enclenche impeccablement, mais en regardant de plus près je vois que le SL est à -58.8 au lieu des -30 paramétré! gross stress
En fait, c'était la distance mini du SL imposé par ig pour cause de BCE
Du coup, y-a-t-il un moyen d'annuler le système si le SL imposé par ig est supérieur à celui défini par le système?
Merci encore pour ton aide, j'apprends beaucoup (et je me suis mis à regarder les vidéos de prorealcode pour me former
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
Salut FX,
Je suis en cours de test sur la version TS (trailing stop).
Je reviens vers toi dès que ok.
J'ai pas fait encore mon mini journalier ce matin en manuel, donc j'aurai peut-être un peu moins de temps que prévu ; mais çà devrait aller. Je te tiens au jus.
Concernant l'incident d'hier, effectivement c'est chaud et çà ne doit jamais arriver.
Je suis d'ailleurs très surpris que çà arrive en fait.
(Ça ne m'est jamais arrivé en + d'1 an de trading automatique... cela dit, je en trade pas sur des UTs aussi courtes. Mon plus bas étant 5' à date avec des SLs plus éloignés)
Normalement, le robot devrait se mettre en défaut sur un cas comme celui-ci.
La seule explication que je vois est que le SL n'est pas strictement programmé avec l'instruction "Stop Loss". C'est dû au fait qu'on souhaite déplacer le SL régulièrement, mais je pourrais pour la prise de position programmer un peu différemment.
En attendant, ce serait bien que tu fasses remonter l'info à prt parce que c'est de fait un bug et que ce sera utile à d'autres d'améliorer. J'essaierai de reproduire le bug en DEMO (lors de la prochaine BCE).
A+
Je suis en cours de test sur la version TS (trailing stop).
Je reviens vers toi dès que ok.
J'ai pas fait encore mon mini journalier ce matin en manuel, donc j'aurai peut-être un peu moins de temps que prévu ; mais çà devrait aller. Je te tiens au jus.
Concernant l'incident d'hier, effectivement c'est chaud et çà ne doit jamais arriver.
Je suis d'ailleurs très surpris que çà arrive en fait.
(Ça ne m'est jamais arrivé en + d'1 an de trading automatique... cela dit, je en trade pas sur des UTs aussi courtes. Mon plus bas étant 5' à date avec des SLs plus éloignés)
Normalement, le robot devrait se mettre en défaut sur un cas comme celui-ci.
La seule explication que je vois est que le SL n'est pas strictement programmé avec l'instruction "Stop Loss". C'est dû au fait qu'on souhaite déplacer le SL régulièrement, mais je pourrais pour la prise de position programmer un peu différemment.
En attendant, ce serait bien que tu fasses remonter l'info à prt parce que c'est de fait un bug et que ce sera utile à d'autres d'améliorer. J'essaierai de reproduire le bug en DEMO (lors de la prochaine BCE).
A+
-
fxbravo
- Membre du Conseil Jedi
- Messages : 8273
- Enregistré le : 18 févr. 2016 09:38
Re: Stop Profit à X en fonction d'un gain à Y
Salut Toto,
Merci pour ton retour. Prends ton temps, priorité à ton trading
J’ai fait remonter le bug à prt, ils investiguent depuis hier
Excellente fin de semaine à toi!
Merci pour ton retour. Prends ton temps, priorité à ton trading
J’ai fait remonter le bug à prt, ils investiguent depuis hier
Excellente fin de semaine à toi!
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
Bon j'ai profité de la pause de midi pour coder le trailing stop % pour ton cas.
Le code ne change pas beaucoup en fait. La variable protect à 1 est remplacé par 0.2 (20%) et devient un % de gain acquis à sauver.
Cerise sur le gâteau, je te fais suivre un 3è code en plus du LONG et du short, il s'agit d'un code qui combine les 2 et qui les "arbitre" en MTF. En clair, une section au départ du code est dans le time frame daily (çà pourrait être autre chose) et calcule un filtre de tendance (BUILL or bear) très basique pour l'exercice (EMA50). La suite du code dans l'unité "default" (pour le coup, ce sera l'ut dans laquelle tu appelles ton programme - 1 minutes ou x scondes dans ton cas je crois) utilise le résultat de ce filtre pour plasser l'ordre stop (vente ou achat). Voilà... Pour l'exemple donc... mais on comprend bien à partir de là, la puissance du MTF !
Le code ne change pas beaucoup en fait. La variable protect à 1 est remplacé par 0.2 (20%) et devient un % de gain acquis à sauver.
Cerise sur le gâteau, je te fais suivre un 3è code en plus du LONG et du short, il s'agit d'un code qui combine les 2 et qui les "arbitre" en MTF. En clair, une section au départ du code est dans le time frame daily (çà pourrait être autre chose) et calcule un filtre de tendance (BUILL or bear) très basique pour l'exercice (EMA50). La suite du code dans l'unité "default" (pour le coup, ce sera l'ut dans laquelle tu appelles ton programme - 1 minutes ou x scondes dans ton cas je crois) utilise le résultat de ce filtre pour plasser l'ordre stop (vente ou achat). Voilà... Pour l'exemple donc... mais on comprend bien à partir de là, la puissance du MTF !
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
//-------------------------------------------------------------------------
// Code principal : FXB short ts
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
// Main code : fxb short TS
//-------------------------------------------------------------------------
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
DEFPARAM FLATAFTER = 213000
// 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 = 173000
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
//Variables
ENTREE=12095//Seuil de déclenchement pour entrer à la vente sur le marché
SEUIL=10//Gain minimum déclenchant la protection de la position
SL=10//Stop Loss INITIAL
TP=20//Target Profit
PROTECT=0.20//Nouveau Stop correspondant au % de gain acquis à sauver
once lock=0//lock bloquera le stop de protection
once TOBESAVED=0
// Conditions pour ouvrir une position vendeuse
IF close>ENTREE and NOT shortonmarket and timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and STRATEGYPROFIT=0 THEN
SELLSHORT 1 CONTRACT AT ENTREE STOP
EXITSHORT AT ENTREE-TP LIMIT
EXITSHORT AT ENTREE+SL STOP
ENDIF
IF shortonmarket then
EXITSHORT AT TRADEPRICE-TP LIMIT
if close<=(TRADEPRICE-SEUIL) or lock=1 then
lock=1
TOBESAVED=(TRADEPRICE-CLOSE)*PROTECT
if TOBESAVED<TOBESAVED[1] then
TOBESAVED=TOBESAVED[1]
endif
EXITSHORT AT TRADEPRICE-(TOBESAVED) STOP
else
EXITSHORT AT TRADEPRICE+SL STOP
ENDIF
endif
// Code principal : FXB short ts
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
// Main code : fxb short TS
//-------------------------------------------------------------------------
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
DEFPARAM FLATAFTER = 213000
// 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 = 173000
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
//Variables
ENTREE=12095//Seuil de déclenchement pour entrer à la vente sur le marché
SEUIL=10//Gain minimum déclenchant la protection de la position
SL=10//Stop Loss INITIAL
TP=20//Target Profit
PROTECT=0.20//Nouveau Stop correspondant au % de gain acquis à sauver
once lock=0//lock bloquera le stop de protection
once TOBESAVED=0
// Conditions pour ouvrir une position vendeuse
IF close>ENTREE and NOT shortonmarket and timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and STRATEGYPROFIT=0 THEN
SELLSHORT 1 CONTRACT AT ENTREE STOP
EXITSHORT AT ENTREE-TP LIMIT
EXITSHORT AT ENTREE+SL STOP
ENDIF
IF shortonmarket then
EXITSHORT AT TRADEPRICE-TP LIMIT
if close<=(TRADEPRICE-SEUIL) or lock=1 then
lock=1
TOBESAVED=(TRADEPRICE-CLOSE)*PROTECT
if TOBESAVED<TOBESAVED[1] then
TOBESAVED=TOBESAVED[1]
endif
EXITSHORT AT TRADEPRICE-(TOBESAVED) STOP
else
EXITSHORT AT TRADEPRICE+SL STOP
ENDIF
endif
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
//-------------------------------------------------------------------------
// Code principal : FXB LONG ts
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
// Main code : fxb long ts
//-------------------------------------------------------------------------
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
DEFPARAM FLATAFTER = 213000
// 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 = 173000
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
//Variables
ENTREE=12090//Seuil de déclenchement pour entrer à l'achat sur le marché
SEUIL=10//Gain minimum déclenchant la protection de la position
SL=10//Stop Loss INITIAL
TP=20//Target Profit
PROTECT=0.20//Nouveau Stop correspondant au % de gain acquis à sauver
once lock=0//lock bloquera le stop de protection
once TOBESAVED=0
// Conditions pour ouvrir une position acheteuse
IF close<ENTREE and NOT longonmarket and timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and STRATEGYPROFIT=0 THEN
BUY 1 CONTRACT AT ENTREE STOP
SELL AT ENTREE+TP LIMIT
SELL AT ENTREE-SL STOP
ENDIF
IF longonmarket then
SELL AT TRADEPRICE+TP LIMIT
if close>=(TRADEPRICE+SEUIL) or lock=1 then
lock=1
TOBESAVED=(CLOSE-TRADEPRICE)*PROTECT
if TOBESAVED<TOBESAVED[1] then
TOBESAVED=TOBESAVED[1]
endif
SELL AT TRADEPRICE+TOBESAVED STOP
else
SELL AT TRADEPRICE-SL STOP
ENDIF
endif
// Code principal : FXB LONG ts
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
// Main code : fxb long ts
//-------------------------------------------------------------------------
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
DEFPARAM FLATAFTER = 213000
// 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 = 173000
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
//Variables
ENTREE=12090//Seuil de déclenchement pour entrer à l'achat sur le marché
SEUIL=10//Gain minimum déclenchant la protection de la position
SL=10//Stop Loss INITIAL
TP=20//Target Profit
PROTECT=0.20//Nouveau Stop correspondant au % de gain acquis à sauver
once lock=0//lock bloquera le stop de protection
once TOBESAVED=0
// Conditions pour ouvrir une position acheteuse
IF close<ENTREE and NOT longonmarket and timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and STRATEGYPROFIT=0 THEN
BUY 1 CONTRACT AT ENTREE STOP
SELL AT ENTREE+TP LIMIT
SELL AT ENTREE-SL STOP
ENDIF
IF longonmarket then
SELL AT TRADEPRICE+TP LIMIT
if close>=(TRADEPRICE+SEUIL) or lock=1 then
lock=1
TOBESAVED=(CLOSE-TRADEPRICE)*PROTECT
if TOBESAVED<TOBESAVED[1] then
TOBESAVED=TOBESAVED[1]
endif
SELL AT TRADEPRICE+TOBESAVED STOP
else
SELL AT TRADEPRICE-SL STOP
ENDIF
endif
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
Cherry on the cake 
//-------------------------------------------------------------------------
// Code principal : FXB dailyMTF ts
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
// Main code : fxb short TS
//-------------------------------------------------------------------------
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
DEFPARAM FLATAFTER = 213000
// 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 = 173000
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
//Variables
ENTREELONG=12090//Seuil de déclenchement pour entrer à l'achat sur le marché
ENTREESHORT=12080//Seuil de déclenchement pour entrer à la vente sur le marché
SEUIL=10//Gain minimum déclenchant la protection de la position
SL=10//Stop Loss INITIAL
TP=20//Target Profit
PROTECT=0.20//Nouveau Stop correspondant au % de gain acquis à sauver
once lock=0//lock bloquera le stop de protection
once TOBESAVED=0
//1 day TF (get the trend of the daily chart)
timeframe(daily,updateonclose)//could be "1 hour", "15 minutes"...
MOYENNE=ExponentialAverage[50](close)
BULLTREND=close>MOYENNE
BEARTREND=close<MOYENNE
//"default" timeframe (the timeframe you will lauch/"drive" the strategy on)
timeframe(default)
// Conditions pour ouvrir une position acheteuse
IF BULLTREND and close<ENTREELONG and NOT longonmarket and timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and STRATEGYPROFIT=0 THEN
BUY 1 CONTRACT AT ENTREELONG STOP
SELL AT ENTREELONG+TP LIMIT
SELL AT ENTREELONG-SL STOP
ENDIF
IF longonmarket then
SELL AT TRADEPRICE+TP LIMIT
if close>=(TRADEPRICE+SEUIL) or lock=1 then
lock=1
TOBESAVED=(CLOSE-TRADEPRICE)*PROTECT
if TOBESAVED<TOBESAVED[1] then
TOBESAVED=TOBESAVED[1]
endif
SELL AT TRADEPRICE+TOBESAVED STOP
else
SELL AT TRADEPRICE-SL STOP
ENDIF
endif
// Conditions pour ouvrir une position vendeuse
IF BEARTREND and close>ENTREESHORT and NOT shortonmarket and timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and STRATEGYPROFIT=0 THEN
SELLSHORT 1 CONTRACT AT ENTREESHORT STOP
EXITSHORT AT ENTREESHORT-TP LIMIT
EXITSHORT AT ENTREESHORT+SL STOP
ENDIF
IF shortonmarket then
EXITSHORT AT TRADEPRICE-TP LIMIT
if close<=(TRADEPRICE-SEUIL) or lock=1 then
lock=1
TOBESAVED=(TRADEPRICE-CLOSE)*PROTECT
if TOBESAVED<TOBESAVED[1] then
TOBESAVED=TOBESAVED[1]
endif
EXITSHORT AT TRADEPRICE-(TOBESAVED) STOP
else
EXITSHORT AT TRADEPRICE+SL STOP
ENDIF
endif
//-------------------------------------------------------------------------
// Code principal : FXB dailyMTF ts
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
// Main code : fxb short TS
//-------------------------------------------------------------------------
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
DEFPARAM FLATAFTER = 213000
// 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 = 173000
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
//Variables
ENTREELONG=12090//Seuil de déclenchement pour entrer à l'achat sur le marché
ENTREESHORT=12080//Seuil de déclenchement pour entrer à la vente sur le marché
SEUIL=10//Gain minimum déclenchant la protection de la position
SL=10//Stop Loss INITIAL
TP=20//Target Profit
PROTECT=0.20//Nouveau Stop correspondant au % de gain acquis à sauver
once lock=0//lock bloquera le stop de protection
once TOBESAVED=0
//1 day TF (get the trend of the daily chart)
timeframe(daily,updateonclose)//could be "1 hour", "15 minutes"...
MOYENNE=ExponentialAverage[50](close)
BULLTREND=close>MOYENNE
BEARTREND=close<MOYENNE
//"default" timeframe (the timeframe you will lauch/"drive" the strategy on)
timeframe(default)
// Conditions pour ouvrir une position acheteuse
IF BULLTREND and close<ENTREELONG and NOT longonmarket and timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and STRATEGYPROFIT=0 THEN
BUY 1 CONTRACT AT ENTREELONG STOP
SELL AT ENTREELONG+TP LIMIT
SELL AT ENTREELONG-SL STOP
ENDIF
IF longonmarket then
SELL AT TRADEPRICE+TP LIMIT
if close>=(TRADEPRICE+SEUIL) or lock=1 then
lock=1
TOBESAVED=(CLOSE-TRADEPRICE)*PROTECT
if TOBESAVED<TOBESAVED[1] then
TOBESAVED=TOBESAVED[1]
endif
SELL AT TRADEPRICE+TOBESAVED STOP
else
SELL AT TRADEPRICE-SL STOP
ENDIF
endif
// Conditions pour ouvrir une position vendeuse
IF BEARTREND and close>ENTREESHORT and NOT shortonmarket and timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and STRATEGYPROFIT=0 THEN
SELLSHORT 1 CONTRACT AT ENTREESHORT STOP
EXITSHORT AT ENTREESHORT-TP LIMIT
EXITSHORT AT ENTREESHORT+SL STOP
ENDIF
IF shortonmarket then
EXITSHORT AT TRADEPRICE-TP LIMIT
if close<=(TRADEPRICE-SEUIL) or lock=1 then
lock=1
TOBESAVED=(TRADEPRICE-CLOSE)*PROTECT
if TOBESAVED<TOBESAVED[1] then
TOBESAVED=TOBESAVED[1]
endif
EXITSHORT AT TRADEPRICE-(TOBESAVED) STOP
else
EXITSHORT AT TRADEPRICE+SL STOP
ENDIF
endif
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
Prends bien le temps de tester bien entendu, mais a priori çà fonctionne
-
fxbravo
- Membre du Conseil Jedi
- Messages : 8273
- Enregistré le : 18 févr. 2016 09:38
Re: Stop Profit à X en fonction d'un gain à Y
Merci beaucoup Toto! C’est topissime 
Je teste ça semaine prochaine et te ferai mon retour d’expérience (et les quelques questions qui vont venir
)
Je te souhaite un excellent week-end.
Je teste ça semaine prochaine et te ferai mon retour d’expérience (et les quelques questions qui vont venir
Je te souhaite un excellent week-end.
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
Bon WE également.
Ravi d'avoir à répondre à des questions (pertinentes
)
Ravi d'avoir à répondre à des questions (pertinentes
-
Toto le Héros
- Chevalier Jedi
- Messages : 2425
- Enregistré le : 07 oct. 2016 10:51
Re: Stop Profit à X en fonction d'un gain à Y
Pour salon demain je devrais être là dès l'ouverture. (Je porterai sans doute un T-Shirt noir "Fender"
)
J'ai prévu d'assister dès 9h30.
J'ai un trou dans mon planning vers 15h si çà te va. Je trainerai du côté du bar (pas sûr qu'il y ait de la bière... mais un café ira très bien
A deux mains
J'ai prévu d'assister dès 9h30.
J'ai un trou dans mon planning vers 15h si çà te va. Je trainerai du côté du bar (pas sûr qu'il y ait de la bière... mais un café ira très bien
A deux mains
-
fxbravo
- Membre du Conseil Jedi
- Messages : 8273
- Enregistré le : 18 févr. 2016 09:38
Re: Stop Profit à X en fonction d'un gain à Y
Je passerai vers 15h vers le bar
A demain
-
fxbravo
- Membre du Conseil Jedi
- Messages : 8273
- Enregistré le : 18 févr. 2016 09:38
Re: Stop Profit à X en fonction d'un gain à Y
Ravi d’avoir pu échanger (rapidement) au salon. Je continue de tester semaine prochaine et de bien comprendre le MTF afin de te soumettre quelques questions 
Excellent week-end Toto
Excellent week-end Toto
