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

 
ponochka:
Se han añadido Onitit y ontick. No hay cambios

puedes tener problemas por las solicitudes de ontick ;-) es decir, que te baneen y te pongan en la lista negra

Imprime los diagnósticos en return(false) - será más claro lo que está mal.

 
Maxim Kuznetsov:

Puedes tener problemas por las solicitudes de OnTick ;-) es decir, que te baneen y te pongan en la lista negra.

Imprime los diagnósticos para return(false) - esto hará más claro lo que está mal.

¿Qué debo escribir en Print para averiguar qué es lo que falla? 0_o

si escribes Print(respuesta); da: 13369448

 
ponochka:

¿Qué debo escribir en Print para averiguar qué es lo que falla? 0_o

si escribes Print(respuesta); da: 13369448

if (response == 0) {

   Print("Что-то пошло не так");

  // потом уже добавите диагностику из WinAPI

   return false;

}

y antes del retorno normal, imprimir también el resultado

Print(" всё хорошо, результат:" toStr);

return toStr;

y ejecutar todo el código en un temporizador, por ejemplo, una vez por minuto. Practica en un recurso que seguro que no te banean y da tiempos diferentes pero predecibles, para que puedas comprobarlo.

----
telepáticamente - si realmente hay un problema,
o bien la inicialización es incorrecta (no recuerdo si WinSOCK debe ser inicializado para InternetOpenW o no)
O algún recurso no está siendo liberado.

 
Artyom Trishkin:

Examinar el contenido de la carpeta Include

¿Así que está todo ahí? Lo abrí y miré los cálculos, que son bastante complicados para mí.

 
Seric29:

¿Así que está todo ahí? Lo abrí y miré los cálculos, que son bastante complicados para mí.

Me gustaría hacerlo mejor :)

Foro de trading, sistemas de trading automatizados y prueba de estrategias

Cualquier pregunta de los novatos en MQL4, ayuda y discusión sobre algoritmos y códigos

Seric29, 2019.03.26 23:32

¿Cómo puedo ver el código fuente/bibliotecas de las funciones que vienen con MQL4? Me gustaría mirar sus propiedades y hacer algo similar o mejor, quién sabe qué en este tema.

 
¿Cómo puedo utilizar ArrayResize para cambiar el tamaño de un array multidimensional? Sólo ejemplos estándar en matrices unidimensionales
 
Alexandr Sokolov:
¿Cómo puedo utilizar ArrayResize para cambiar el tamaño de un array multidimensional? Es que los ejemplos estándar sólo utilizan matrices unidimensionales.

Sólo se puede cambiar el tamaño de la primera dimensión de un array multidimensional. Esto es exactamente lo mismo que para un array unidimensional.

En este caso, el array debe ser dinámico.

 
Artyom Trishkin:

Sólo se puede cambiar el tamaño de la primera dimensión de un array multidimensional. Es exactamente lo mismo que para un array unidimensional.

En este caso, el array debe ser dinámico.

Gracias.

 

¡Buenos días a todos!

Perdí dos horas, pero no pude encontrar nada.

Por favor, dígame cómo en mq4, en el EA, inteligentemente

construir un indicador sobre otro utilizando funciones incorporadas

y debería aparecer en las pruebas en la subventana como debería ser,

por ejemplo MA en datos RSI?

 
Northwest:

por ejemplo, MA en los datos del RSI ?

#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   2
//--- plot line1
#property indicator_label1  "RSI"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_label2  "MA"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrYellow
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- input parameters
input int      PeriodRSI   =  10;
input int      PeriodMA    =  12;
//--- indicator buffers
double         rsiBuffer[],maBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,rsiBuffer);
   SetIndexBuffer(1,maBuffer);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   int i,limit;
   if(prev_calculated==0) limit=rates_total-1; else limit=rates_total-prev_calculated+1;
   for(i=limit; i>=0; i--)
     {
      rsiBuffer[i]=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,i);
     }
   for(i=limit; i>=0; i--)
     {
      maBuffer[i]=iMAOnArray(rsiBuffer,0,PeriodMA,0,MODE_SMA,i);
     }
  
   return(rates_total);
  }
//+------------------------------------------------------------------+