Money Management
Forums › ProRealTime foro Español › Soporte ProOrder › Money Management
- This topic has 9 replies, 3 voices, and was last updated 8 years ago by Adolfo.
-
-
04/03/2016 at 6:14 PM #4803
¡Buenas de nuevo!
Aquí estoy otra vez con otra consulta de novato, jeje. La cuestión es que me gustaría saber si puedo configurar la variable “contratos”, básicamente calculando un % del capital disponible en el momento de abrir la operación.
1234567REM Calcular el tamaño de la posiciónContratos = ?IF NOT LongOnMarket THENBUY Contratos SHARES AT MARKETENDIFGracias de antemano, ¡saludos!
04/03/2016 at 9:32 PM #4809No es posible recuperar la información de la capital de “intermediario”. Se puede usar en contra de la instrucción “STRATEGYPROFIT” calcular “Contratos” a raíz de las ganancias generadas por la estrategia.04/04/2016 at 3:34 PM #4835¿Entonces tendría que ser algo así?
123456789101112REM Número de contratos a operarcontratos=1IF StrategyProfit > 1000 AND StrategyProfit < 2000 THENcontratos=contratos+1ENDIFIF StrategyProfit > 2000 AND StrategyProfit < 3000 THENcontratos=contratos+2ENDIFIF StrategyProfit > 2000 AND StrategyProfit < 3000 THENcontratos=contratos+3ENDIF…¿Y así hasta el infinito?…
¿O existe la forma de extender estas condiciones con una fórmula mas corta?
He intentado utilizar sin éxito el bucle FOR… 🙁
¿Alguna ayuda?¡GRACIAS!
04/04/2016 at 7:26 PM #485704/06/2016 at 12:49 PM #4914Gracias por tu respuesta Nicolas,
He probado el código que has puesto en mi sistema y no obtengo los resultados que esperaba, me explico:
123456789101112131415161718192021222324252627282930313233343536373839REM Adaptación a mi codigoREM Valor de mercado 1$ tick//initial lotinitLOT = 1//profit step of the strategy to increase lotstepPROFIT = 5myLOT = max(initLOT,initLOT+ROUND((strategyprofit-stepPROFIT)/stepPROFIT))Éstas son las últimas tres operaciones: *Captura 1No quiero que aumente los contratos una vez dentro del mercado, sino que una vez finalizada cada operación, compruebe el incremento/disminución del profit y la siguiente operación entre con X contratos:<pre class="line-numbers"><pre class="line-numbers"><code class="language-prorealtime">REM Aumentar en 1 el valor de contratos cuando el profit acumulado sea mayor a 1000IF StrategyProfit < 1000 THENcontratos=1ENDIFIF StrategyProfit > 1000 AND StrategyProfit < 2000 THENcontratos=2ENDIFIF StrategyProfit > 2000 AND StrategyProfit < 3000 THENcontratos=3ENDIFIF StrategyProfit > 3000 AND StrategyProfit < 4000 THENcontratos=4ENDIFIF StrategyProfit > 4000 AND StrategyProfit < 5000 THENcontratos=5ENDIFREM Entrada de posiciones largasIF NOT LongOnMarket AND EntradaLarga=1 THENBUY contratos SHARE AT preciocompra LIMITENDIFREM Entrada de posiciones cortasIF NOT ShortOnMarket AND EntradaCorta=1 THENSELLSHORT contratos SHARE AT precioventa LIMITENDIF04/06/2016 at 1:19 PM #4917Ruego al moderador que elimine el post anterior, es confuso y queda actualizado con éste.
Gracias por tu respuesta Nicolas, He probado el código que has puesto en mi sistema y no obtengo los resultados que esperaba, me explico:
1234567REM Adaptación a mi codigoREM Valor de mercado 1$ tick//initial lotinitLOT = 1//profit step of the strategy to increase lotstepPROFIT = 5myLOT = max(initLOT,initLOT+ROUND((strategyprofit-stepPROFIT)/stepPROFIT))Éstas son las últimas tres operaciones: *Captura 1
Me gustaría que continuara ésta serie
123456789101112131415161718192021222324REM Aumentar en 1 el valor de contratos cuando el profit acumulado sea mayor a 1000IF StrategyProfit < 1000 THENcontratos=1ENDIFIF StrategyProfit > 1000 AND StrategyProfit < 2000 THENcontratos=2ENDIFIF StrategyProfit > 2000 AND StrategyProfit < 3000 THENcontratos=3ENDIFIF StrategyProfit > 3000 AND StrategyProfit < 4000 THENcontratos=4ENDIFIF StrategyProfit > 4000 AND StrategyProfit < 5000 THENcontratos=5ENDIFREM Entrada de posiciones largasIF NOT LongOnMarket AND EntradaLarga=1 THENBUY contratos SHARE AT preciocompra LIMITENDIFREM Entrada de posiciones cortasIF NOT ShortOnMarket AND EntradaCorta=1 THENSELLSHORT contratos SHARE AT precioventa LIMITENDIF¿Como sería para no escribir cientos de lineas con 5000, 6000, 7000…100000…?
¿Hay alguna otra forma de hacerlo?
¡Gracias!
04/06/2016 at 7:38 PM #495904/08/2016 at 10:36 AM #508204/08/2016 at 10:54 AM #5086Lo siento, no entiendo cómo funciona realmente ese código. ¿Podrías explicarlo por favor?
Entiendo que cuando el beneficio supere el objetivo entrará con 1 contrato más, ¿exponencialemente? Me explico: Llega a 5061, entra con 2 contratos, llega a 1121 y.. ¿entra con 3?
Otra duda que me genera, si el beneficio es menor (si entra en pérdidas), ¿reduce la cantidad de contratos para la próxima operación?
Gracias!
04/10/2016 at 10:18 AM #5167 -
AuthorPosts