ProRealTime
Pour discuter sur l’interface de ProRealTime Software, nos configurations graphiques...

Re: Stop Profit à X en fonction d'un gain à Y

par Toto le Héros » 14 Sep 2018 13:21

Bon j'ai profité de la pause de midi pour coder le trailing stop % pour ton cas.
Le code ne change pas bcp 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 !

Re: Stop Profit à X en fonction d'un gain à Y

par Toto le Héros » 14 Sep 2018 13:22

//-------------------------------------------------------------------------
// 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

Re: Stop Profit à X en fonction d'un gain à Y

par Toto le Héros » 14 Sep 2018 13:23

//-------------------------------------------------------------------------
// 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

Re: Stop Profit à X en fonction d'un gain à Y

par Toto le Héros » 14 Sep 2018 13:23

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

Re: Stop Profit à X en fonction d'un gain à Y

par Toto le Héros » 14 Sep 2018 13:24

Prends bien le temps de tester bien entendu, mais a priori çà fonctionne

Re: Stop Profit à X en fonction d'un gain à Y

par fxbravo » 14 Sep 2018 19:31

Merci bcp Toto! C’est topissime :top:

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.

Re: Stop Profit à X en fonction d'un gain à Y

par Toto le Héros » 14 Sep 2018 20:20

Bon WE également.
Ravi d'avoir à répondre à des questions (pertinentes ;))

Re: Stop Profit à X en fonction d'un gain à Y

par Toto le Héros » 20 Sep 2018 12:17

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 ;)

Re: Stop Profit à X en fonction d'un gain à Y

par fxbravo » 20 Sep 2018 12:20

:top:

Je passerai vers 15h vers le bar ;)

A demain

Re: Stop Profit à X en fonction d'un gain à Y

par fxbravo » 22 Sep 2018 12:47

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 :top:

Articles en relation
Transformer un take profit en stop suiveur
par finplus » 08 Mai 2016 16:17 (6 Réponses)
PRT : fonction ATAN (calcul d'angle)
par GOLDENBOY » 17 Aoû 2015 20:19 (6 Réponses)
Proscreener: code variable en fonction de l'actif
par clodreb » 07 Nov 2014 07:30 (0 Réponses)
Astuce : Fonction avec une variable calculée en paramètre
par thebounce » 22 Sep 2015 10:30 (3 Réponses)
Mettre un stop intermédiaire en plus du stop garanti
par apj » 01 Mar 2018 11:59 (1 Réponses)
Target profit journalier sur ProBacktest
par trappiste73 » 18 Juin 2018 13:06 (1 Réponses)
Stop Suiveur PRT vs. Stop Suiveur fait maison
Fichier(s) joint(s) par Anonymous99 » 11 Juil 2014 09:44 (28 Réponses)
Stop zero
Fichier(s) joint(s) par DarthTrader » 13 Aoû 2016 09:17 (8 Réponses)
PRT et stop garanti
Fichier(s) joint(s) par koub » 20 Jan 2015 06:33 (4 Réponses)
Fenêtre de stop
Fichier(s) joint(s) par Onyx » 24 Juin 2018 23:18 (2 Réponses)

ProRealTime

Alors partagez-le 5 fois c'est bon pour la santé