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

 
Basicprof:

Por qué cuando creo un arrow.Create(0, "ArrowCheck",0,TimeCurrent(),1.14565) de laLibrería Estándar MQL5 el objeto se crea e inmediatamente se borra.

Lo más probable es que no haya desconectado(Detach()) el objeto gráfico del objeto flecha.
 

Hola a todos.

La tarea consiste en encontrar un análogo de rates_total en un Asesor Experto.

Transferencia de una matriz de un indicador a un Asesor Experto. Numeración según el número de barra en el historial 1 -> rates_total

ArraySetAsSeries(Lx_Indikator,false);

El problema: Cuando el parámetro - barras no corresponde al tamaño de la matriz en el indicador, los valores se mezclan en la salida.

 int bars=Bars(_Symbol,_Period);
 int copy=CopyBuffer(MA_handle,0,0,bars,Lx_Expert);

Aunque por lógica, necesito los datos a partir deLx_Experto[1], por lo que entonces el tamaño del array copiado no importa, pero resulta que sí.

2017.10.09 20:35:03.055 Indicador (EURUSD,M5) rango = 14165
2017.10.09 20:35:04.303 Indicador (EURUSD,M5) LxIndikator[1] 1507552800.0
2017.10.09 20:35:04.303 Indicador (EURUSD,M5) LxIndikator[2] 1.173416294117647
2017.10.09 20:35:04.304 Indicador (EURUSD,M5) LxIndikator[3] 1.0
2017.10.09 20:35:04.304 Experto (EURUSD,M5) barras = 14000
2017.10.09 20:35:04.304 Expert (EURUSD,M5) LxExpert[1] 1.17194
2017.10.09 20:35:04.304 Experto (EURUSD,M5) LxExpert[2] 14152.0

2017.10.09 20:35:04.304 Experto (EURUSD,M5) LxExpert[3] 85.0



 
Top2n:

Problema: cuando el parámetro - barras no se corresponde con el tamaño de la matriz en el indicador, la salida se confunde con los valores.

¿Sincroniza el número de barras entre el indicador y el Asesor Experto?

 

Hola, ¿podríais decirme cómo seleccionar el último pedido en el bucle de pedidos?

for(int i=1; i<OrdersTotal(); i++)                                           // Цикл перебора ордер
   {
    if(OrderSelect(i,SELECT_BY_POS))                                           // Если есть следующий
     {

Así se selecciona la primera si hay una siguiente. ¿Cómo selecciono el último pedido? Si alguien lo sabe, por favor escriba.

 
vikzip:

Hola, ¿podríais decirme cómo seleccionar el último pedido en el bucle de pedidos?

Así se selecciona la primera si hay una siguiente. ¿Cómo selecciono el último pedido? Si alguien lo sabe, por favor escriba.


Intenta ir por este camino.

for(int i=OrdersTotal(); i>=1; i--)                                           // Цикл перебора ордер
   {
    if(OrderSelect(i,SELECT_BY_POS))                                           // Если есть следующий
     {

¿No funciona así el último?

if(OrderSelect(OrdersTotal(),SELECT_BY_POS))  
 
Aleksey Vyazmikin:

Inténtelo de esta manera

¿No funciona así el último?

Por lo menos aconsejar correctamente... Necesita OrdersTotal()-1.
 
Alexey Kozitsyn:
Por lo menos aconsejar correctamente... Necesita OrdersTotal()-1.

Así que aclaré si funciona así o no ;)

No lo sé con exactitud, pues nunca he tratado con órdenes de detención - trabajo con una clase por orden.

 
Aleksey Vyazmikin:

Así que aclaré si funciona así o no ;)

No lo sé exactamente, ya que no me he ocupado de las órdenes judiciales, ya que trabajo con una clase por encargo.

Para ti y para la persona a la que querías ayudar: no funciona así. Obtendrá un error.

Y es conveniente tratarla, porque es la base del trabajo con todos los arrays en mql.

 

Gracias por su ayuda. ¿Así que lo correcto sería escribir?

for(int i=OrdersTotal(); i>=1; i--)                                           // Цикл перебора ордер
   {
if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS))                   //Выбор последнего??
   {    
 
vikzip:

Gracias por su ayuda. ¿Así que lo correcto sería escribir?

Encuentre el código que necesita aquí

Только "Полезные функции от KimIV".
Только "Полезные функции от KimIV".
  • 2011.02.18
  • www.mql5.com
Все функции взяты из этой ветки - http://forum.mql4...
Razón de la queja: