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
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
MyEquity +
margin + drawdown a hacer sus cálculos.
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.
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.
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
Puedes hacer un cálculo, pero tienes que decirme ¿cuántas entradas quieres hacer, como máximo, con 3000 euros?
Gracias Roberto por responder.
Dos ejemplos:
- realizando 3 entradas como máximo
- 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…?
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
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.
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.
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.
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 .
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!