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

 
MakarFX #:

Prueba con

Está resaltado en amarillo. ¿Es así como debe ser?

Así que no has cambiado nada. Así es como los pájaros se convirtieron. No lo entiendo. ¿Quiere que las elimine, que las rote o que borre esta línea por completo?

 
Порт-моне тв #:

así que no cambié nada. Así es como los pájaros se convirtieron. No lo entiendo. ¿Quiere que las elimine, que las rote o que borre esta línea por completo?

He preguntado por las "aves" porque la condición es la misma tanto para la compra como para la venta.

 
Порт-моне тв #:
todavía estás tratando de encontrar un error, pero te he estado pidiendo durante horas que hagas otra cosa. ¿Por qué?

después de un OrderSend exitoso, la variable OrderOfSymbol debe ser actualizada.
o salir y esperar el siguiente tick.

 
MakarFX #:

He preguntado por las "aves" porque la condición es la misma tanto para la compra como para la venta.

Sólo se compra o se vende, no se produce ningún tipo de venta-compra o compra-venta.

 
Taras Slobodyanik #:

después de un OrderSend exitoso, la variable OrderOfSymbol necesita ser actualizada.
o salir y esperar el siguiente tick.

Vale, ¿y cómo se hace eso?

 
Порт-моне тв #:

Bueno, puedo ver en el historial del probador dónde se produjo la cola, cuándo y con qué parámetros. ¿Qué te da eso?

No hay que buscar dónde se produjo la cola, sino por qué razón se produjo. Sugería imprimir no el hecho de la apertura, sino las condiciones de la misma. Si elimina esa orden duplicada, sólo obtendrá una pérdida adicional.

 
Alexey Viktorov #:

No hay que buscar dónde está la cola, sino por qué razón está la cola. Mi sugerencia no era imprimir el hecho de la apertura, sino las condiciones de la misma. Esto ayudará a determinar la razón... Eliminar esa orden duplicada sólo le dará una pérdida extra.

Gracias, pero me di cuenta anoche.

 
MakarFX #:

¿Me pueden decir cómo obtener el valor

antes de ejecutar OnInit()?

Tal vez haya otra forma de averiguar el idioma de la interfaz antes de ejecutar OnInit() .

Vitaly Muzichenko #:

No hay manera, sólo dentro de las Funciones. EnOnInit() o después, pero no antes.

Qué demonios.........

string terminalLanguage = TerminalInfoString(TERMINAL_LANGUAGE);

/********************Script program start function*******************/
void OnStart()
 {
  Print(terminalLanguage);
 }/******************************************************************/
2021.11.03 16:25:08.033 00 EURJPY,M15: Russian
 
Así que entiendo que aquí nadie me va a escribir una función para borrar una orden al mismo lote, precio y hora de apertura que la anterior. La terquedad es un pecado, chicos.
 
Порт-моне тв hora de apertura de la anterior. La terquedad es un pecado, chicos.

Comprueba así

   if(sb1 + sb1/100*LotRisk*(DayMultiplicatorProfit/100/2) > AccountBalance()  && TimeCurrent()>TimeCheck_a && TimeCurrent()<TimeCheck_ac && Ogranichitel > 0)
     {

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

     }
Razón de la queja: