Capital de la cuenta en sistemas automaticos

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #155556 quote
    dosqui
    Participant
    New

    Hola.

    La pregunta es, hay alguna variable en proorder que devuelva el capital de la cuenta de IG?

    En la version 10.x no estaba disponible, por las busquedas que he hecho por los subforos. Solo estaba disponible el strategyprofit, pero este depende de cada estrategia, si hay varias no se sabe cuanto capital se tiene.

    En la version 11.x se ha implementado??? Lo pregunto, porque ahora proreal muestra informacion que antes no estaba disponible.

    Añado imagen, recuadro negro, en la que el sistema sabe cuanto es el valor de la cartera (Fondos + Saldo B&P).

    Me interesa para calcular el tamaño de la posicion en funcion del capital de la cuenta (y del margen del instrumento) y no tener que tener una variable en cada estrategia con dicho valor, ya que me obliga a actualizarlo periodicamente en las estrategias si el resultado neto de todas es negativo (disminuye el capital) y por lo tanto me detiene los sistemas por capital insuficiente.

    Gracias

    Capital-prorealtime.jpg Capital-prorealtime.jpg
    #155566 quote
    robertogozzi
    Moderator
    Master

    No es posible saber el capital que hay en tu cuenta, pero si lo pones en una variable antes de ejecutar la estrategia puedes mantenerlo actualizado con STRATEGYPROFIT:

    MyCapital = 10000
    MyEquity  = MyCapital + STRATEGYPROFIT
    puede utilizar MyEquitymargin + drawdown  a hacer sus cálculos.
    #155600 quote
    dosqui
    Participant
    New
    Gracias por la pronta respuesta. Asi es como lo tengo ahora. Pero al tener varias estrategias a la marcha funcionando, el strategyprofit es de cada estrategia, asi que en cuanto empieza a disminuir el capital, y para que no me detenga el sistema por capital insuficiente tengo que deterner la estrategia, editarla cambiando la cantidad asignada a la variable (10.000 en tu ejemplo) y volverla a lanzar. Bastante tedioso. Al ver en la v11 que ya se comunicaba con mi cuenta y que sabia el capital de la misma me ilusione. Quizas para la v11.2? Esperemos.
    #155608 quote
    robertogozzi
    Moderator
    Master
    Si tiene varias estrategias activas, habrá establecido un capital inicial para cada una. Debes indicar el capital específico para esa estrategia. Si una estrategia necesita 2000 €, otra 5000 y otra 3000, habrás puesto 10.000 € en la cuenta, pero cada estrategia solo necesita conocer la suya.
    #172165 quote
    Lisandro77
    Participant
    Average
    Buenos días, primer consulta que realizo en Pro Real Time.  Espero me esté expresando correctamente y me puedan ayudar.  Mi problema es que opero con una determinado capital (en este caso 3000). Y cuando se me cumplen las condiciones de compra, el sistema me sigue operando y sigue comprando aún superando esa cantidad total que dispongo. Ejemplo: si el sistema ya invirtió en 3 ocaciones ($1000), no quiero que siga comprando, es decir si ya utilizó todo el capital disponible no me debería seguir comprando. Como hago para limitar..? y que no compré más por encima de lo que dispongo..? Muchas gracias!
    REM SISTEMA
    DEFPARAM CumulateOrders=TRUE
    REM CAPITAL
    
    CAPITALINICIAL = 3000
    CAPITAL = CAPITALINICIAL + STRATEGYPROFIT
    #172173 quote
    robertogozzi
    Moderator
    Master
    Puedes hacer un cálculo, pero tienes que decirme ¿cuántas entradas quieres hacer, como máximo, con 3000 euros?
    #172185 quote
    Lisandro77
    Participant
    Average
    Gracias Roberto por responder. Dos ejemplos:
    1. realizando 3 entradas como máximo
    2. segundo ejemplo-pregunta: si o si hay que limitar las entradas..? El sistema podría considerar que cuando ya se invirtió la totalidad del capital (capital inicial + ganancias o perdidas ya realizadas), no realice mas compras…?
    #172187 quote
    robertogozzi
    Moderator
    Master
    Prueba esto:
    REM SISTEMA
    DEFPARAM CumulateOrders=TRUE
    REM CAPITAL
    CAPITALINICIAL    = 3000
    maxnumerodelotes  = 3        //número máximo de lotes
    minnumerodelotes  = 0.5      //número mínimo de lotes
    lote              = 1        //1 lote
    CAPITAL           = CAPITALINICIAL + STRATEGYPROFIT
    numerodelotes     = maxnumerodelotes * (CAPITAL / CAPITALINICIAL)
    c1                = numerodelotes >= minnumerodelotes
    c2                = (abs(CountOfPosition) + lote) < numerodelotes
    IF miscondiciones AND c1 AND c2 THEN
       BUY lote CONTRACTS AT Market
    ENDIF
    #172223 quote
    Lisandro77
    Participant
    Average
    Gracias Roberto por tu respuesta, en cuanto vuelva para mi casa lo voy a probar.  Esto es un paso en lo que quiero aprender y aplicar. Quisiera aprender lo siguiente: Ejemplo (siguiendo con los mismos importes) Realice estas 3 compras Capital Total: 3000
        Nro.shares Price Total Invertido Valor Actual Inversion Variación
    1er compra 40% 17 70 1200 1200  
    2da compra 30% 13 67 2100 2049 -2,45%
    3er compra 30% 14 64 3000 2857 -4,77%
    Y si precio actual, es menor al 4% del valor promedio de mi cartera, comprar 2000 cash (esta cifra es solo un ejemplo). Que formula o comando debería utilizar, para que me realice una nueva compra, cuando el valor actual sea un 4% al valor total de las diferentes compras? Muchas…muchas gracias.
    #172231 quote
    robertogozzi
    Moderator
    Master
    Esto le ayudará a encontrar el tamaño de lote correcto:
    Capital    = 10000     //Capital
    Margin     = 5         //5%   margin as required by the broker
    Risk       = 2         //2%   max. Risk
    MinLots    = 0.5       //0.5  min. Lots
    ATR        = AverageTrueRange[14](close)
    SL         = ATR * 1.5 / PipSize
    TP         = ATR * 2.0 / PipSie
    EntryPrice = close
    MyRisk     = round(((Capital * Risk) / 100) - 0.5)
    vSL        = (SL * PipValue)
    MyMargin   = ((EntryPrice * Margin / 100) * PipValue)
    Lots1      = MyRisk / vSL
    Temp       = MyMargin * Lots1
    IF Temp > MyRisk THEN
       LotsX  = (Lots1 * MyRisk) / Temp
    ENDIF
    LotSize   = max(MinLots,(Round((LotsX * 10) - 0.5)) / 10)
    La línea 1 es el capital inicial que desea usar para negociar su estrategia (si ejecuta múltiples estrategias, este es el dinero que desea usar SOLAMENTE para esta estrategia) La línea 2 es el porcentaje de margen requerido por el corredor (puede ser diferente para todos los activos, pares de divisas, índices, ….) la línea 3 es el% de riesgo máximo de su capital que está dispuesto a asumir La línea 4 es el tamaño de lote mínimo requerido por el corredor La línea 5 es el ATR que se utiliza para calcular SL en la línea 6 (si desea establecer manualmente un SL fijo, esta línea es inútil) La línea 6 es el SL, ya sea fijo o calculado usando ATR en la línea 5 La línea 7 es el TP como SL multiplicado por un factor de su elección La línea 8 es el precio actual que se usa para calcular el margen (es posible que desee reemplazar CLOSE con HIGH) La línea 9 es el riesgo calculado La línea 10 es el valor monetario del SL La línea 11 es el margen requerido La línea 12 es un cálculo temporal del tamaño del lote La línea 13 es un cálculo temporal del tamaño del lote Línea 14-15-16 marque para nunca usar MÁS del% de riesgo permitido (según la Línea 3) La línea 17 es el tamaño de lote final que se negociará. Sugiero que las líneas 9-17 no se modifiquen.
    Lisandro77 thanked this post
    #172409 quote
    Lisandro77
    Participant
    Average
    Roberto, ante todo gracias , gracias por todos los datos enviados, pero hay algunas líneas que no logro relacionarlas con lo que escribí anteriormente. Yo opero únicamente con acciones y con capital propio. Por lo tanto:
    • Linea 2 de Margen, debería eliminarla…?
    • Lina 4, de lotes debería eliminarla..? (solo opero con acciones)
    • Línea 9, el comando “round” que significado tiene..?
    • Línea 10, PipValue, al operar con acciones, lo debo utilizar..?
    • De acuerdo al ejemplo que pase anteriormente, lo que yo deseaba es poder interpretar, entender lo siguiente:
    Si precio actual, es menor al 4% del valor promedio de mi cartera, comprar 2000 cash (esta cifra es solo un ejemplo). Que formula o comando debería utilizar, para que me realice una nueva compra, cuando el valor actual sea un 4% al valor total de las diferentes compras? Que formula/comando debería utilizar para comprar, si el precio actual es menor al 4% de mi cartera, es decir, menor al 4% de las compras ya realizadas..? Gracias por la ayuda que me puedan dar, soy principiante, me va a llevar un tiempo comprender.
    #172412 quote
    robertogozzi
    Moderator
    Master
    La línea 2 puede eliminarla, o poner 0, si no se requiere margen. La línea 4 puede eliminarse, si no se prevé un mínimo. La línea 9 tienes que dejarla como está. Línea 10 Creo que es mejor dejarla, no debería afectar el resultado. La fórmula para calcular el 4% del total comprado hasta el momento es:
    TotalInvestment = PositionPrice * abs(CountOfPosition)
    MyLimit         = TotalInvestment * (100 - (4 / 100))
    Entonces, cuando compre, tendrá que comparar si el precio es más bajo que MyLimit .
    Lisandro77 thanked this post
    #173353 quote
    Lisandro77
    Participant
    Average
    Roberto, me escribiste hace tiempo. Gracias por la respuesta, aun no he tenido suficiente tiempo para analizar. Pero creo que me va a ser útil. Además lo que quiero yo, es poder entender la lógica de las fórmulas, para poder en un futuro comprender otras de mayor complejidad. Gracias!
Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.

Capital de la cuenta en sistemas automaticos


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
dosqui @dosqui Participant
Summary

This topic contains 12 replies,
has 3 voices, and was last updated by Lisandro77
4 years, 8 months ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 12/29/2020
Status: Active
Attachments: 2 files
Logo Logo
Loading...