Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 651

 
long1:
Bueno, digamos que el robot abre posiciones cuando todo pasa en mi ordenador... Si decido trasladar todas mis operaciones a un servidor alquilado... sólo para apagar el PC e ir a dormir)))) ¿se transferirán mis posiciones abiertas y señales o el robot empezará a operar allí desde cero?

Es más fácil poner el robot en la UPU y dejarlo trabajar allí, y vigilarlo desde el ordenador. De todos modos, hay que pagar por mes, no por hora.

Si es así, el robot seguirá operando allí con el mismo estilo con el que no operaba en la UPU, pero siempre que el código del robot no trabaje con variables globales y no tenga miedo de reiniciar el terminal en el proceso, de lo contrario puede haber problemas.

 
Vitaly Muzichenko:

Es más fácil poner el robot en la UPU y dejarlo trabajar allí, y vigilarlo desde el ordenador. De todos modos, hay que pagar por mes, no por hora.

Si así lo quieres, entonces el robot seguirá operando allí con el mismo estilo con el que no operaba en la UPU, pero siempre que el código del robot no trabaje con variables globales y no tenga miedo de reiniciar el terminal en el proceso, de lo contrario puede haber problemas.

cp lo consiguió)
 
Hola 2016.10.25_18:11 am MSC. Una petición a los moderadores. No puedo borrar el código de programa de mi archivo CLose.mqh . Por si acaso. Para que no se produzcan cambios en el mercado. Mientras no gane dinero todavía. De lo contrario, me cansaré de escribir el siguiente EA. Además, mi pregunta no ha sido respondida. Yo mismo he arreglado la salida fuera de la matriz. Todavía tengo el índice de inicio incorrecto en el registro del probador. Pero no ha impedido que el Asesor Experto cierre operaciones. Si borras mi archivo, te lo agradeceré. Eso es todo por ahora. 18:21 MSC.
 
Николай Никитюк:
Hola 2016.10.25_18:11 am MSC. Una petición a los moderadores. No puedo borrar el código de programa de mi archivo CLose.mqh . Por si acaso. Para que no se produzcan cambios en el mercado. Mientras no gane dinero todavía. De lo contrario, me cansaré de escribir el siguiente EA. Además, mi pregunta no ha sido respondida. Yo mismo he arreglado la salida fuera de la matriz. Todavía tengo el índice de inicio incorrecto en el registro del probador. Pero no ha impedido que el Asesor Experto cierre operaciones. Si borras mi archivo, te lo agradeceré. Eso es todo por ahora. 18:21 MSC.
Es necesario escribir al moderador específico que tiene su código"CLose.mqh" instalado en el terminal. La segunda persona no tiene acceso al terminal ni al código.
 
Alexey Kozitsyn:
6. También me ha confundido lo de "esta función no se puede iniciar"?

Necesito añadir un punto por condición a un viejo indicador escrito cuando todo era Start().

Alexey Kozitsyn:No es seguro que puedas encontrar el fractal antes de la décima vela. O puedes ponerlo a 100, por ejemplo;

Más allá del décimo compás el fractal no es interesante.

Alexey Kozitsyn:. Si encontramos un fractal en el número de la vela - devolvemos el precio del fractal que será igual al precio mínimo de la vela.

La variable precio_dnf siempre es igual a cero por lo que dejé a Low con el índice de la barra donde se encontró el fractal.

Como resultado, hay un fractal pero no un punto.

¿Qué ocurre?

if( High[i+1]==Low[isFractalDn()])
       {
       ExtMapBuffer3[i]=Low[i+1];
       }
//======
//за пределами Start()

int isFractalDn()
{

for(int i=3; i <= 10; i++)

{
if(iFractals(NULL, 0, MODE_LOWER, i)!= EMPTY_VALUE) return(i);
price_dnf=iFractals(NULL, 0, MODE_LOWER, i);

}
return(-1);
}
 
mila.com:

Necesito añadir un punto por condición a un viejo indicador escrito cuando todo era Start().

Más allá del décimo compás, el fractal deja de ser interesante.


La variable precio_dnf siempre es igual a cero, así que dejé a Low con el índice de la barra donde se encontró el fractal.

Como resultado, el fractal ni siquiera se acerca a él, pero establece un punto.

¿Qué ocurre?

if( High[i+1]==Low[isFractalDn()])
       {
       ExtMapBuffer3[i]=Low[i+1];
       }
//======
//за пределами Start()

int isFractalDn()
{

for(int i=3; i <= 10; i++)

{
if(iFractals(NULL, 0, MODE_LOWER, i)!= EMPTY_VALUE) return(i);
price_dnf=iFractals(NULL, 0, MODE_LOWER, i);

}
return(-1);
}
//+------------------------------------------------------------------+
//|                                                      fraktal.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
double price_dnf;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print(isFractalDn());
   Print(price_dnf);
  }
//+------------------------------------------------------------------+
int isFractalDn()
  {
   for(int i=0; i<=30; i++)
     {
      if(iFractals(NULL,0,MODE_LOWER,i)!=0.0)
        {
         price_dnf=iFractals(NULL,0,MODE_LOWER,i);
         return(i);
         break;
        }
     }
   return(-1);
  }
//+------------------------------------------------------------------+
Así, el primer fractal
 
pako:
//+------------------------------------------------------------------+
//|                                                      fraktal.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
double price_dnf;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print(isFractalDn());
   Print(price_dnf);
  }
//+------------------------------------------------------------------+
int isFractalDn()
  {
   for(int i=0; i<=30; i++)
     {
      if(iFractals(NULL,0,MODE_LOWER,i)!=0.0)
        {
         price_dnf=iFractals(NULL,0,MODE_LOWER,i);
         return(i);
         break;
        }
     }
   return(-1);
  }
//+------------------------------------------------------------------+
Así, el primer fractal

Gracias, pero todavía no hay resultados.

Al fin y al cabo, se trata esencialmente de la misma condición.

if( High[i+1]==Low[isFractalDn()])

if( High[i+1]==price_dnf)

?
 
mila.com:

Gracias, pero todavía no hay resultados.

Al fin y al cabo, se trata esencialmente de la misma condición.

if( High[i+1]==Low[isFractalDn()])

if( High[i+1]==price_dnf)

¿Es correcto que, según esta condición, el indicador debe fijar puntos en todo el historial?

¿Te das cuenta de que puede ser raro que el máximo de una vela coincida con el mínimo de otra?

Y sí, por supuesto, no en toda la historia. Sólo en el formado en el momento del trabajo del indicador. Al menos eso parece, según el trozo de código que has citado.

 
Una pregunta sencilla, pero aún así... He rebuscado en la Documentación, pero no he encontrado una respuesta clara.
¿Las estructuras pueden tener funciones (métodos), o sólo las clases pueden tener funciones (métodos)? Siempre pensé que sólo la segunda parte de la frase era cierta, pero empecé a tener vagas sospechas sobre la primera parte.
 
BlackTomcat:
Una pregunta sencilla, pero aún así... He buscado en la documentación pero no he encontrado una respuesta clara.
¿Las estructuras pueden tener funciones (métodos), o sólo las clases pueden tener funciones (métodos)? Siempre pensé que sólo la segunda parte de la frase era cierta, pero empecé a tener vagas sospechas sobre la primera parte.
Las estructuras pueden tener métodos y funciones.