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

 
CopyBuffer no se encuentra en mt4, sólo en mt5 ¿No en mt4? ¿hay un simple buffer array números para obtener datos en mt4?
 
Valeriy Yastremskiy:
CopyBuffer no se encuentra en mt4, sólo en mt5 ¿No en mt4?

no

en MT4 es iCustom()https://docs.mql4.com/ru/indicators/icustom

Lo comprobé el año pasado, la llamada a iCustom() desde el EA es cacheable, es decir, si llamas aiCustom() varias veces desde el EApara diferentes buffers o índices en el mismotick, el propio indicador se recalculará una vez para este tick, es decir, no hay nada malo en el rendimiento

ZS: por qué MT4 - si MT5 ya ha sido "descubierto", la productividad es más, el probador es más preciso... en general, algo bueno para la investigación, en mi opinión

 
Igor Makanu:

no

en MT4 es iCustom()https://docs.mql4.com/ru/indicators/icustom

Lo comprobé el año pasado, la llamada a iCustom() desde el EA es cacheable, es decir, si llamas aiCustom() varias veces desde el EApara diferentes buffers o índices en el mismotick, el propio indicador se recalculará una vez para este tick, es decir, no hay nada malo en el rendimiento

ZS: por qué MT4 - si MT5 ya ha sido "descubierto", la productividad es más, el probador es más preciso... en general, es algo bueno para la investigación, en mi opinión

Es más fácil trabajar con ideas en MT4. La cáscara es más fácil))) No, no. Escribamos)))) en un bucle en el array a la antigua usanza Todavía no he llegado a estas etapas)))) En MT5 tiene sentido escalar cuando MT4 deja de funcionar)) y esto es lento o demasiados datos.

añadido. Y cuando la idea está elaborada con un error aceptable.
 

Buenas tardes a todos. La máquina del grial está casi terminada, pero cuando la compilo me salen unas 50-60 advertencias sobre que el valor de retorno de'OrderSend' debe ser comprobado TREND+ _V_1,1.mq4 1626 11

Por lo que entiendo porque escribo la apertura de pedidos sin ninguna comprobación, así

//--- АО БАЙ--

   /*УСЛОВИЕ 1*/
   if(flag_screen1==en_vbIkl_screen1 &&flag_screen2==en_vbIkl_screen2)
   { // НАЧАЛО УСЛОВИЕ 1
   if(ao_buy!=EMPTY_VALUE && count_orders_market_buy ==0)
   {
     OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Bid-sl,Bid+tp ,comment_ao_buy); // ОТКРЫВАЕМ БАЙ ОРДЕР
   }
   } // КОНЕЦ УСЛОВИЕ1
 
DanilaMactep:

Buenas tardes a todos. La máquina del grial está casi terminada, pero cuando la compilo me salen unas 50-60 advertencias sobre que el valor de retorno de 'OrderSend' debe ser comprobado TREND+ _V_1,1.mq4 1626 11

Por lo que entiendo porque escribo la apertura de pedidos sin ninguna comprobación - así

escríbalo así

if(OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Bid-sl,Bid+tp ,comment_ao_buy)) Print(Buy Open); // ОТКРЫВАЕМ БАЙ ОРДЕР
 
MakarFX:

escriba esto

esta línea de código no funciona:( Aparecen 2 errores como este a la vez:

'Comprar' - identificador no declarado TREND+_1,1.mq4 860 98


'Abierto' - algún operador esperado TREND+_V_1,1.mq4 860 102

Y el código en sí es así

if(OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Bid-sl,Bid+tp ,comment_ao_market_buy)) Print(Buy Open); // ОТКРЫВАЕМ БАЙ ОРДЕР


Escribí todo como se aconseja, la única diferencia es que cambié el nombre de la variable para el comentario para separar el comentario de las órdenes de mercado y pendientes. ¿Qué estoy haciendo mal?
 
Print("Buy Open");
 
DanilaMactep:

Esta línea de código no funciona:( Aparecen 2 errores como este a la vez:

'Comprar' - identificador no declarado TREND+_1,1.mq4 860 98


'Abierto' - algún operador esperado TREND+_V_1,1.mq4 860 102

y el código en sí es así


Escribí todo como se aconseja, la única diferencia es que cambié el nombre de la variable para el comentario para separar el comentario para las órdenes de mercado y pendientes. ¿Qué estoy haciendo mal?

Me perdí ""

Vladislav Andruschenko:

Print("Buy Open");


 
Con el primer inicio del indicador en el método OnCalculate CopyRates no funciona
                MqlRates rates[];
                if (CopyRates(_Symbol, _Period, (datetime)SeriesInfoInteger(Symbol(), Period(), SERIES_SERVER_FIRSTDATE), 1, rates) == -1)
                {
                        return(0);
                }

Las garrapatas vienen es visible en las impresiones, pero no copia, como si no hay indicador en el terminal, sólo el cambio de período con el indicador ayuda, a continuación, después de la primera puesta en marcha del indicador funciona bien.

 
BillionerClub:
Con el primer inicio del indicador en el método OnCalculate CopyRates no funciona

Las garrapatas vienen es visible en las impresiones, pero no copia, como si no hay ningún indicador en el terminal, sólo el cambio de período con el indicador ayuda, a continuación, después de la primera puesta en marcha del indicador funciona normalmente.

Ayuda:CopyRates

Nota

Si el intervalo de los datos solicitados está completamente fuera de rango en el servidor, la función devuelve -1. En caso de que se soliciten datos fuera deTERMINAL_MAXBARS(cantidad máxima de barras en el gráfico), la función también devolverá -1.

Cuando se solicitan datos del indicador, si las series temporales solicitadas no han sido construidas todavía o necesitan ser descargadas de un servidor, la función devolverá -1 inmediatamente, pero se iniciará el proceso de descarga/construcción.

Cuando se solicitan datos al Asesor Experto o a un script, se iniciará lacarga desde el servidor, si el terminal no tiene estos datos localmente, o se iniciará la construcción de las series temporales requeridas, si los datos pueden ser construidos desde el historial local, pero aún no están listos. La función devolverá la cantidad de datos que estará lista para el tiempo de espera, pero la carga del historial continuará, y la siguiente petición similar devolverá más datos.

Cuando se solicitan datos por fecha de inicio y número de elementos requeridos, sólo se devolverán los datos con una fecha menor (anterior) o igual a la especificada. Al mismo tiempo, se especifica el intervalo y se tiene en cuenta hasta el segundo más cercano. Significa que la fecha de apertura de cualquier barra, para la que se devuelve el valor (volumen, spread, valor en el buffer del indicador, precio Open, High, Low, Close o tiempo de apertura Time), es siempre igual o menor que el especificado.

Al solicitar datos en el rango de fechas especificado, sólo se devolverán los datos que estén dentro del intervalo solicitado, y el intervalo se especifica y se tiene en cuenta hasta el segundo más cercano. Esto significa que la hora de apertura de cualquier barra para la que se devuelva un valor (volumen, spread, valor en el buffer del indicador, precio de apertura, alta, baja, cierre o tiempo de apertura), está siempre dentro del intervalo solicitado.

Así,si el día actual de la semana es el sábado, al intentar copiar los datos en el marco temporal semanal, especificandostart_time=último martes ystop_time=último viernes, la función devolverá 0, ya que la hora de apertura del marco temporal semanal siempre cae en domingo, pero ninguna barra semanal cae en el rango especificado.

Si desea obtener el valor correspondiente a la barra actual no terminada, puede utilizar la primera forma de la llamada, especificandostart_pos=0 ycount=1.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
  • www.mql5.com
CopyRates - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Razón de la queja: