POSITIONSIZE exponentiel
Forums › ProRealTime forum Français › Support ProOrder › POSITIONSIZE exponentiel
- This topic has 6 replies, 3 voices, and was last updated 7 years ago by larouedegann.
-
-
04/11/2017 at 8:45 PM #31782
Bonjour à tous
Je viens chercher un petit peu d”aide en programmation pour augmenter la taille des positions de 5 en cas de gain et la diminuer de moitié en cas de perte et ainsi de suite.Avec un maximum de 50 contrats en cas de gain.
J’ai essayé de reprendre ce qu”avait fait RAUL avec son intraday dax mais cela ne fonctionne pas…..
J’ai inséré mon essai non concluant….
Si quelqu’un a une idée Merci a vous
12345678910111213141516171819202122232425262728293031323334353637383940414243DEFPARAM CUMULATEORDERS = FALSEDEFPARAM FLATBEFORE = 090000DEFPARAM FLATAFTER = 171500once Ordersize = 1N=5if Ordersize>50 thenOrdersize=50endif//Condition 1//Condition 2IF TIME > 090000 and Condition 1 and Condition 2 THENIF PositionPerf(1) < 0 THENOrderSize = OrderSize/2//+1if ordersize<1 thenordersize=1ENDIFELSIF PositionPerf(1) > 0 THENOrderSize =OrderSize+1endifBUY ordersize*n contracts AT MARKETendifif TIME > 090000 and Condition 1 and Condition 2 THENIF PositionPerf(1) < 0 THENOrderSize = OrderSize/2//+1if ordersize<1 thenordersize=1ENDIFELSIF PositionPerf(1) > 0 THENOrderSize =OrderSize+1endifSELLSHORT ordersize*n contracts AT MARKETENDIFSET STOP LOSS 5SET TARGET PROFIT 9Apparemment le systeme ne prend pas en compte 50 contrats maximum
04/11/2017 at 9:18 PM #31784Hello, sorry maybe I didn’t understand the problem but maybe you could just use the function “Countofposition”?
IF COUNTOFPOSITION < 50 Then
…..
END IF
04/12/2017 at 8:55 AM #31819Mon premier avis pour t’aider serait de positionner ta condition limitant la positionsize à 50 avant chaque prise de position, car c’est à ce moment là que tu la détermines par ces instructions:
12ELSIF PositionPerf(1) > 0 THENOrderSize =OrderSize+1Sinon, tu peux aussi limiter directement la taille des contrats pour chaque ordre à chaque lancement de trade: (exemple pour un short)
1SELLSHORT MIN(ordersize*n,50) contracts AT MARKETDans ce cas là, l’instruction MIN choisira la valeur minimale entre 50 et ton calcul de lot ‘ordersize*n’. Je pense que ça doit le faire !
04/14/2017 at 5:57 PM #32063Merci à tous
Malheureusement, rien ne fonctionne….j”ai tout essayé avec countofposition de franscesco.
sellshort min de nicolas bloque effectivement à 50 contrats mais ne monte pas en exponentiel les contrats et le diminue encore moins.Pourtant Je pense que la solution n’est pas loin.
je remets ci-dessous l’autotrading de raul en 5mn dax. En le testant on s’aperçoit que le max 54 ne fonctionne pas.Mon principe exponentiel est basé sur celui-ci.
est-ce qu’il est faux ?
Le principe est par contre très bien pensé quel que soit les conditions du bot. Alors merci encore pour votre travail…..
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960// Definición de los parámetros del códigoDEFPARAM CumulateOrders = false // Acumulación de posiciones desactivada// La posición se cierra a las 17:29 p.m. si no toca ni stop ni take.DEFPARAM FlatAfter =173000once ordersize=1// No se abren nuevas posiciones después de la vela que se cierra a las 09:06HoraEntradaLimite = 090600// El análisis de mercado empieza en la vela de 5 minutos que cierra a las 09:05HoraInicio = 090500// Órdenes máximasif Ordersize>54 thenOrdersize=54endif// Riesgo, multiplicador de contratos.n=6// Condiciones para el analisis.if Time >= HoraInicio and time <= HoraEntradaLimite then// Condiciones de entrada de posiciones largasc1 = open < close-1IF c1 THENIF PositionPerf(1) < 0 THENOrderSize = OrderSize/2//+1if ordersize<1 thenordersize=1ENDIFELSIF PositionPerf(1) > 0 THENOrderSize =OrderSize+2endif// Si la primera barra del día de 5 min es positiva, compramosbuy ordersize*n shares at marketendif// Condiciones de entrada de posiciones cortasc2= open > close-1IF c2 THENiF PositionPerf(1) < 0 THENOrderSize = OrderSize/2//+1if ordersize<1 thenordersize=1ENDIFELSIF PositionPerf(1) > 0 THENOrderSize =OrderSize+2ENDIF// Si la primera barra del día de 5 min es negativa, vendemossellshort ordersize*n shares at marketendifendifSET STOP ploss 5SET TARGET pPROFIT 1004/16/2017 at 6:36 PM #32211Bonjour,
j’ai trouvé cette Formule dans la documentation de PRT
1234567891011121314151617181920ONCE OrderSize = 1ONCE ExitIndex = -2REM On commence avec une position de 1//*********************////*****Code à insérer juste après les instructions liquidant une position*****//ExitIndex = BarIndex//***********Code à insérer en fin de système**********//IF Barindex = ExitIndex + 1 THENExitIndex = 0IF PositionPerf(1) < 0 THENOrderSize = OrderSize * 2REM Si le dernier trade était perdant, alors on double la taille de la positionELSIF PositionPerf(1) > 0 THENOrderSize = 1REM Si le dernier trade était gagnant, alors on revient à une position de taille 1ENDIFENDIF//*********************//REM La taille de la position doit être déterminée par la variable ordersize pourl"intégralité du codeJe ne sais pas ou mettre exitindex = barindex
Si quelqu”un a une idée
04/18/2017 at 12:29 PM #32446La diminution de moitié en cas de perte est déjà dans le code, j’ai modifié le reste pour l’augmentation d’un pas de 5 à chaque trade gagnant et inclut la limitation à 50 contrats maximum:
12345678910111213141516171819202122232425262728293031323334DEFPARAM CUMULATEORDERS = FALSEDEFPARAM FLATBEFORE = 090000DEFPARAM FLATAFTER = 171500once Ordersize = 1IF TIME > 090000 and Condition 1 and Condition 2 THENIF PositionPerf(1) < 0 THENOrderSize = OrderSize/2if ordersize<1 thenordersize=1ENDIFELSIF PositionPerf(1) > 0 THENOrderSize =OrderSize+5endifBUY MIN(ordersize,50) contracts AT MARKETendifif TIME > 090000 and Condition 1 and Condition 2 THENIF PositionPerf(1) < 0 THENOrderSize = OrderSize/2if ordersize<1 thenordersize=1ENDIFELSIF PositionPerf(1) > 0 THENOrderSize =OrderSize+5endifSELLSHORT MIN(ordersize,50) contracts AT MARKETENDIFSET STOP LOSS 5SET TARGET PROFIT 91 user thanked author for this post.
04/20/2017 at 6:39 PM #32797 -
AuthorPosts