Regístrate o inicia sesión para ver el curso gratuito.

ChatGPT - Preguntándole a la IA sobre Trading

Hola,

En un rato que estuve aburrido, estuve haciendo pruebas con esta herramienta gratuita (link abajo).

Me pareció muy interesante lo que tiene que contarnos sobre trading.

¿Os animáis a preguntarle a ChatGPT otras cosas sobre trading y publicarlas aquí?

Acceso a Chat GPT: https://chat.openai.com/

¿Qué necesito para ser un trader rentable?

Me parece que aquí nos da una respuesta muy exacta sobre qué necesita un trader para ser rentable.

Para convertirte en un trader rentable, hay varios elementos clave que debes considerar y desarrollar. Aquí hay algunos requisitos y consejos importantes:

  1. Educación y conocimiento: Comienza por aprender sobre los mercados financieros, estrategias de trading, análisis técnico y fundamental, y otros conceptos relacionados. Hay cursos en línea, libros y recursos gratuitos disponibles para mejorar tus conocimientos.

  2. Capital inicial adecuado: Necesitarás una cantidad suficiente de capital para operar y asumir los riesgos involucrados. No arriesgues dinero que no puedas permitirte perder.

  3. Plan de trading sólido: Desarrolla un plan de trading claro y definido que incluya tus objetivos, estrategias, reglas de entrada y salida, gestión de riesgos y expectativas realistas. Sigue tu plan disciplinadamente y evita dejarte llevar por las emociones.

  4. Gestión del riesgo: Es fundamental gestionar adecuadamente el riesgo en cada operación. Establece límites de pérdidas y utiliza órdenes de stop-loss para limitar las pérdidas potenciales. No arriesgues demasiado capital en una sola operación.

  5. Análisis y estrategias: Desarrolla habilidades en el análisis técnico y fundamental para identificar oportunidades de trading. Prueba y perfecciona diferentes estrategias en una cuenta de práctica antes de utilizarlas con dinero real.

  6. Control emocional: El trading puede ser emocionalmente desafiante. Aprende a controlar tus emociones, evita tomar decisiones impulsivas basadas en el miedo o la codicia, y mantén la disciplina en tu enfoque.

  7. Gestión del tiempo: Dedica tiempo y esfuerzo para monitorear los mercados, analizar gráficos y ejecutar tus operaciones. Ser un trader rentable requiere dedicación y compromiso.

  8. Adaptabilidad y aprendizaje continuo: Los mercados financieros son dinámicos y cambiantes. Mantente actualizado con las últimas noticias económicas y eventos relevantes. Aprende de tus operaciones pasadas, evalúa tus errores y mejora constantemente tus habilidades.

Recuerda que convertirse en un trader rentable lleva tiempo y experiencia. Es importante ser realista en cuanto a las expectativas y entender que el trading conlleva riesgos. Nunca dejes de aprender y busca siempre mejorar tus habilidades y conocimientos.


¿Cómo saber si una formación de trading es buena?

En este aspecto también me sorprendió.

He de decir que no pude tomar como referencia para comparar lo que comenta la formación de Luis (la única que he realizado hasta hoy y no creo que realice otras, al menos de momento) y me parece que cumple todos los aspectos.

Determinar si una formación de trading es buena puede ser un desafío, ya que hay muchas opciones disponibles y la calidad puede variar. Aquí hay algunos criterios que puedes considerar al evaluar una formación de trading:

  1. Reputación y credibilidad: Investiga la reputación del proveedor de la formación. Busca opiniones y reseñas de otros traders que hayan tomado el curso. Verifica la trayectoria y experiencia del instructor o empresa que ofrece la formación.

  2. Contenido del curso: Examina el temario y los temas que se cubren en el curso. Debe incluir una sólida base teórica, análisis técnico y fundamental, estrategias de trading, gestión del riesgo, psicología del trading, entre otros aspectos esenciales. Asegúrate de que el contenido sea completo y relevante para tus objetivos.

  3. Metodología de enseñanza: Considera el enfoque y la metodología utilizada para impartir la formación. Algunos cursos ofrecen material interactivo, estudios de caso, simulaciones de trading o acceso a una comunidad de traders. Determina si el estilo de enseñanza se adapta a tu forma de aprender.

  4. Experiencia práctica: Una buena formación de trading debe incluir la oportunidad de aplicar los conocimientos adquiridos en operaciones reales o en simulaciones de mercado. La práctica es fundamental para desarrollar habilidades y evaluar la efectividad de las estrategias enseñadas.

  5. Apoyo y seguimiento: Valora si la formación incluye algún tipo de soporte adicional, como sesiones de preguntas y respuestas, asesoramiento personalizado o acceso a una comunidad de traders. El apoyo adicional puede ser beneficioso, especialmente cuando surgen dudas o se necesita orientación adicional.

  6. Resultados y testimonios: Busca testimonios de traders que hayan tomado la formación y verifiquen si han obtenido resultados positivos. Ten en cuenta que los resultados individuales pueden variar, pero las opiniones y experiencias de otros traders pueden darte una idea de la calidad de la formación.

  7. Precio y relación calidad-precio: Evalúa el costo de la formación en relación con el valor que ofrece. No te dejes llevar solo por el precio más bajo o más alto, sino por la relación calidad-precio. Considera lo que obtendrás a cambio de tu inversión.

Recuerda que la formación en trading es una parte importante del proceso, pero la experiencia práctica y el desarrollo continuo son igualmente importantes. Es recomendable combinar la formación con la práctica en una cuenta de demostración y una dedicación constante para mejorar tus habilidades como trader.


¿Los backtests en trading son fiables?

Me pareció brutal esta respuesta y muy en la línea de lo que Luis siempre comenta.

Los backtests en trading pueden proporcionar información valiosa sobre la efectividad de una estrategia en el pasado, pero es importante tener en cuenta sus limitaciones y no depender únicamente de ellos. Aquí hay algunas consideraciones sobre la fiabilidad de los backtests:

  1. Supuestos y limitaciones: Los backtests se basan en supuestos y decisiones tomadas por el trader al configurar los parámetros del análisis. Estos supuestos pueden incluir deslizamientos, comisiones, liquidez, y otros factores que pueden afectar los resultados reales. Es importante comprender los supuestos utilizados en el backtest y evaluar si son realistas y representativos de las condiciones del mercado.

  2. Sesgo de optimización: Existe el riesgo de que los backtests sean optimizados en exceso para adaptarse a los datos históricos. Esto significa que los parámetros de la estrategia pueden ser ajustados de manera selectiva para obtener los mejores resultados en el pasado, pero esto no garantiza que los mismos resultados se repitan en el futuro. Es esencial evitar el sesgo de optimización y evaluar la robustez de la estrategia en diferentes condiciones del mercado.

  3. Cambio de condiciones del mercado: Los mercados financieros son dinámicos y están sujetos a cambios en las condiciones económicas, políticas y otras variables. Los backtests pueden no reflejar adecuadamente cómo una estrategia funcionará en entornos de mercado diferentes a los analizados. Es importante considerar los cambios en las condiciones del mercado y adaptar la estrategia en consecuencia.

  4. Riesgo de sobreestimar los resultados pasados: Los resultados pasados no garantizan rendimientos futuros. Incluso si un backtest muestra un rendimiento sólido en el pasado, esto no significa que la estrategia funcionará de la misma manera en el futuro. Los mercados son impredecibles y están sujetos a una variedad de factores que pueden afectar los resultados.

  5. Complementar con análisis en tiempo real: Los backtests pueden ser una herramienta útil para evaluar la viabilidad de una estrategia, pero es importante complementarlos con análisis en tiempo real. Observar cómo se comporta la estrategia en condiciones reales del mercado y hacer ajustes basados en los resultados y el análisis actual puede ayudarte a tomar decisiones más informadas.

En resumen, los backtests son una herramienta útil para evaluar una estrategia de trading, pero deben utilizarse con precaución y no tomarse como garantía de rendimientos futuros. Es esencial combinar los backtests con una comprensión sólida de los conceptos de trading, el análisis en tiempo real y la gestión adecuada del riesgo para tomar decisiones informadas en el trading.


En definitiva, me parece brutal todo lo que Chat GPT sabe sobre trading y la coherencia de sus respuestas.

Os animo a hacerle las mismas preguntas que yo, veréis que las respuestas son diferentes. Nunca da la misma respuesta, pero siempre con la misma lógica y coherencia. Es brutal esta tecnología.

🇪🇦

Etiquetado:

Comentarios

  • trader89
    trader89 156 puntos
    editado mayo 2023
    Algunas preguntas más que se me han ocurrido.

    ¿Es la IA el futuro del trading?

    "La combinación de la experiencia humana y la inteligencia artificial puede ser una estrategia efectiva para los traders en el futuro.".

    Brutal... Luis, te vamos a cambiar por ChatGPT, el hará tus videos en el futuro. xD

    La inteligencia artificial (IA) ha demostrado tener un gran potencial en el campo del trading. Muchas empresas y traders están utilizando técnicas de IA y aprendizaje automático para analizar grandes cantidades de datos y tomar decisiones comerciales más informadas y precisas.

    La IA puede procesar rápidamente enormes cantidades de información y detectar patrones y tendencias ocultas que podrían pasar desapercibidos para los humanos. Esto puede ayudar a los traders a identificar oportunidades comerciales, tomar decisiones basadas en datos y gestionar el riesgo de manera más efectiva.

    Sin embargo, es importante destacar que la IA en el trading no es una solución infalible. Los mercados financieros son complejos y están influenciados por una amplia gama de factores, incluidos eventos económicos, políticos y sociales. Además, los algoritmos de IA también están sujetos a limitaciones y pueden enfrentar desafíos cuando se encuentran con situaciones inesperadas o condiciones de mercado volátiles.

    Además, el trading conlleva riesgos inherentes, y la participación de la IA en el trading no elimina estos riesgos. Los traders y las empresas deben comprender los principios y las limitaciones de la IA, así como supervisar y evaluar constantemente su rendimiento.

    En resumen, si bien la IA tiene el potencial de mejorar el trading al proporcionar análisis más precisos y automatizar ciertos procesos, no se puede afirmar categóricamente que sea el único futuro del trading. La combinación de la experiencia humana y la inteligencia artificial puede ser una estrategia efectiva para los traders en el futuro.

    Trading algorítmico vs Trading humano

    Creo que queda claro, o al menos así lo interpreto yo (quizás por si sesgo), que la vía para llegar a vivir de este negocio con alta probabilidad es el trading algorítmico, no el humano.

    El trading algorítmico y el trading humano son dos enfoques distintos en el campo del trading. Aquí tienes algunas características y diferencias entre ambos:

    1. Velocidad y capacidad de procesamiento: El trading algorítmico utiliza algoritmos y software automatizado para analizar datos y ejecutar operaciones de manera rápida y eficiente. Puede procesar grandes volúmenes de información en milisegundos y realizar operaciones basadas en reglas predefinidas. En contraste, el trading humano implica la toma de decisiones basada en la experiencia, el juicio y la intuición humana, lo que puede ser más lento en comparación.

    2. Emociones y sesgos: El trading humano puede estar influenciado por emociones y sesgos psicológicos, como el miedo, la codicia o la euforia, lo que puede llevar a decisiones irracionales y errores. Por otro lado, el trading algorítmico se basa en reglas predefinidas y está libre de emociones humanas, lo que puede ayudar a evitar estos sesgos.

    3. Capacidad de análisis: Los algoritmos utilizados en el trading algorítmico pueden analizar rápidamente grandes cantidades de datos y detectar patrones o señales que podrían pasar desapercibidos para los humanos. Sin embargo, el trading humano puede aprovechar la intuición y la experiencia acumulada a lo largo del tiempo para tomar decisiones basadas en un análisis más subjetivo.

    4. Adaptabilidad: El trading algorítmico puede ser más adaptable a diferentes condiciones de mercado, ya que los algoritmos pueden ajustarse y adaptarse rápidamente a los cambios. Por otro lado, los traders humanos pueden tener la capacidad de adaptarse y tomar decisiones más flexibles en situaciones imprevistas o eventos inesperados.

    En la práctica, muchos traders utilizan una combinación de enfoques, aprovechando los beneficios de la automatización y el análisis de datos proporcionados por el trading algorítmico, así como la experiencia y la intuición humana. La elección entre el trading algorítmico y el trading humano depende de las preferencias individuales, el estilo de trading y las condiciones del mercado.


    🇪🇦

  • Manuel
    Manuel 105 puntos
    Hola, justamente anoche estuve preguntando yo sobre programación.
    Es útil para pedir ejemplos de código, te los genera a medida y suelen ser bastante didácticos.
    Los que me pasó anoche no funcionaban pero se nota que puede ser una herramienta muy útil para aprender.

  • trader89
    trader89 156 puntos
    Manuel dijo:
    Hola, justamente anoche estuve preguntando yo sobre programación.
    Es útil para pedir ejemplos de código, te los genera a medida y suelen ser bastante didácticos.
    Los que me pasó anoche no funcionaban pero se nota que puede ser una herramienta muy útil para aprender.


    Esto no lo había probado nunca, voy a ello!!

    Gracias Manuel!

    🇪🇦

  • luis
    luis 372 puntos
    Me parece muy pero que muy curioso lo que has hecho. Muchas gracias por compartirlo con nosotros. 

    Haré algún video sobre ello en el futuro, me parece buenísimo. 
  • Manuel
    Manuel 105 puntos
    Si es curioso, hace algunas semanas le pedí que me hiciese un código en Easylangauge que detectase patrones de ondas de elliot y se puso manos a la obra.
    No probé el código, pero tenía sentido y sobre todo ves que usa el lenguaje de programación según le vas pidiendo, esto me flipa.

  • luis
    luis 372 puntos
    Manuel dijo:
    Si es curioso, hace algunas semanas le pedí que me hiciese un código en Easylangauge que detectase patrones de ondas de elliot y se puso manos a la obra.
    No probé el código, pero tenía sentido y sobre todo ves que usa el lenguaje de programación según le vas pidiendo, esto me flipa.

    ¿Podrías compartir la respuesta que te dio, Manuel? :)
  • luis
    luis 372 puntos
    editado mayo 2023
    Añado alguna pregunta interesante que le hice:

    ¿Cuánto es lo máximo que debería arriesgar por operación en mi trading?

    Determinar la cantidad máxima que deberías arriesgar por operación en tu trading es una decisión personal y depende de varios factores, incluyendo tu tolerancia al riesgo, tu estrategia de trading y tu capital disponible. Sin embargo, muchos traders profesionales y expertos en gestión de riesgos sugieren seguir la regla general del 1% al 2% de riesgo máximo por operación.

    Esta regla implica que no deberías arriesgar más del 1% o 2% de tu capital total en una sola operación. Por ejemplo, si tienes $10,000 como capital de trading, el riesgo máximo por operación sería de $100 a $200 (1% a 2% de $10,000). Esto ayuda a proteger tu capital y limitar las pérdidas en caso de que la operación no sea exitosa.

    Es importante tener en cuenta que esta regla es solo una guía general y puede ajustarse según tus preferencias y circunstancias individuales. Algunos traders más conservadores eligen un límite aún más bajo, como el 0.5% de riesgo máximo por operación, mientras que otros pueden estar dispuestos a asumir un riesgo ligeramente más alto.

    Recuerda que la gestión adecuada del riesgo es fundamental en el trading. Diversificar tus operaciones, establecer stop-loss para limitar las pérdidas y tener un plan de gestión de riesgos sólido son aspectos importantes a considerar para mantener una estrategia de trading sostenible a largo plazo.

    Como decís, es realmente asombroso lo que es capaz de responder.
  • Manuel
    Manuel 105 puntos
    editado mayo 2023
    luis dijo:
    Manuel dijo:
    Si es curioso, hace algunas semanas le pedí que me hiciese un código en Easylangauge que detectase patrones de ondas de elliot y se puso manos a la obra.
    No probé el código, pero tenía sentido y sobre todo ves que usa el lenguaje de programación según le vas pidiendo, esto me flipa.

    ¿Podrías compartir la respuesta que te dio, Manuel? :)
    Hola no tengo guardado el código que me dio en aquella respuesta, pero aquí dejo unos nuevos.

    Si se lo pido en PineScritp me da un código que no funciona, tiene algunos errores pero puede servir de estructura. En este caso usa una librería:



    El patrón gráfico ondas de Elliott es una teoría que describe el ritmo natural de la psicología de masas en el mercado, que se manifiesta en ondas. El indicador del patrón gráfico ondas de Elliott en TradingView está configurado para reconocer los patrones de onda más comunes, que se construyen de acuerdo con las siguientes reglas: Impulso (onda Motriz): Estructura de la onda: 5-3-5-3-5. La onda 2 no retrocede más del 100% de la longitud de la onda 11.

    Aquí hay un ejemplo de código en Pine Script que utiliza el patrón gráfico ondas de Elliott para colorear la formación de estructuras de ondas en un gráfico de futuros:

    //@version=4
    study(title="Elliott Wave Trend", shorttitle="EWT", overlay=true)
    
    // Define the wave colors
    color wave1 = #FFA500
    color wave2 = #FFD700
    color wave3 = #FFFF00
    color wave4 = #9ACD32
    color wave5 = #00FF00
    
    // Define the wave function
    wave(num) =>
        if num == 1
            wave1
        else if num == 2
            wave2
        else if num == 3
            wave3
        else if num == 4
            wave4
        else if num == 5
            wave5
    
    // Define the Elliott Wave Trend function
    ewt() =>
        // Calculate the Elliott Wave Trend using the built-in ZigZag function
        ewt = zigzag(0.01, 10)
    
        // Determine the direction of each wave using the built-in sign function
        direction = sign(ewt - ewt[1])
    
        // Determine the number of each wave using a for loop and a counter variable
        count = 0
        for i = 1 to bar_index do
            if direction[i] != direction[i-1]
                count := count + 1
    
        // Color each wave based on its number using the wave function defined above
        color[] colors = array.new_color()
        for i = 0 to count-1 do
            array.push(colors, wave(i % 5 + 1))
        array.concat(array.new_color(na), colors)
    
    // Plot the Elliott Wave Trend on the chart
    plot(ewt(), style=histogram, linewidth=2)
    

    Este indicador utiliza la función zigzag() incorporada en Pine Script para calcular la tendencia de las ondas de Elliott y la función sign() para determinar la dirección de cada onda. Luego utiliza un bucle for y una variable contador para determinar el número de cada onda y la función wave() para colorear cada onda según su número. Finalmente, traza la tendencia de las ondas de Elliott en el gráfico como un histograma.




    En otra respuesta comenzó a mostrar código sin usar las librería zigzag, pero se quedó a medias. Normalmente si pasa esto puedes pedirle que continúe, pero en este caso no lo hizo.
    Como comenté, no te va a hacer el trabajo, pero para darte ideas y comenzar con una estructura puede servir.
    Sobre todo parece que hay que aprender a hacerle las preguntas adecuadas para sacarle el máximo provecho.

    Aquí te dejo un ejemplo de código en Pinescript que utiliza el patrón gráfico ondas de Elliott para colorear la formación de estructuras de ondas en un gráfico de futuros:

    //@version=4
    study(title="Elliott Wave Trend", shorttitle="EWT", overlay=true)
    src = input(close, title="Source")
    len = input(10, minval=1, title="Length")
    res = input(title="Resolution", type=input.resolution, defval="D")
    var line[] waveLine = array.new_line(0)
    var int waveCount = 0
    var int waveStart = 0
    var int waveEnd = 0
    var bool waveUp = true
    var float wavePrice = 0.0
    var float wavePricePrev = 0.0
    var float wavePriceStart = 0.0
    var float wavePriceEnd = 0.0
    
    waveLine := array.new_line(0)
    
    waveCount := 0
    waveStart := 0
    waveEnd := 0
    waveUp := true
    
    for i = 1 to len + 1
        if src[i] > src[i - 1]
            if not waveUp and waveCount > 2
                array.push(waveLine, line.new(waveStart, wavePriceStart, waveEnd, wavePriceEnd, color=waveCount % 2 == 1 ? color.green : color.red))
                waveCount := 1
                waveStart := i - 1
                wavePriceStart := src[i - 1]
            else if not waveUp and waveCount <= 2
                waveCount := 1
                waveStart := i - 1
                wavePriceStart := src[i - 1]
            else if waveUp and i > len + 1 and array.size(waveLine) > 0 and array.get(waveLine, array.size(waveLine) - 1).y2 < src[i - 1]
                array.pop(waveLine)
                array.push(waveLine, line.new(array.get(waveLine, array.size(waveLine) - 1).x1, array.get(waveLine, array.size(waveLine) - 1).y1, i - 1, src[i - 1], color=waveCount % 2 == 1 ? color.green : color.red))
                waveCount := waveCount + 1
                waveEnd := i - 1
                wavePriceEnd := src[i - 1]
            else if not waveUp and i > len + 1 and array.size(waveLine) > 0 and array.get(waveLine, array.size(waveLine) - 1).y2 > src[i - 1]
                array.pop(waveLine)
                array.push(waveLine, line.new(array.get(waveLine, array.size(waveLine) - 1).x1, array.get(waveLine, array.size(waveLine) - 1).y1, i - 1, src[i - 1], color=waveCount % 2 == 1 ? color.green : color.red))
                waveCount := waveCount + 1
                waveEnd := i - 1
                wavePriceEnd := src[i - 1]
            else if not waveUp and i == len + 2 and array.size(waveLine) > 0 and array.get(waveLine, array.size(waveLine) - 1).y2 < src[i - 2]
                array.pop(waveLine)
                array.push(waveLine, line.new(array.get(waveLine, array.size(waveLine) - 1).x1, array.get(waveLine, array.size(waveLine) - 1).y1, i - 2, src[i -2], color=waveCount %2 == 1 ? color.green : color.red))
            else if not waveUp and i == len +2 
                line.delete(array.pop(waveLine))
            else if not waveUp 
                waveCount := waveCount + 1
            else 
                line.delete(array.pop(waveLine))
        else if src[i] < src[i-1]
            if not (not waveUp and i == len +2)
                line.delete(array.pop(waveLine))
            if not (not waveUp

  • trader89
    trader89 156 puntos
    editado mayo 2023
    Manuel dijo:
    luis dijo:
    Manuel dijo:
    Si es curioso, hace algunas semanas le pedí que me hiciese un código en Easylangauge que detectase patrones de ondas de elliot y se puso manos a la obra.
    No probé el código, pero tenía sentido y sobre todo ves que usa el lenguaje de programación según le vas pidiendo, esto me flipa.

    ¿Podrías compartir la respuesta que te dio, Manuel? :)
    Hola no tengo guardado el código que me dio en aquella respuesta, pero aquí dejo unos nuevos.

    Si se lo pido en PineScritp me da un código que no funciona, tiene algunos errores pero puede servir de estructura. En este caso usa una librería:



    El patrón gráfico ondas de Elliott es una teoría que describe el ritmo natural de la psicología de masas en el mercado, que se manifiesta en ondas. El indicador del patrón gráfico ondas de Elliott en TradingView está configurado para reconocer los patrones de onda más comunes, que se construyen de acuerdo con las siguientes reglas: Impulso (onda Motriz): Estructura de la onda: 5-3-5-3-5. La onda 2 no retrocede más del 100% de la longitud de la onda 11.

    Aquí hay un ejemplo de código en Pine Script que utiliza el patrón gráfico ondas de Elliott para colorear la formación de estructuras de ondas en un gráfico de futuros:

    //@version=4
    study(title="Elliott Wave Trend", shorttitle="EWT", overlay=true)
    
    // Define the wave colors
    color wave1 = #FFA500
    color wave2 = #FFD700
    color wave3 = #FFFF00
    color wave4 = #9ACD32
    color wave5 = #00FF00
    
    // Define the wave function
    wave(num) =>
        if num == 1
            wave1
        else if num == 2
            wave2
        else if num == 3
            wave3
        else if num == 4
            wave4
        else if num == 5
            wave5
    
    // Define the Elliott Wave Trend function
    ewt() =>
        // Calculate the Elliott Wave Trend using the built-in ZigZag function
        ewt = zigzag(0.01, 10)
    
        // Determine the direction of each wave using the built-in sign function
        direction = sign(ewt - ewt[1])
    
        // Determine the number of each wave using a for loop and a counter variable
        count = 0
        for i = 1 to bar_index do
            if direction[i] != direction[i-1]
                count := count + 1
    
        // Color each wave based on its number using the wave function defined above
        color[] colors = array.new_color()
        for i = 0 to count-1 do
            array.push(colors, wave(i % 5 + 1))
        array.concat(array.new_color(na), colors)
    
    // Plot the Elliott Wave Trend on the chart
    plot(ewt(), style=histogram, linewidth=2)
    

    Este indicador utiliza la función zigzag() incorporada en Pine Script para calcular la tendencia de las ondas de Elliott y la función sign() para determinar la dirección de cada onda. Luego utiliza un bucle for y una variable contador para determinar el número de cada onda y la función wave() para colorear cada onda según su número. Finalmente, traza la tendencia de las ondas de Elliott en el gráfico como un histograma.




    En otra respuesta comenzó a mostrar código sin usar las librería zigzag, pero se quedó a medias. Normalmente si pasa esto puedes pedirle que continúe, pero en este caso no lo hizo.
    Como comenté, no te va a hacer el trabajo, pero para darte ideas y comenzar con una estructura puede servir.
    Sobre todo parece que hay que aprender a hacerle las preguntas adecuadas para sacarle el máximo provecho.

    Aquí te dejo un ejemplo de código en Pinescript que utiliza el patrón gráfico ondas de Elliott para colorear la formación de estructuras de ondas en un gráfico de futuros:

    //@version=4
    study(title="Elliott Wave Trend", shorttitle="EWT", overlay=true)
    src = input(close, title="Source")
    len = input(10, minval=1, title="Length")
    res = input(title="Resolution", type=input.resolution, defval="D")
    var line[] waveLine = array.new_line(0)
    var int waveCount = 0
    var int waveStart = 0
    var int waveEnd = 0
    var bool waveUp = true
    var float wavePrice = 0.0
    var float wavePricePrev = 0.0
    var float wavePriceStart = 0.0
    var float wavePriceEnd = 0.0
    
    waveLine := array.new_line(0)
    
    waveCount := 0
    waveStart := 0
    waveEnd := 0
    waveUp := true
    
    for i = 1 to len + 1
        if src[i] > src[i - 1]
            if not waveUp and waveCount > 2
                array.push(waveLine, line.new(waveStart, wavePriceStart, waveEnd, wavePriceEnd, color=waveCount % 2 == 1 ? color.green : color.red))
                waveCount := 1
                waveStart := i - 1
                wavePriceStart := src[i - 1]
            else if not waveUp and waveCount <= 2
                waveCount := 1
                waveStart := i - 1
                wavePriceStart := src[i - 1]
            else if waveUp and i > len + 1 and array.size(waveLine) > 0 and array.get(waveLine, array.size(waveLine) - 1).y2 < src[i - 1]
                array.pop(waveLine)
                array.push(waveLine, line.new(array.get(waveLine, array.size(waveLine) - 1).x1, array.get(waveLine, array.size(waveLine) - 1).y1, i - 1, src[i - 1], color=waveCount % 2 == 1 ? color.green : color.red))
                waveCount := waveCount + 1
                waveEnd := i - 1
                wavePriceEnd := src[i - 1]
            else if not waveUp and i > len + 1 and array.size(waveLine) > 0 and array.get(waveLine, array.size(waveLine) - 1).y2 > src[i - 1]
                array.pop(waveLine)
                array.push(waveLine, line.new(array.get(waveLine, array.size(waveLine) - 1).x1, array.get(waveLine, array.size(waveLine) - 1).y1, i - 1, src[i - 1], color=waveCount % 2 == 1 ? color.green : color.red))
                waveCount := waveCount + 1
                waveEnd := i - 1
                wavePriceEnd := src[i - 1]
            else if not waveUp and i == len + 2 and array.size(waveLine) > 0 and array.get(waveLine, array.size(waveLine) - 1).y2 < src[i - 2]
                array.pop(waveLine)
                array.push(waveLine, line.new(array.get(waveLine, array.size(waveLine) - 1).x1, array.get(waveLine, array.size(waveLine) - 1).y1, i - 2, src[i -2], color=waveCount %2 == 1 ? color.green : color.red))
            else if not waveUp and i == len +2 
                line.delete(array.pop(waveLine))
            else if not waveUp 
                waveCount := waveCount + 1
            else 
                line.delete(array.pop(waveLine))
        else if src[i] < src[i-1]
            if not (not waveUp and i == len +2)
                line.delete(array.pop(waveLine))
            if not (not waveUp


    WOW! Sorprendente

    De verdad que no me lo esperaba

    Voy a hacerle yo preguntas parecidas también  a ver qué me dice jeje

    Si sale algo interesante lo publicaré aquí

    Muchas gracias a todos por compartir!!

    🇪🇦

  • luis
    luis 372 puntos
    editado mayo 2023
    Me quedé asombrado con esta respuesta a la pregunta:

    ¿Por qué la inflación es necesaria?

    La inflación es un fenómeno económico en el cual el nivel general de precios de bienes y servicios en una economía aumenta durante un período de tiempo. Aunque la inflación a menudo es vista negativamente, existen varias razones por las cuales es necesaria en una economía.

    1. Estimula el crecimiento económico: La inflación moderada puede ser beneficiosa para el crecimiento económico. Cuando hay una ligera inflación, los consumidores tienden a gastar y invertir su dinero en lugar de retenerlo, ya que saben que su dinero perderá valor con el tiempo. Esto impulsa la demanda y estimula la actividad económica.

    2. Fomenta la inversión y el empleo: La inflación puede fomentar la inversión y el empleo al aumentar las expectativas de ganancias futuras. Cuando los empresarios anticipan que los precios subirán, es más probable que inviertan en nuevas capacidades de producción y contraten más trabajadores para satisfacer la demanda creciente.

    3. Facilita el ajuste de precios relativos: La inflación permite que los precios relativos se ajusten más fácilmente. Si todos los precios subieran al mismo tiempo, sería difícil para los mercados ajustar los precios relativos, lo que podría generar distorsiones en la economía. Con una inflación moderada, los precios pueden ajustarse gradualmente en respuesta a cambios en la oferta y la demanda.

    4. Redistribuye la riqueza: La inflación puede tener un efecto redistributivo en la sociedad. A medida que los precios suben, los deudores se benefician, ya que pueden pagar sus deudas con dinero que vale menos. Por otro lado, los acreedores pueden verse perjudicados, ya que el valor real de sus préstamos disminuye. Esto puede ayudar a reducir las desigualdades económicas.

    Es importante destacar que, si bien una inflación moderada puede ser beneficiosa, una inflación alta o descontrolada puede tener consecuencias negativas, como la erosión del poder adquisitivo de la población, la incertidumbre económica y la distorsión de las decisiones de gasto e inversión. Por lo tanto, los bancos centrales y los responsables de la política económica suelen tener como objetivo mantener la inflación bajo control y en niveles moderados.


    Tampoco aquí se queda corto:

    ¿Las pruebas de fondeo son buena opción para comenzar en trading?

    Las pruebas de fondeo, también conocidas como pruebas de capital o pruebas de trading, son una opción que algunos traders consideran para iniciar su carrera en el trading. Estas pruebas implican recibir un capital inicial proporcionado por una firma de inversión o una plataforma de trading, con la condición de que los beneficios generados se compartan entre el trader y la entidad proveedora de los fondos.

    Existen ventajas y consideraciones importantes a tener en cuenta al optar por las pruebas de fondeo como una opción para comenzar en el trading:

    1. Capital inicial: Una de las principales ventajas de las pruebas de fondeo es que proporcionan un capital inicial sin que el trader tenga que invertir su propio dinero. Esto permite a los traders con recursos limitados acceder a los mercados financieros y poner en práctica sus estrategias sin asumir un riesgo financiero significativo.

    2. Aprendizaje y experiencia: Participar en las pruebas de fondeo puede brindar a los traders principiantes la oportunidad de adquirir experiencia en los mercados financieros. Al tener acceso a un capital real, los traders pueden aprender a gestionar riesgos, ejecutar estrategias y enfrentar situaciones reales del mercado sin poner en peligro sus propios recursos.

    3. Compartir ganancias: En muchos casos, las pruebas de fondeo permiten a los traders conservar una parte de las ganancias obtenidas. Esto puede ser un incentivo adicional para que los traders se esfuercen y tengan un rendimiento exitoso, ya que tendrán la posibilidad de obtener beneficios económicos adicionales.

    Sin embargo, también es importante considerar las posibles limitaciones y riesgos asociados con las pruebas de fondeo:

    1. Restricciones y reglas: Las pruebas de fondeo generalmente están sujetas a ciertas reglas y restricciones impuestas por la entidad proveedora de los fondos. Estas reglas pueden incluir límites en los tamaños de las posiciones, los mercados en los que se puede operar y los plazos para alcanzar ciertos objetivos. Estas restricciones pueden limitar la flexibilidad y la capacidad de implementar ciertas estrategias de trading.

    2. Presión y rendimiento: El hecho de operar con capital proporcionado por otros puede generar presión adicional para obtener resultados. Los traders pueden sentir la necesidad de asumir riesgos más altos o tomar decisiones apresuradas para cumplir con los objetivos establecidos. Esta presión puede afectar negativamente el rendimiento y la toma de decisiones racionales.

    3. Costos y comisiones: Al participar en pruebas de fondeo, es posible que existan costos asociados, como tarifas de capacitación, comisiones por el uso de la plataforma de trading o la participación en el programa. Estos costos deben ser considerados al evaluar la viabilidad financiera de esta opción.

    En resumen, las pruebas de fondeo pueden ser una opción atractiva para aquellos que desean comenzar en el trading sin arriesgar su propio capital. Sin embargo, es importante investigar y comprender completamente los términos, las restricciones y los riesgos asociados antes de comprometerse con una prueba de fondeo. Además, es fundamental adquirir conocimientos y habilidades sólidas en trading antes de embarcarse en esta aventura,