Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1711

 
Necesito eliminar una de las órdenes idénticas en tiempo de apertura, lote y precio de apertura (las dos últimas), eliminar a la fuerza una de ellas. Gracias.
 
Vitaly Muzichenko #:

La cuestión es otra, dar salida a los "Parámetros de entrada" en el idioma deseado.

Exactamente.

¿Es posible hacerlo a través de?

#define  LANG(...)
...
#ifdef
...
#else 
...
#endif 
 
Vitaly Muzichenko #:

La cuestión es otra, dar salida a los "Parámetros de entrada" en el idioma deseado.

Sólo definiendo el lenguaje del terminal en tiempo de compilación y utilizando #ifdef -- #else -- #endif para la compilación condicional

 
Порт-моне тв tiempo de apertura, lote y precio de apertura (las dos últimas), eliminar a la fuerza una de ellas. Gracias.

Contabilizar el código de paréntesis a paréntesis

{
.....
ticket = OrderSend(Symbol(),OP_BUY, Lot*3, Ask, Slippage, SLbuy, 0, "открыт ордер на покупку", Magic, 0, Blue);
.....
ticket = OrderSend(Symbol(),OP_SELL, Lot*3, Bid, Slippage, SLsell, 0, "открыт ордер на продажу", Magic, 0, Red);
}
Esta sección en particular.
 
Artyom Trishkin #:

Sólo definiendo el lenguaje del terminal en tiempo de compilación y utilizando #ifdef -- #else -- #endif para la compilación condicional

Se trata de un descuido en MQL. Desgraciadamente (
 
Порт-моне тв #:

Estoy corriendo en un probador. Para qué voy a necesitar a los psíquicos si yo mismo soy telépata. Y por eso sé exactamente lo que necesito. Y tú estás perdiendo tu tiempo y el mío con chácharas sin sentido.

Comprueba antes de la apertura si hay una posición abierta en esta vela (si hay una posición por barra), si hay una posición abierta en esta vela a este precio (poco fiable por el deslizamiento), si hay una posición abierta hace un cierto número de segundos por esta señal....

Hay muchas maneras de hacerlo. Pero en su código, necesita comprobar la existencia de una posición en esta señal. Tú decides cómo hacerlo, ya que no tienes un código.

Es por la falta de código que todo el mundo está adivinando, lo que al final resulta ser una charla sin sentido.

 
MakarFX #:

Contabilizar el código de paréntesis a paréntesis

esa sección en particular.
   if(sb1 + sb1/100*LotRisk*(DayMultiplicatorProfit/100/2) > AccountBalance()  && TimeCurrent()>TimeCheck_a && TimeCurrent()<TimeCheck_ac && Ogranichitel > 0)
     {

      if(OrderOfSymbol<1)
         if(signal=="buy")
            if(Close[1]>Open[1])
              {
               ticket = OrderSend(Symbol(),OP_BUY, Lot, Ask, 3, SLbuy, TPbuy, "открыт ордер на покупку", Magic, 0, Green);
               Print("OpenOrderSuccess");
              }


      if(OrderOfSymbol<1)
         if(signal=="sell")
            if(Close[1]>Open[1])
              {
               ticket = OrderSend(Symbol(),OP_SELL, Lot, Bid, 3, SLsell, TPsell, "открыт ордер на продажу", Magic, 0, Red);
               Print("OpenOrderSuccess");
              }

     }
 
Порт-моне тв #:
Me confunde de inmediato
OrderOfSymbol
¿cómo se define?
 
MakarFX #:
Estoy inmediatamente confundido en cuanto a cómo lo defines?
OrderOfSymbol=CounterOrderTradeType(-1);

............


//+------------------------------------------------------------------+
//| Подсчет ордеров потекущему символу                               |
//+------------------------------------------------------------------+
int CounterOrderTradeType(ENUM_ORDER_TYPE order_type)
  {
   int cnt=0;
//----
   for(int pos=OrdersTotal()-1; pos>=0; pos--)
     {
      if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES)==false)
         continue;
      if(OrderSymbol()!=_Symbol)
         continue;
      if(order_type == OrderType() || order_type == -1)
         cnt++;
     }
//----
   return(cnt);
  }

//+------------------------------------------------------------------+
todavía estáis intentando encontrar el error, pero yo llevo horas pidiéndoos que hagáis otra cosa. ¿Por qué?
 
Порт-моне тв #:

Prueba con

   if(sb1 + sb1/100*LotRisk*(DayMultiplicatorProfit/100/2) > AccountBalance()  && TimeCurrent()>TimeCheck_a && TimeCurrent()<TimeCheck_ac && Ogranichitel > 0)
     {
      if(OrderOfSymbol<1)
        {
         if(signal=="buy"&&Close[1]> Open[1])
           {
            if(OrderSend(Symbol(),OP_BUY, Lot, Ask, 3, SLbuy, TPbuy, "открыт ордер на покупку", Magic, 0, Green))
              {Print("OpenOrderSuccess");}
           }
         if(signal=="sell"&&Close[1]> Open[1])
           {
            if(OrderSend(Symbol(),OP_SELL, Lot, Bid, 3, SLsell, TPsell, "открыт ордер на продажу", Magic, 0, Red))
              {Print("OpenOrderSuccess");}
           }
        }
     }
Está resaltado en amarillo. ¿Se supone que es así?
Razón de la queja: