Estoy aprendiendo a escribir un asesor... - página 2

 
Figar0 >> :

...Para los novatos que no son programadores, podría ser diferente...

)) ¡Esa es una gran palabra para mí! Llevo sólo 2,5 años en el mercado de divisas... Durante todo este tiempo gané 2 veces: la primera vez en demo (aumenté mi depósito 50 veces), la segunda vez en cuenta real (el resultado es más modesto)

Sólo saqué una conclusión: ¡no hay disciplina! He decidido intentar escribir algo que no dependa de mis emociones).

 
rid >> :

Y para ayudarte a pensar más rápido, primero pasa tu experto por TODOS los TICS y el resultado aquí, por favor.

¡La prueba pasó por todas las garrapatas de todos modos! Puedes verlo en las fotos...

 

Parece que he estropeado algo en este código...

void ClosePos()
   {
      double pp;

        if (OrderType()==OP_BUY)
          {
            pp=MarketInfo(OrderSymbol(), MODE_BID);
            OrderClose( OrderTicket(), OrderLots(), Bid, 0, Blue);
          }
        if (OrderType()==OP_SELL)
          {
            pp=MarketInfo(OrderSymbol(), MODE_ASK);
            OrderClose(OrderTicket(), OrderLots(), Ask, 0, Red);
          }
   }


Sigo recibiendo un error en el registro...

ticket no válido para la función OrderClose
OrderClose error 451
OrderSend error 130

Esta comprobación para cerrar va antes de la señal de entrada opuesta...

si hay una señal de compra

(OrderType()==OP_BUY)
cierra la venta actual

OrderClose( OrderTicket(), OrderLots(), Bid, 0, Blue)

Y viceversa...

Pero todo el registro se llena de un error...

Parece que intenta cerrar en cada tick... Pero no hay condiciones...



 
¿Dónde está OrderSelect?
 
No lo sé) Por eso estoy aquí... para hacerlo bien...
 
sergeev >> :
¿Dónde está OrderSelect?

Lee sobre esta función... convertida en esta variante:

void ClosePos()
   {
      double pp;
        if (OrderSelect(0, SELECT_BY_POS)==true) // Если есть открытый ордер
            { 
               if (OrderType()==OP_BUY)
                  {
                  pp=MarketInfo(OrderSymbol(), MODE_BID);
                  OrderClose( OrderTicket(), OrderLots(), Bid, 0, Blue);
                  }
               if (OrderType()==OP_SELL)
                  {
                  pp=MarketInfo(OrderSymbol(), MODE_ASK);
                  OrderClose(OrderTicket(), OrderLots(), Ask, 0, Red);
                  }
            }      
   }
 

Me hubiera gustado si no fuera por la calidad del modelado

 
¿De qué depende?
 

buscarlo, es necesario descargar y recalcular el historial

 
ALex2008 писал(а) >>
¿De qué depende?

Descargue velas de minutos (por ejemplo, de Alpari) y haga pruebas con velas de minutos.

No se puede probar un stop de 5 pips en velas de 4 horas.

Razón de la queja: