salida parcial de posiciòn

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #206809 quote
    josemi
    Participant
    Average

    Hola a toda la comunidad, me gustaría saber si se puede escribir lo siguiente:

    -comprar/vender 2 contratos.

    -salir de la operación con 1 contrato.

    -seguidamente mover el stop “x” puntos ó ponerlo en breakeaven.

    -el segundo contrato se ejecuta y si no se ejecuta terminaría la operación con su stop actualizado.

    #206814 quote
    robertogozzi
    Moderator
    Master

    Ahi esta:

    IF MyLongConditions THEN
       BUY 2 CONTRACT AT MARKET
    ENDIF
    IF LongOnMarket AND MyFirstExitConditions THEN
       SELL 1 CONTRACT AT MARKET
       SET STOP BreakEven                          //Establecer stop loss en el punto de equilibrio
       SET STOP Price TradePrice + (5 * PipSize)   //Establecer stop loss al precio de entrada + 5 puntos
    ENDIF

    Elija cuál de las líneas 6-7 desea usar y agregue barras inclinadas de comentario doble al comienzo de la otra.

    #206833 quote
    josemi
    Participant
    Average

    Hola Roberto, en  “mylongconditions” he escrito mis condiciones, por ejemplo, c1 and c2 and c3… pero en “myfirstexitconditions” no sé como ponerlo. Me puedes ayudar?

    #206839 quote
    robertogozzi
    Moderator
    Master

    Estas son las condiciones bajo las cuales desea cerrar la mitad de la posición y llevar el stop loss al punto de equilibrio. Dime cuándo quieres cerrar la primera mitad de la posición.

    #206981 quote
    josemi
    Participant
    Average

    Es un sistema muy simple y no tiene condiciones de salida, es decir, la posición se cierra con el stoploss ò con el profit. Es por eso que no sé escribir cuàl es “MyFirstExitConditions”

    #206989 quote
    robertogozzi
    Moderator
    Master

    Si no prevé condiciones de salida, ¡no es posible salir con media posición!

    #206998 quote
    josemi
    Participant
    Average

    Entonces necesito crear una condición de salida, cómo escribo para que se cierre la posición a los 10 pts. por ejemplo?

    #207094 quote
    robertogozzi
    Moderator
    Master

    Ahi esta:

    ONCE MyFirstExitConditions = 0
    MyProfit = PositionPerf * PositionPrice / PipSize
    IF MyProfit >= 10 * PipSize THEN
       MyFirstExitConditions = abs(CountOfPosition) > 1
    ENDIF
    MyLongConditions = close CROSSES OVER Average[200,0](close)
    IF MyLongConditions THEN
       BUY 2 CONTRACT AT MARKET
    ENDIF
    IF LongOnMarket AND MyFirstExitConditions THEN
       SELL 1 CONTRACT AT MARKET
       SET STOP BreakEven                          //Establecer stop loss en el punto de equilibrio
       SET STOP Price TradePrice + (5 * PipSize)   //Establecer stop loss al precio de entrada + 5 puntos
    ENDIF
    #207099 quote
    josemi
    Participant
    Average

    Buenos días Roberto, no cierra ninguna posición a los 10 pts. y tampoco me sale en el backtesting ninguna operación que cierre el segundo contrato en breakeaven. Ah , y el contador de posición (“countofposition”) hay que ponerlo en > 2 ya que sino cierra todas las operaciones en la vela siguiente.

    Así lo tengo escrito:

    IF c1 and c2 and c3 and c4 and close>average[105](close) THEN
    BUY 2 CONTRACT AT MARKET
    ENDIF

    ONCE MyFirstExitConditions = 1
    MyProfit = PositionPerf * PositionPrice / PipSize
    IF MyProfit >= 10 * PipSize THEN
    MyFirstExitConditions = abs(CountOfPosition) > 2
    ENDIF
    MyLongConditions = (c1 and c2 and c3)
    IF MyLongConditions THEN
    BUY 2 CONTRACT AT MARKET
    ENDIF
    IF LongOnMarket AND MyFirstExitConditions THEN
    SELL 1 CONTRACT AT MARKET
    SET STOP BreakEven //Establecer stop loss en el punto de equilibrio

    ENDIF

    // Stops y targets
    SET STOP %loss 0.36
    set target %profit 0.124

    #207126 quote
    robertogozzi
    Moderator
    Master

    No, no debe ser > 2, de lo contrario nunca cerrará ninguna posición.

    Mi código funciona muy bien en el gráfico diario, como puede ver en la imagen adjunta.
    Si usa un marco de tiempo intradiario, intente agregar esta declaración como la primera línea:

    DEFPARAM CumulateOrders = False
    x-2.jpg x-2.jpg
    #207150 quote
    josemi
    Participant
    Average

    Buenos días Robert, se puede escribir en “condiciones de salida” que como primera condición cierre la posición a “x” puntos de la entrada y como segunda condición a “y” puntos de la entrada?? GRacias por tu tiempo.

    #207189 quote
    robertogozzi
    Moderator
    Master

    Ahi esta:

    DEFPARAM CumulateOrders = False
    IF Not OnMarket THEN
       x = 10 * PipSize
       y = 20 * PipSize
    ENDIF
    MyProfit = PositionPerf * PositionPrice / PipSize
    MyLongConditions = close CROSSES OVER Average[200,0](close)
    IF MyLongConditions THEN
       BUY 3 CONTRACT AT MARKET
    ENDIF
    IF LongOnMarket THEN
       IF MyProfit >= x THEN
          SELL 1 CONTRACT AT MARKET
          x = 99999
          SET STOP BreakEven                          //Establecer stop loss en el punto de equilibrio
          SET STOP Price TradePrice + (5 * PipSize)   //Establecer stop loss al precio de entrada + 5 puntos
       ENDIF
       IF MyProfit >= y THEN
          SELL 1 CONTRACT AT MARKET
          y = 99999
          SET STOP BreakEven                          //Establecer stop loss en el punto de equilibrio
          SET STOP Price TradePrice + (5 * PipSize)   //Establecer stop loss al precio de entrada + 5 puntos
       ENDIF
    ENDIF
    #207812 quote
    GRR43
    Participant
    New

    Hola a todos

    Tengo el mismo problema. No llego programar una salida parcial de la posicion sin que se cierre por completo

    En mi programa es en % y no en pips.

    Nb = Capital*Risque/0.4/Close
    If Reinvestissement > 0 Then
    If Strategyprofit > 0 Then
    Nb = (Capital+Strategyprofit)*Risque/0.4/Close
    Else
    Nb = Capital*Risque/0.4/Close
    Endif
    
    If Nb < 0.5 Then
    Nb = 0.5
    Endif
    
    If L1 and Time >= 081500 then
    
    Buy Nb Lots at Market 
    Set Target %Profit 1.5
    Set Stop %Loss 0.4
    
    Endif
    Endif
    
    If Time >= 220000 then
    Sell at Market
    
    Endif

    Alguien me puede ayudar ?

    #208648 quote
    robertogozzi
    Moderator
    Master

    Prueba esto:

    Nb = Capital*Risque/0.4/Close
    If Reinvestissement > 0 AND Not OnMarket Then
       If Strategyprofit > 0 Then
          Nb = (Capital+Strategyprofit)*Risque/0.4/Close
       Else
          Nb = Capital*Risque/0.4/Close
       Endif
       Nb = max(0.5,Nb)
       If L1 and Time >= 081500 then
          Buy Nb Lots at Market
          Set Target %Profit 1.5
          Set Stop %Loss 0.4
       Endif
    Endif
    If Time >= 220000 then
       Sell at Market
    Endif
    // salida paercial
    IF (Reinvestissement > 0) AND (abs(CountOfposition) = Nb) AND ((PositionPerf * 100) >= 0.5) THEN  //salida parcial cuando 0.5% en ganancia
       Sell Nb / 2 contracts at Market
    ENDIF
Viewing 14 posts - 1 through 14 (of 14 total)
  • You must be logged in to reply to this topic.

salida parcial de posiciòn


ProOrder: Trading Automático y Backtesting

New Reply
Author
author-avatar
josemi @josemi Participant
Summary

This topic contains 13 replies,
has 3 voices, and was last updated by robertogozzi
3 years, 1 month ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 01/05/2023
Status: Active
Attachments: 1 files
Logo Logo
Loading...