[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 460

 
Serg-s-n писал(а) >>
¡Buenas noches a todos! ¿Quién sabe cómo cerrar una orden y seleccionar la primera orden y cerrarla?

¡¡¡POR FAVOR AYUDA!!!

Encuentre un puesto con un tiempo de apertura mínimo.

 
Serg-s-n писал(а) >>
¡Buenas noches a todos! ¿Quién sabe cómo seleccionar la primera orden y cerrarla al cerrar una orden?

¡¡¡POR FAVOR AYUDA!!!

Como se ha dicho correctamente, hay que encontrar la orden con la hora de apertura más temprana, obtener su ticket, seleccionar la orden con ese ticket y cerrarla.

A continuación le mostramos un ejemplo de cómo encontrar el orden que necesita:

  int ticket = -1;
  datetime MinDateTime = 0;

  for (int i=1; i<=OrdersTotal(); i++)         // Цикл по всем ордерам
  
    if (OrderSelect( i-1, SELECT_BY_POS)==true)  // Если есть следующий        
    {
      if ( ticket < 0 || OrderOpenTime() < MinDateTime ) // Его дата меньше, чем дата предыдущего найденного?
      {
        if ( OrderType() == OP_BUY )          // Это ордер на покупку?
        {
          ticket = OrderTicket();             // Запомнить его ticket.
          MinDateTime = OrderOpenTime();
        }
      }
    }     
  }                                           // Конец тела цикла

Una vez encontrado el ticket de la orden que necesita, debe seleccionarlo con la función OrderSelect(ticket, SELECT_BY_TICKET), y cerrar OrderClose() con los parámetros que necesite.

 
Tenemos un EA que abre posiciones con TP y SL. ¿Cómo puedo calcular cuántas posiciones SL se han perdido actualmente de forma consecutiva desde la última orden exitosa?
 

1. Historial de pedidosTotal

2. Ordenar los pedidos cerrados por tiempo

3. determinar los últimos pedidos de una fila OrderProfit<0

 
sergeev >>:

1. OrdersHistoryTotal

2. Сортируем закрытые ордера по времени

3. Определяем у последних подряд идущие OrderProfit<0


Gracias
 

Buenas tardes.

Por favor, resuelve el problema. Cuando llamo a la función MarketInfo("EURUSD", MODE_STOPLEVEL) - nivel mínimo permitido de stop loss/stake profit en pips, muestra 10 pips.

En el terminal aparecen números diferentes, por ejemplo sl=30, tp=10. ¿Qué debo hacer, cómo puedo separarlos en una llamada de función?

 
gvi2504 писал(а) >>

Buenas tardes.

Por favor, resuelve el problema. Cuando llamo a la función MarketInfo("EURUSD", MODE_STOPLEVEL) - nivel mínimo permitido de stop loss/stake profit en pips, muestra 10 pips.

En el terminal aparecen números diferentes, por ejemplo sl=30, tp=10. ¿Qué debo hacer? ¿Cómo los separo en una llamada de función?

Al establecer el tope mínimo para SL y TP mostrará valores diferentes).

 
Techno >>:

Уровень минимальных стопов для SL и TP один и тот же, не может она тебе показывать разных значений, иначе дц втопку )

Yo también lo pensé, pero en MasterForex, SL y TP son diferentes. ¿Alguna otra idea sobre el tema?

 
gvi2504 писал(а) >>

Yo también lo pensé, pero en MasterForex, SL y TP son diferentes. ¿Alguna otra idea sobre el tema?

¿cómo sabes que son diferentes?

 
Techno >>:

а как ты определил, что разные?

Cuando estaba buscando un error cada acción era overAlagged, y resultó TP pasa al modificar, pero SL no es demasiado cerca.