[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 596

 
evillive:
Pregunta: en el modo de prueba visual las líneas del indicador se dibujan sólo al final de la prueba, ¿es así para todos o estoy haciendo algo mal?

todos ellos.

https://www.mql5.com/ru/forum/131853/page2#463027

 
aconsejar cómo abrir correctamente las órdenes con pérdidas y retiradas en un asesor alpari (código)
 
link1:
aconsejar cómo abrir correctamente las órdenes con pérdidas y retiradas en un asesor alpari (código)

¿Saben cómo abrir órdenes con FST y TP en un EA (código) correctamente?
 
zxc:

¿Sabe cómo "abrir correctamente las órdenes con pérdidas y retiradas" en otra empresa de corretaje?

¿Y cuál es la diferencia entre abrir una orden en Alpari y abrir una orden en Oanda u otra empresa de corretaje?
 
zxc:

¿Sabe cómo "abrir correctamente las órdenes con pérdidas y retiradas" en otra empresa de corretaje?

He estado trabajando con otras empresas de corretaje, mi EA funciona, pero no con Alpari, por eso pregunto, ¿tal vez hay algunas peculiaridades?
 
link1:

Tengo una buena sensación con otras empresas de corretaje, mi EA funciona, pero no con Alpari.


Aquí es donde deberías haber empezado. En el terminal, cuando se abre una orden manualmente, ¿se pueden poner stops inmediatamente?

¿Qué dice el tipo de pedido? ¿Ejecución inmediata o ejecución en el mercado?

 
zxc:


Aquí es donde deberías haber empezado. En el terminal, cuando se abre una orden manualmente, ¿se pueden poner stops inmediatamente?

¿Qué dice el tipo de pedido? ¿Ejecución inmediata o ejecución de mercado?


En cuanto a Alpari, si tienes ejecución de mercado, no puedes colocar SL o TP, sólo si tienes una orden pendiente, puedes hacerlo en una cuenta demo, como en una micro.

También he prestado atención a este tema y he decidido modificar mi EA poniendo SL y TP sin SL y luego, modificarlo y poner SL y TP.

Pero, ¿cómo modificarlo? )) He copiado la modificación de algún Asesor Experto, pero había un error en el código y no compilaba. Para ser sincero no hay ningún artículo sobre la modificación y el ejemplo con trailing stop en el tutorial. Acabo de empezar a aprender el lenguaje y este es mi primer EA y no sé cómo modificar las órdenes correctamente...

También creo que el problema está en los 5 dígitos... ¿qué opinas?

 

¿Qué te parece esto? Y para tomar ganancias de la misma manera...

for(int i = 0; i < total; i++)

     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) 
         {
           if(OrderType() == OP_BUY)  // long position is opened
            {

                  if(OrderStopLoss()==0)
                   {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*sl,OrderTakeProfit(),0,Orange);
                    return(0);
                   }
            } 
           if(OrderType() == OP_SELL)  // short position is opened
            {

                 if(OrderStopLoss()==0)
                  {
                    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*sl,OrderTakeProfit(),0,Orange);
                    return(0);
                  }
            }
         }
     }

En este ciclo no se puede modificar en absoluto la orden de stop loss, y cerrar la orden cuando alcance el nivel de stop, para DC la orden se verá sin stop loss, pero es cerrada por el EA claramente cuando se pasa el nivel de stop loss (variable sl):

   for(int i = 0; i < total; i++)
     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) 
         {
           if(OrderType() == OP_BUY)  // long position is opened
            {
               if((OrderOpenPrice()-Ask)<Point*sl) // stoploss
                 {
                    OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Aqua);
                 }
               if((Bid-OrderOpenPrice())>Point*(ts+minp)) //trail
                 {
                  if(OrderStopLoss()<(Bid-Point*ts))
                   {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,OrderTakeProfit(),0,Orange);
                   }
                 }
            } 
           if(OrderType() == OP_SELL)  // short position is opened
            {
               if((Bid-OrderOpenPrice())>Point*sl) // stoploss
                 {
                    OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Magenta);
                 }
               if((OrderOpenPrice()-Ask)>Point*(ts+minp)) //trail
                {
                 if(OrderStopLoss()>(Ask+Point*ts))
                  {
                    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,OrderTakeProfit(),0,Orange);
                  }
                }
            }
         }
     }
 
Quiero crear un array de 2 dimensiones [ticket][precio de apertura]. la pregunta es ¿qué tipo declarar el array como int o duble?
 
dmmikl86:
Quiero crear un array de 2 dimensiones [ticket][precio de apertura]. la pregunta es ¿qué tipo declarar el array como int o dub?

el precio de apertura es el doble