[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 304

 
GarKain:
¿y los resultados de la optimización se pueden poner en MT4?


No. Los servicios son sólo para búhos en MQL5. Primero escribí - transfiere el búho a FIVE... Entonces opta por la nube y ya está...

Ver mis posts anteriores - optimizar el código del búho, + enfocar la optimización de forma inteligente, ¡todo esto se puede resolver en cuatro si los búhos no son del "reino de la fantasía"! :-)

 
si no quiero trabajar en mt5 los resultados óptimos de los parámetros del búho (obtenidos en mt5) ¿puedo meterlos en mt4?
 
GarKain:
si no quiero trabajar en mt5 los resultados óptimos de los parámetros del búho (obtenidos en mt5) ¿puedo meterlos en mt4?

Claro que sí. Pero, es necesario transferir el código del búho de MQL4 a MQL5. Lea el artículo para ayudar.
 
Roman.:

Claro que sí. PERO, para ello es necesario transferir el código del búho de MQL4 a MQL5. Lea el artículo para ayudar.
Entiendo lo que hay que traducir, gracias.
 
GarKain:
si no quiero trabajar en mt5 los resultados óptimos de los parámetros del búho (obtenidos en mt5) ¿puedo meterlos en mt4?

La optimización no depende del instrumento. Adelante, hazlo.
 

Por favor, dígame por qué esto crea elementos vacíos adicionales en el array V_Sym, mientras que mi idea es sólo escribir el valor en la celda si está vacía, o si todas están ocupadas añadir 1 más y escribir en ella.

string V_Sym[3]={""};
int init(){
test(Symbol());
test(Symbol());
return(0);
}
int deinit(){
int a_size=ArraySize(V_Sym);
int i=0;
for(i=0;i<a_size;i++){Print(V_Sym[i]);}
return(0);
}
int start(){return(0);}
//+------------------------------------------------------------------+
int test(string Sy=""){
int i,a_size;
a_size=ArraySize(V_Sym);
i=0;
for(i=0;i<a_size;i++)
{
if(V_Sym[i]!=""&&i==a_size-1)
{
ArrayResize(V_Sym,a_size+1);
V_Sym[i+1]=Sy;
}
if(V_Sym[i]==""){
V_Sym[i]=Sy;
break;
}
}
return(0);
}

El problema es que el valor de la celda vacía no es igual a "". Pero me pregunto a qué equivale entonces. Imprimir salidas ""
 
Skydiver:

Por favor, dígame por qué esto crea elementos vacíos adicionales en el array V_Sym, mientras que mi idea es sólo escribir el valor en la celda si está vacía, o si todas están ocupadas añadir 1 más y escribir en ella.

El problema resulta ser que el valor del elemento vacío no es igual a "" al inicializar la máscara. Pero me pregunto a qué equivale. Imprimir salidas ""

Y dime, por favor, ¿por qué pones a cero una variable cuando utilizas esta función? Está aquí:

int test(string Sy=""){
 
Hola a todos, ¿podríais aconsejar cómo hacer que un EA emita sólo una acción (compra/venta/señal/mensaje, etc.) para 1 vela, es decir, si hay una señal de compra, no cerrará la compra en esta vela, debería haber algunas funciones, para no tener que reinventar la rueda tú mismo
 
nelisgar:
Hola a todos, ¿podríais aconsejar cómo hacer que el EA emita sólo una acción (compra/venta/señal/mensaje, etc.) para 1 vela, es decir, si hay una señal de compra, no cerrará la compra en esta vela, debería haber algunas funciones, para no intentar reinventar la rueda yo mismo


Declaramos una variable antes de la función de inicio de EA:

int  myBars; 

Después de la función start(){} del EA, escribimos un subprograma:

//+------------------------------------------------------------------+
//| функция isNewBar() - возвращает признак нового бара                                              |
//+------------------------------------------------------------------+
bool isNewBar(){
  bool res=false;
  if(myBars!=Bars){
    res=true;
    myBars=Bars;
  }   
        return(res);
}
//--------------------------------------------------------------- 

En la función start() de EA utilice esta subrutina y la variable como sigue:

if(isNewBar()==true){
  // это первый тик новой свечи - выпоняем необходимые действия
}
 

¡Hola!

Empezaré con un ejemplo sencillo, ya que de lo contrario será difícil de explicar.

doble resultado()

{

doble x = Oferta;

return(x);

}

double resultado_y()

{

doble y = Oferta;

return(y);

}

Hay que fusionarlas en una sola.

El resultado() se necesita entonces como X en una función y como Y en la otra . ¿Es posible? ¿Cómo hacerlo?

double result() // ????

{

doble x = Oferta;

double y = Ask; // también hay que devolver esto

return(x);

return(y); // ?

}

Razón de la queja: