aventuras de un novato - página 2

 
cloudbreaker:

En respuesta a su pregunta, normalmente trabajo como piloto de helicóptero. Sin embargo, dada la situación económica, la empresa para la que trabajo no quiere volar en este momento. Así que, mientras tanto, he estado desarrollando EAs para una empresa que es propiedad de mi mejor amigo. Estamos operando en vivo en nombre de algunos fondos bastante conocidos.

Me alegro de que estés intentando aprender a codificar y te ayudaré siempre que pueda. Es refrescante encontrar a alguien que se une al foro y quiere aprender a ser autosuficiente.

Hola, Rompenubes. ¡Wow, así que estoy en buenas manos en este foro!


Mi sueño es también dirigir un fondo, pero donar una gran parte de los beneficios a la investigación de la conciencia y otros proyectos positivos. Por eso debo aprender mql.

 

Niko


Los paréntesis desequilibrados y las llaves en el lugar equivocado pueden ser un problema. Una cosa que me ha ayudado a eliminar/encontrar ese tipo de errores es usar un editor de texto que sea amigable con C++.


Yo creo todo mi código en el editor de texto Notepad++ (gratuito en Download.com). Tiene características especiales que resaltan los paréntesis que coinciden, los corchetes que coinciden, etc., y hace otro tipo de resaltado de color del texto para ayudarte a mantener tu código organizado. (asegúrate de seleccionar "C++" en el menú desplegable de "Lenguaje")


He resuelto tu problema pegando tu código en Notpad++ y he encontrado el paréntesis mal colocado que impedía que tu código BUY funcionara.


Saludos

 
FXtrader2008:

Niko


Los paréntesis desequilibrados y los paréntesis en el lugar equivocado pueden ser un problema. Una cosa que me ha ayudado a eliminar/encontrar ese tipo de errores es usar un editor de texto que sea amigable con C++.


Yo creo todo mi código en el editor de texto Notepad++ (gratuito en Download.com). Tiene características especiales que resaltan los paréntesis que coinciden, las llaves que coinciden, etc., y hace otro tipo de resaltado de color del texto para ayudarte a mantener tu código organizado. (asegúrate de seleccionar "C++" en el menú desplegable de "Lenguaje")


Resolví tu problema pegando tu código en Notpad++ y encontré el paréntesis mal colocado que impedía que tu código BUY funcionara.


Saludos




¡Hola fxtrader! Has llegado justo a tiempo, ya que acabo de pasar una hora tratando de resolver el asunto de los corchetes mal colocados. Voy a descargar el notepad++. El gran problema de momento para mí es averiguar cómo hacer que los dos trozos de código se ejecuten en paralelo, he jugado con if(OrdersTotal()==0) (lo hice ==0 || 1, jaja que tuvo un resultado curioso, pero eso no resolvió el problema). No te preocupes, no me des la respuesta todavía, intentaré resolverlo yo mismo :)


¿comercializas por tu cuenta o te dedicas más a la programación?

 
cloudbreaker:

En respuesta a su pregunta, normalmente trabajo como piloto de helicóptero. Sin embargo, dada la situación económica, la empresa para la que trabajo no quiere volar en este momento. Así que, mientras tanto, he estado desarrollando EAs para una empresa que es propiedad de mi mejor amigo. Estamos operando en vivo en nombre de algunos fondos bastante conocidos.

Me alegro de que estés intentando aprender a codificar y te ayudaré siempre que pueda. Es refrescante encontrar a alguien que se une al foro y quiere aprender a ser autosuficiente.

No me extraña que tu nick sea cloudbreaker, en realidad eres piloto. Pensé que eras un programador y que el nombre del nick tenía algo que ver con lo más buzz de 2009 - la computación en la nube. :)

 
FXtrader2008:

Niko


Los paréntesis desequilibrados y los paréntesis en el lugar equivocado pueden ser un problema. Una cosa que me ha ayudado a eliminar/encontrar ese tipo de errores es usar un editor de texto que sea amigable con C++.


Yo creo todo mi código en el editor de texto Notepad++ (gratuito en Download.com). Tiene características especiales que resaltan los paréntesis que coinciden, las llaves que coinciden, etc., y hace otro tipo de resaltado de color del texto para ayudarte a mantener tu código organizado. (asegúrate de seleccionar "C++" en el menú desplegable bajo "Lenguaje")


He resuelto tu problema pegando tu código en Notpad++ y he encontrado el paréntesis mal colocado que impedía que tu código BUY funcionara.


Saludos




Si alguien más necesita un editor sintáctico pero utiliza un Apple Mac, entonces puedo recomendar Smultron. Con sólo pasar el cursor por encima de una corchete se resalta su pareja.

 
niko:

¡Hola fxtrader! Has llegado justo a tiempo, ya que acabo de pasar una hora tratando de resolver el asunto del corchete mal colocado. Voy a descargar el notepad++. El gran problema de momento para mí es averiguar cómo hacer que los dos trozos de código se ejecuten en paralelo, he jugado con if(OrdersTotal()==0) (lo hice ==0 || 1, jaja que tuvo un resultado curioso, pero eso no resolvió el problema). No te preocupes, no me des la respuesta todavía, intentaré resolverlo yo mismo :)


¿comercias por tu cuenta, o te dedicas más a la programación?

Te equivocas al intentar que los trozos de código se ejecuten en paralelo.

De la memoria de su problema particular, creo que lo que usted necesita hacer es un bucle a través de todas las órdenes abiertas y hacer un recuento en sus propias variables de cuántos de cada tipo (compra y venta) que tiene, a continuación, basar sus declaraciones condicionales en el resultado. En ese caso utilizarás OrdersTotal() sólo como índice del bucle.

 
cloudbreaker:

Usted está ladrando al árbol equivocado para tratar de hacer los trozos de código se ejecutan en paralelo.

De la memoria de su problema particular, creo que lo que necesitaba hacer era un bucle a través de todas las órdenes abiertas y hacer un recuento en sus propias variables de cuántos de cada tipo (compra y venta) que tiene, a continuación, basar sus declaraciones condicionales en el resultado. En ese caso usarás OrdersTotal() sólo como índice del bucle.

Nico, si este es el post que has encontrado un poco críptico, por favor házmelo saber e intentaré explicarlo mejor.

Hay dos listas separadas: una con los pedidos actuales y otra con los pedidos que se han cerrado.

Si necesita saber cuántos pedidos actuales hay de un tipo determinado, entonces tiene que seleccionar cada pedido en la lista de pedidos actuales, averiguar de qué tipo de pedido se trata, incrementar el contador correspondiente y pasar al siguiente pedido.

Espero que esto ayude.


CB

 
cloudbreaker:

Nico, si este es el post que has encontrado un poco críptico, por favor házmelo saber e intentaré explicarlo mejor.

Hay dos listas separadas: una con los pedidos actuales y otra con los pedidos que se han cerrado.

Si necesita saber cuántos pedidos actuales hay de un tipo determinado, entonces tiene que seleccionar cada pedido en la lista de pedidos actuales, averiguar de qué tipo de pedido se trata, incrementar el contador correspondiente y pasar al siguiente pedido.

Espero que esto ayude.


CB

¡Hola Trueno Azul!


Sí. Estoy pensando ahora cómo organizar mejor mi aprendizaje, para que vaya más rápido, ya que me siento como un ladrillo que quiere aprender a volar....hmmmm....


Creo que hay dos cosas esenciales:

1. Volveré a repasar los tutoriales de Codeguru, esta noche es una buena noche para ello (además, ¿hay algún otro material de aprendizaje que me podáis recomendar?)

2. Necesitaré mucha ayuda de ti y de otros codificadores en los puntos más pequeños de la codificación (incluso cosas tontas como por qué () tiene que ir después de 'return' y cosas así. He sido aprensivo con esto ya que pensé que os molestaría con estas preguntas, pero si me dais el visto bueno entonces empezaré a preguntar de verdad y progresaré más rápido. Entonces este hilo puede convertirse en un viaje de aprendizaje para otros novatos también.


Entonces, ¿qué me decís?

Por cierto, ¿tienes tu propio helicóptero? Vi uno en ebay hace unos meses por 800 mil dólares, muy bonito, algún empresario lo estaba vendiendo. Quiero comprar uno en algún momento en el futuro :)

 
niko:

¡Hola Trueno Azul!


Sí. Estoy pensando ahora cómo organizar mejor mi aprendizaje, para que vaya más rápido, ya que me siento como un ladrillo que quiere aprender a volar....hmmmm....


Creo que hay 2 cosas esenciales

1. Volveré a repasar los tutoriales de codeguru, esta noche es una buena noche para ello (¿también hay algún otro material de aprendizaje que me puedas recomendar?)

2. Necesitaré mucha ayuda de ti y de otros codificadores en los puntos más pequeños de la codificación (incluso cosas tontas como por qué () tiene que ir después de 'return' y cosas así. He sido aprensivo con esto ya que pensé que os molestaría con estas preguntas, pero si me dais el visto bueno entonces empezaré a preguntar de verdad y progresaré más rápido. Entonces este hilo puede convertirse en un viaje de aprendizaje para otros novatos también.


Entonces, ¿qué me dices?

Por cierto, ¿tienes tu propio helicóptero? Vi uno en ebay hace unos meses por 800 mil dólares, muy bonito, algún empresario lo estaba vendiendo. Quiero comprar uno en algún momento en el futuro :)

Los paréntesis son necesarios porque "return()" es una función en sí misma y, al igual que otras funciones, tiene un parámetro de entrada. En este caso el propósito de la función return es salir de la función actual al punto de la lógica desde donde se llamó a la función actual. Y el parámetro de entrada dentro de los corchetes es el valor que debe ser transportado de vuelta a la lógica de llamada. Así que digamos que usted tiene su propia función, el propósito de su función es devolver el número de órdenes de compra que tiene de vuelta a alguna lógica en la función start() desde donde la llamó.

En ese caso, declarará su función como un int (porque devuelve un entero) así

int MiContadorDeOrdenes()

Dentro de esa función, una vez que hayas calculado el número de órdenes de compra (x) llamarás a la función return() de la siguiente manera

return(x);

Y la lógica que llama a su función desde dentro de la función start() puede ser la siguiente

int NúmeroDeOrdenesDeCompra = MiContadorDeOrdenDeCompra();


Por suerte, no tengo avión propio, sino que he estado trabajando como piloto comercial en un EC 155.


CB

 
cloudbreaker:

Los corchetes son necesarios porque "return()" es una función en sí misma y, al igual que otras funciones, tiene un parámetro de entrada. En este caso el propósito de la función return es salir de la función actual al punto de la lógica desde donde se llamó a la función actual. Y el parámetro de entrada dentro de los corchetes es el valor que debe ser transportado de vuelta a la lógica de llamada. Así que digamos que tienes tu propia función, el propósito de tu función es devolver el número de órdenes de compra que tienes de vuelta a alguna lógica en la función start() desde donde la llamaste.

En ese caso, declarará su función como un int (porque devuelve un entero) así

int MiContadorDeOrdenes()

Dentro de esa función, una vez que hayas calculado el número de órdenes de compra (x) llamarás a la función return() de la siguiente manera

return(x);

Y la lógica que llama a su función desde dentro de la función start() puede ser la siguiente

int NúmeroDeOrdenesDeCompra = MiContadorDeOrdenDeCompra();


Por suerte, no tengo avión propio, sino que he estado trabajando como piloto comercial en un EC 155.


CB



Gracias, ¡Cascarrabias! Esto empieza a ser un poco más divertido, no sabía que se puede llamar a una función dentro de un retorno (aunque probablemente esté en el libro de mql, como todo lo teórico). ¡Bonito helicóptero EC 155! ¿Por qué "afortunadamente", no quieres tu propio helicóptero?