Problemas en código para acumular posición

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #138388 quote
    jam2020
    Participant
    New

    Buenos días, primero de todo comentar que es mi primer post en el foro. Creo que mi consulta va en el foro de ProOrder. Pido disculpas de antemano si no estuviera realizando una utilización correcta del foro.

    He configurado un sencillo programa para acumular en mínimos. Se nutre de un indicador que marca compra (valor 1) cuando se cumplen ciertos criterios. El indicador funciona correctamente (ver grafica). Marca 5 operaciones de compra.

    La cuestión es que cuando aplico BackTesting sobre dicho indicador, solo me realiza las dos operaciones iniciales.

    • El capital inicial es 10.000 cash y las operaciones de acumulacion de 2.000
    • CumulateOrders esta en True.

    El ejemplo del grafico que adjunto es sobre Mapfre, mensual, con dividendos, y toda la serie temporal disponible en PRT.

    No encuentro un motivo por el que no hace las siguientes tres operaciones. Muy agradecido a quien me pueda orientar sobre dónde estoy cometiendo el error.

    El código es este:

    DEFPARAM CumulateOrders = True
    cantidadPorOperacion = 2000
    zonaAcumulacion , cruceMM10 , pcCaida, comprar = CALL "BH_Acumula_Minimos"
    if comprar = 1 then
      buy cantidadPorOperacion cash at market
    endif
    Duda-ProBackTest.png Duda-ProBackTest.png
    #138391 quote
    robertogozzi
    Moderator
    Master

    Creo que indicó una pequeña capital. Pruebe € 1 o 10 millones.

    jam2020 thanked this post
    #138395 quote
    jam2020
    Participant
    New

    hola Roberto, muchas gracias por su atención. Probé con 10.000.000 y el resultado es el mismo. Realiza las dos operaciones primeras, pero no las tres siguientes. Si pongo 1 euro no realiza ninguna operacion. (insuficiente capital).

     

    No parece un problema de capital asignado. Por defecto asigne 10.000 y las operaciones son de 2000 unidades monetarias. Asi que debería poder admitir hasta 5 operaciones.

     

    Muchas gracias por su tiempo.

    #138396 quote
    robertogozzi
    Moderator
    Master

    Intente agregar al final de su código:

    graph cantidadPorOperacion
    graph zonaAcumulacion
    graph cruceMM10
    graph pcCaida
    graph comprar
    graph countofposition

    de esta manera puede ver, para cada barra, el valor que tienen estas variables (en la ventana de variables ProBackTest).

    Quizás para que pueda entender si hay valores incorrectos en alguna parte.

    jam2020 thanked this post
    #138402 quote
    jam2020
    Participant
    New

    Muchas gracias Roberto. Ya encontré el problema. Estaba en la variable zonaAcumulacion.

    Este código, programado en el indicador no devuelve los mismos cuando lo llamas en BackTest.

    zonaAcumulacion = 0
    for i = 1 to 10
       if (RSI[14](close[i]) <=37) then
        zonaAcumulacion = 1
       endif
    next

    Lo reemplacé por este código y ahora sí devuelve los mismos resultados en el indicador y en el BackTest.

    zonaAcumulacion = 0
    rsiLow = lowest[10](RSI[14](close))
    if (rsiLow <= 37) then
       zonaAcumulacion = 1
    endif

    Muchas gracias de nuevo por su ayuda. Pude localizar el problema gracias a su sugerencia de graficar las variables.

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

Problemas en código para acumular posición


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
jam2020 @jam2020 Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by jam2020
5 years, 8 months ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 07/04/2020
Status: Active
Attachments: 1 files
Logo Logo
Loading...