Limitar una martingala
Forums › ProRealTime foro Español › Temas generales de Trading › Limitar una martingala
- This topic has 3 replies, 3 voices, and was last updated 4 years ago by galibier.
-
-
10/19/2019 at 1:34 PM #110583
Buenos días,
Soy nuevo en el foro y en la programación de sistemas de trading, pero creo que estoy aprendiendo rápido, estudiando los códigos de quienes saben más. Estoy haciendo un sistema de martingala “suave”, que entra una vez al día, estrictamente intradiario -timeframe de un minuto- y en el que he limitado las pérdidas diarias a 34 € (no pips, €). La martingala consiste en que cada vez que pierde, añade uno al positionsize de modo que, despues de perder 24 días consecutivos, por ejemplo, entra con 24 contratos. No me preocupa eso, porque para ese supuesto las pérdidas acumuladas no habrán llegado a 800 €, y el beneficio de la próxima vez que gane lo multiplicará por 2,5 o 3 pero, por razones de distribuir el riesgo y limitar el capital inmovilizado (trabajo con CFD, apalancado un 5%) quisiera que, cuando llegue a 24 por ejemplo, me reduzca la posición a-por ejemplo- 10 y siga sumando. Ya sé que en el prorealorder puedo limitar el número máximo de contratos, pero no quisiera que se pare o se bloquee el sistema, sino controlarlo desde el código.
¿Alguna idea? Gracias
10/20/2019 at 12:23 AM #110611Hola pruiz61,
Bienvenido al foro. Yo estoy familiarizado con la Martingala y con todas esas estrategias tan poco “ortodoxas”.
Yo tengo una formula que te puede solucionar el problema, pero es muy rudimentaria y ocupa sitio, aunque si te soluciona el problema ¿Que son diez minutos más programando??
1234567891011121314151617181920212223242526272829303132333435363738// Positioningganada1 = positionperf(1)>0perdida1 = positionperf(1)<0perdida2 = positionperf(1)<0 and positionperf(2)<0perdida3 = positionperf(1)<0 and positionperf(2)<0 and positionperf(3)<0perdida4 = positionperf(1)<0 and positionperf(2)<0 and positionperf(3)<0 and positionperf(4)<0// Y asi seguimos hasta la positionperf(24)..perdida24 = positionperf(1)<0 and positionperf(2)<0 and positionperf(3)<0 and positionperf(4)<0 and positionperf(5)<0......ONCE positionsize=1IF ganada1 THENpositionsize=1ENDIFIF perdida1 THENpositionsize=1.5ENDIFIF perdida2 THENpositionsize=2ENDIFIF perdida3 THENpositionsize=3ENDIFIF perdida4 THENpositionsize=4ENDIF// Y asi seguimos hasta la operación 24IF perdida24 THENpositionsize=10ENDIFEs como te digo muy rudimentario, pero te puede servir
Saludos
10/20/2019 at 6:52 PM #110654Gracias Juan,
Después de escribir mi mensaje encontré la solución que buscaba, con algo tan simple como añadir la condición de que sólo incrementase una posición si no se había alcanzado determinado tamaño, y a partir de ahí quedaba congelada. Pero tu código me sugiere perspectivas más refinadas.
Un saludo y reitero el agradecimiento
11/13/2020 at 4:14 PM #150393Hola Buenas tardes,
He estado repasando mensajes y veo que usted en su día programaba martingalas, yo estoy intentando programar una entrada en corto con orden de acumulación, y consigo que entre en corto hasta la 5 vela, que es lo que puesto.
Bien, lo que quiero es entrar con 5 posiciones e ir reduciendo, es decir, primera entrada entro con 5, segunda entrada entro con 4, así sucesivamente.
No sé si es muy dificil de programar,
Muchas gracias de antemano
123456789101112131415161718192021222324252627// Definición de los parámetros del códigoDEFPARAM CumulateOrders = True // Acumulación de posiciones desactivada// Condiciones de entrada de posiciones cortasindicator2, indicator1 = CALL "PRC_Top Bottom Indicator"[14, 14]c1 = (indicator1 > indicator2)indicator3 = CALL "butter prorealcode"indicator4 = CALL "butter prorealcode"c2 = (indicator3 < indicator4[1])indicator5 = CALL "butter prorealcode"indicator6 = ExponentialAverage[14](close)c3 = (indicator5 < indicator6)IF c1 AND c2 AND c3 THENSELLSHORT 1 SHARES AT MARKETENDIF// Condiciones de salida de posiciones cortasindicator7, indicator8 = CALL "PRC_Top Bottom Indicator"[14,14]c4 = (indicator7 > indicator8)IF c4 THENEXITSHORT AT MARKETENDIFIF ShortOnMarket AND CountOfShortShares >= 5 THENEXITSHORT AT MARKETENDIF -
AuthorPosts