Buenos días a Todos:
Tengo un problema con esta martingala y es que no suma un nuevo contrato, cada vez que se genera una nueva perdida. El problema es que cada vez que se genera una nueva perdida, el sistema suma más de un contrato y sin ningún sentido, porque igual te suma 2 contratos , que igual te suma 5 contratos.
Yo opero este sistema en el TIME FRAME de un segundo y en el mercado de Wall Street Cash, y para que funcione perfectamente, se ha de introducir un dato manualmente, que está dentro del código y que se llama LINEA0 =
El dato que se ha de introducir es el del nivel de Apertura de la primera barra del día actual, del gráfico Wall Street Cash en TIME FRAME de un Segundo.
Adjunto el código para que lo podáis revisar personalmente.
Sin más, daros como siempre las gracias por vuestra inmejorable ayuda.
Por favor NO publique el mismo tema varias veces, incluso en diferentes foros o incluso en diferentes idiomas. Yo cancelé la otra, ya que esta es una buena estrategia aquí.
Al colocar el código, ingrese siempre el código dentro de la publicación, usando el botón correspondiente marcado “insert PRT code”.
El archivo es opcional, pero si lo adjuntas, es mejor. Gracias.
Ok, Muchas Gracias por tu respuesta.
Cuando ya lo había enviado el tema a Soporte ProrealTime, me he dado cuenta de que me había equivocado de Foro, y que lo tenía haber enviado a Soporte ProOrder.
Ahora mismo inserto el código visible para todo el mundo.
Gracias y Un Saludo,
DEFPARAM PRELOADBARS = 5000
DEFPARAM CUMULATEORDERS = False
//////////////DEFPARAM FLATBEFORE = 010000
//////////////DEFPARAM FLATAFTER = 230000
LINEA0 = 25726.9
LINEAMAX15 = LINEA0+16
LINEAMIN15 = LINEA0-16
LINEAMAX150 = LINEA0+150
LINEAMAX150MAX15 = LINEAMAX150+16
LINEAMAX150MIN15 = LINEAMAX150-16
LINEAMIN150 = LINEA0-150
LINEAMIN150MAX15 = LINEAMIN150+16
LINEAMIN150MIN15 = LINEAMIN150-16
CIERRE = Close
MMCIERRE = WilderAverage[10](CIERRE)
ONCE OrderSize = 1
IF MMCIERRE CROSSES OVER LINEAMAX15 THEN
IF POSITIONPERF(1) < 0 THEN
OrderSize = OrderSize + 1
ELSIF POSITIONPERF(1) > 0 THEN
OrderSize = 1
ENDIF
BUY OrderSize CONTRACTS AT MARKET
ENDIF
IF MMCIERRE CROSSES UNDER LINEAMIN15 THEN
IF POSITIONPERF(1) < 0 THEN
OrderSize = OrderSize + 1
ELSIF POSITIONPERF(1) > 0 THEN
OrderSize = 1
ENDIF
SELLSHORT OrderSize CONTRACTS AT MARKET
ENDIF
IF MMCIERRE CROSSES OVER LINEAMAX150MAX15 THEN
IF POSITIONPERF(1) < 0 THEN
OrderSize = OrderSize + 1
ELSIF POSITIONPERF(1) > 0 THEN
OrderSize = 1
ENDIF
BUY OrderSize CONTRACTS AT MARKET
ENDIF
IF MMCIERRE CROSSES UNDER LINEAMAX150MIN15 THEN
IF POSITIONPERF(1) < 0 THEN
OrderSize = OrderSize + 1
ELSIF POSITIONPERF(1) > 0 THEN
OrderSize = 1
ENDIF
SELLSHORT OrderSize CONTRACTS AT MARKET
ENDIF
IF MMCIERRE CROSSES OVER LINEAMIN150MAX15 THEN
IF POSITIONPERF(1) < 0 THEN
OrderSize = OrderSize + 1
ELSIF POSITIONPERF(1) > 0 THEN
OrderSize = 1
ENDIF
BUY OrderSize CONTRACTS AT MARKET
ENDIF
IF MMCIERRE CROSSES UNDER LINEAMIN150MIN15 THEN
IF POSITIONPERF(1) < 0 THEN
OrderSize = OrderSize + 1
ELSIF POSITIONPERF(1) > 0 THEN
OrderSize = 1
ENDIF
SELLSHORT OrderSize CONTRACTS AT MARKET
ENDIF
//// Stops y objetivos:
SET STOP pLOSS 50
SET TARGET pPROFIT 130
¿Le permitiste a ProOrder negociar con más de 1 contrato? De todos modos, incluso si está en el mercado, su código aumentará continuamente el tamaño de la posición, ya que la condición para abrir es que el orden podría ser verdadero, por lo que el tamaño de la posición se calculará una y otra vez. Debe agregar condiciones para probar si está en el mercado y solo en ese momento calcular el tamaño de la nueva posición.
Buenos Días Nicolás:
Primero de todo, darte las gracias por tu rápida respuesta.
Más o menos te entiendo bien lo que me quieres decir del por qué pasa, que el sistema abre tantos contratos a la vez.
Pero no sé muy bien cuál sería la instrucción correcta que tengo que incluir en el código, ya que existen varias posibilidades.
¿Tú serias tan amable de escribirme la instrucción correcta que tengo que incluir en el código, para que el sistema pueda funcionar perfectamente?
Como siempre, muchas gracias por tu gran ayuda.
Un Saludo,
ALBERTT