QUIERO ENTRAR CADA DÍA CON EL CAPITAL ACUMULADO, NO CON EL CAPITAL INICIAL

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #208262 quote
    cmadonar
    Participant
    New

    Buenas tardes,

    Tengo la siguiente consulta:

     

    Tengo una estrategia programada que me realiza una sola operación al día (no más).

    El capital inicial es digamos 10.000 Euros.

    El primer día hará la entrada con 10.000 euros.

    Quiero que el segundo día la entrada la haga con el capital acumulado el primer día (es decir 10.000 euros + ganancias/pérdidas del primer día, y así sucesivamente.

    Es decir, que utilice para la entrada cada día el capital acumulado hasta la fecha y no el capital inicial.

    El código que he utilizado para ello es el siguiente (lo tomé de un post anterior):

     

    DEFPARAM CUMULATEORDERS = TRUE

    //Capital:

    CapitalInicial = 10000

    Capital = CapitalInicial + STRATEGYPROFIT

     

    // Condiciones para entrada de posiciones largas

    IF NOT LongOnMarket THEN

    BUY Capital CASH AT MARKET

    ENDIF

     

    // Condiciones de entrada de posiciones cortas

    IF NOT ShortOnMarket THEN

    SELLSHORT Capital CASH AT MARKET

    ENDIF

     

    Sin embargo no funciona. El código que acabo de escribir coge siempre 10.000 Euros para la entrada. Es decir, el código que acabo de escribir hace lo mismo que si codifico:

     

    // Condiciones para entrada de posiciones largas

    IF NOT LongOnMarket THEN

    BUY 10000 CASH AT MARKET

    ENDIF

     

    // Condiciones de entrada de posiciones cortas

    IF NOT ShortOnMarket THEN

    SELLSHORT 10000 CASH AT MARKET

    ENDIF

    Mi pregunta es ¿Me podéis indicar que está mal en el primer código? ¿Qué tendría que poner el código para que cada día haga la entrada con el capital acumulado y no con el capital inicial?

    Gracias de antemano

    Carlos

    DEFPARAM CUMULATEORDERS = TRUE
    //Capital:
    CapitalInicial = 10000
    Capital = CapitalInicial + STRATEGYPROFIT
    
    // Condiciones para entrada de posiciones largas
    IF NOT LongOnMarket THEN
    BUY Capital CASH AT MARKET
    ENDIF
    
    // Condiciones de entrada de posiciones cortas
    IF NOT ShortOnMarket THEN
    SELLSHORT Capital CASH AT MARKET
    ENDIF
    
    // Condiciones para entrada de posiciones largas
    IF NOT LongOnMarket THEN
    BUY 10000 CASH AT MARKET
    ENDIF
    
    // Condiciones de entrada de posiciones cortas
    IF NOT ShortOnMarket THEN
    SELLSHORT 10000 CASH AT MARKET
    ENDIF
    
    #208575 quote
    robertogozzi
    Moderator
    Master

    Agregue esta línea al final, para que vea que su capital se reduce a cero, por lo que NO PUEDE aumentar.
    Escribe la estrategia para que tengas fases en las que aumente o disminuya.

    graph Capital
    #210312 quote
    cmadonar
    Participant
    New

    Gracias Roberto

    #217840 quote
    deletedaccount22102025
    Participant
    New

    ola, yo también suelo tener ese problema porque el bróker no devuelve la información del comando y se paraliza el robot. Yo veo como hacerlo. Cada vez que introduzco la función strategyprofit, al poco tiempo de iniciar el Proorder se para porque dice que el operador no devuelve la instrucción.

    Yo también rogaría, a roberto, Nicolás o algún colaborador que adjunte algún ejemplo con la instrucción STRATEGYPROFIT y que no dé error. Aprovecho la ocasión para agradecer a todos los colaboradores el tiempo dedicado a ayudar a los que no dominamos la plataforma aún.

    #217897 quote
    robertogozzi
    Moderator
    Master

    STRATEGYPROFIT no debe dar errores, ¿cuáles son?
    ¿Puedes dar un ejemplo con errores?

    #250576 quote
    jvsanmillan
    Participant
    New

    Hola, al hilo de estos correos sobre capital. Mi duda es, ¿Cómo seria la linea de código para cerrar mi posición cuando el precio me vaya dando una ganancia de un 2% del capital inicial, por ejemplo?

    #250600 quote
    robertogozzi
    Moderator
    Master

    Ahí está:

    DEFPARAM CUMULATEORDERS = TRUE
    //Capital:
    CapitalInicial = 10000
    
    // Código para cerrar operaciones cuando tienen una ganancia del 2%
    IF OnMarket THEN
    tempGain = PositionPerf * Positionprice * 100
    IF tempGAIN > (CapitalInicial * 0.02) THEN
    SELL      AT MARKET
    SELLSHORT AT MARKET
    ENDIF
    ENDIF
    
    Capital = CapitalInicial + STRATEGYPROFIT
     
    // Condiciones para entrada de posiciones largas
    IF NOT OnMarket THEN
    BUY Capital CASH AT MARKET
    ENDIF
     
    // Condiciones de entrada de posiciones cortas
    IF NOT ShortOnMarket THEN
    SELLSHORT Capital CASH AT MARKET
    ENDIF
    // Condiciones para entrada de posiciones largas
    IF NOT OnMarket THEN
    BUY 10000 CASH AT MARKET
    ENDIF
    SET STOP   %LOSS   1
    SET TARGET %PROFIT 3
    
    // Condiciones de entrada de posiciones cortas
    IF NOT ShortOnMarket THEN
    SELLSHORT 10000 CASH AT MARKET
    ENDIF
    //graph tempGain
    //graph tempGAIN > (CapitalInicial * 0.02) coloured("Red")
    #250604 quote
    jvsanmillan
    Participant
    New

    Que rapidez ! Muchas Gracias !

    saludos, Jose V

    robertogozzi thanked this post
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

QUIERO ENTRAR CADA DÍA CON EL CAPITAL ACUMULADO, NO CON EL CAPITAL INICIAL


Soporte ProOrder

New Reply
Author
author-avatar
cmadonar @cmadonar Participant
Summary

This topic contains 7 replies,
has 4 voices, and was last updated by jvsanmillan
4 months, 3 weeks ago.

Topic Details
Forum: Soporte ProOrder
Language: Spanish
Started: 01/25/2023
Status: Active
Attachments: No files
Logo Logo
Loading...