LIMITER LE NOMBRE DE POSITIONS PRISES EN PYRAMIDAGE
Forums › ProRealTime forum Français › Support ProOrder › LIMITER LE NOMBRE DE POSITIONS PRISES EN PYRAMIDAGE
- This topic has 6 replies, 2 voices, and was last updated 6 years ago by Toto le Heros.
-
-
03/23/2018 at 3:12 PM #66180
Bonjour,
Ci-joint un petit exercice de pyramidage sur le DAX en UT=15min (short only pour les tests dans le contexte actuel…)
TEST PYRAMIDAGE12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455DEFPARAM FLATAFTER = 213000noEntryBeforeTime = 091500timeEnterBefore = time >= noEntryBeforeTimenoEntryAfterTime = 213000timeEnterAfter = time < noEntryAfterTimedaysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Variablesordersize = 2TS = 25SL = 50TP = 100//Condition to go shortmyMACD = MACD[12,26,9](close)short = myMACD crosses over 0//first order + //let's add another stop order while price continue to go lower (more than 15 points)IF (COUNTOFPOSITION<=ordersize) AND short AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENSELLSHORT ordersize CONTRACTS AT MARKETSELLSHORT ordersize/2 CONTRACTS AT (CLOSE-30) STOP//should I write close instead of PositionPrice here ?ENDIFIf ShortOnMarket THENSELL AT (POSITIONPRICE-TP) LIMITSELL AT (POSITIONPRICE+SL) STOPENDIF//let's add another order while price continue to go lower (more than 15 points)IF ShortOnMarket AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and (COUNTOFPOSITION<ordersize*1.5) THENSELLSHORT ordersize/2 CONTRACTS AT (TRADEPRICE(1)-30) STOPENDIF//trailing stoptrailingstop = TS//Best 30//resetting variables when no trades are on marketif not onmarket thenMINPRICE = closepriceexit = 0endif//case SHORT orderif shortonmarket thenMINPRICE = MIN(MINPRICE,close) //saving the MFE of the current tradeif positionprice-MINPRICE>=trailingstop*pointsize then //if the MFE is higher than the trailingstop thenpriceexit = MINPRICE+trailingstop*pointsize //set the exit price at the MFE + trailing stop price levelendifendif//exit on trailing stop price levelsif onmarket and priceexit>0 thenEXITSHORT AT priceexit STOPSELL AT priceexit STOPendifJe ne suis pas loin de ce que je souhaite faire, mais je ne parviens pas à limiter le nombre de positions prises par le système à 3. (les 2 positions initiales et la position additionnelle)
J’ai un problème de compréhension de l’instruction COUNTOFPOSITION visiblement…
Votre aide me sera précieuse.
D’avance merci,
03/23/2018 at 3:30 PM #66181COUNTOFPOSITION est négatif pour les positions de vente à découvert et positif pour les achats. Il faut donc prendre en considération cette donnée dans ta condition de comparaison. Ou alors utiliser ABS(COUNTOFPOSITION) tout simplement.
Il y a aussi COUNTOFSHORTSHARES.
1 user thanked author for this post.
03/23/2018 at 6:56 PM #66202Merci beaucoup Nicolas.
Ce n’est pas encore parfait mais je progresse grâce à ton précieux support.
Je me heurte de nouveau à cette difficulté liée au fait que je souhaite placer (dans le même temps que mon premier ordre de vente) un ordre de vente STOP 6 points en dessous (pour préparer ma pyramide).
Ca fonctionne si je rentre (close-6) mais j’aurais préféré utiliser (positionprice-6) pour considérer le spread et le slippage éventuel à l’ouverture de la bougie… Malheureusement dans ce cas le système est immédiatement arrêté sur le motif que j’ai essayé de placer un ordre avec un STOP ou une limite négative….
Puis-je contourner ce problème stp ?
TEST PYRAMIDAGE12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667DEFPARAM FLATAFTER = 213000noEntryBeforeTime = 091500timeEnterBefore = time >= noEntryBeforeTimenoEntryAfterTime = 213000timeEnterAfter = time < noEntryAfterTimedaysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Variablesordersize = 2TS = 10SL = 15TP = 35//Condition to go shortmyMACD = MACD[12,26,9](close)short = myMACD < myMACD[1]//first order + //let's add another stop order while price continue to go lower (more than 15 points)IF (abs(COUNTOFPOSITION)<ordersize) AND short AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THENSELLSHORT ordersize CONTRACTS AT MARKETMARK1=closeSELLSHORT ordersize/2 CONTRACTS AT (close-6) STOP//should I write close instead of PositionPrice here ?EXITSHORT AT MARK1-TP LIMITEXITSHORT AT MARK1+SL STOPENDIFIf ShortOnMarket and abs(COUNTOFPOSITION)=2 THENEXITSHORT AT MARK1-TP LIMITEXITSHORT AT MARK1+SL STOPENDIF//let's add another order while price continue to go lower (more than 15 points)IF ShortOnMarket AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry and (abs(COUNTOFPOSITION)<ordersize*1.5) THENSELLSHORT ordersize/2 CONTRACTS AT (TRADEPRICE(1)-6) STOPMARK2=(2*MARK1+CLOSE)/3EXITSHORT AT MARK1-TP LIMITEXITSHORT AT MARK1+SL STOPENDIFIf ShortOnMarket and abs(COUNTOFPOSITION)=3 THENEXITSHORT AT MARK2-TP LIMITEXITSHORT AT MARK2+SL STOPENDIF//trailing stoptrailingstop = TS//Best 30//resetting variables when no trades are on marketif not onmarket thenMINPRICE = closepriceexit = 0endif//case SHORT orderif shortonmarket thenMINPRICE = MIN(MINPRICE,close) //saving the MFE of the current tradeif positionprice-MINPRICE>=trailingstop*pointsize then //if the MFE is higher than the trailingstop thenpriceexit = MINPRICE+trailingstop*pointsize //set the exit price at the MFE + trailing stop price levelendifendif//exit on trailing stop price levelsif onmarket and priceexit>0 thenEXITSHORT AT priceexit STOPSELL AT priceexit STOPendif03/26/2018 at 7:49 AM #66404En essayant avec TRADEPRICE ?
03/26/2018 at 10:22 AM #66421Merci de ta réponse Nicolas.
De mémoire çà conduit à une fermeture immédiate de la stratégie et de la position avec la même erreur que POSITIONPRICE. Mais je vais réessayer. Seulement il semble qu’il y a qq bugs sur PRT DEMO ce matin (suite au chgt d’heure ?). Bref, je vais patienter un peu. A bientôt.
03/26/2018 at 10:52 AM #66424En effet TRADEPRICE ne sera connu qu’au Close suivant..
1 user thanked author for this post.
03/26/2018 at 11:40 AM #66429Ok, je comprends le principe. Du coup, je vais me contenter de l’approximation tradeprice=close pour la première barre après prise de position et affiner ensuite.
MERCI
-
AuthorPosts
Find exclusive trading pro-tools on