[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 407

 
Zhunko:

De todos modos, sin RefreshRates() mis EAs no funcionarán. Los hago en bucle. Por lo tanto, RefreshRates() es obligatorio.

¿Qué quiere decir con "en bucle"? De hecho, se puede decir que cualquier Asesor Experto está en bucle, ya que el inicio tiene un ciclo. Una vez por tic...

Zhunko:

La carga inicial del historial se realiza según este principio. Luego lo recargo periódicamente. De lo contrario, aparecen "huecos" en el historial con el que trabaja el Asesor Experto. No sé por qué ocurre.

Me parece que son ustedes los que comercian con las cocinas, por eso se forman los agujeros de la historia. Me he dado cuenta de que pasa en las cocinas de los cojos. Un corredor de calidad no debería tener esa mierda.

Zhunko:

He intentado utilizar RefreshRates() para la paginación. No siempre funciona.

Pero RefreshRates() sirve para actualizar las variables del entorno del mercado, no para paginar. Por supuesto, no se intercambia.


Zhunko:

A veces sólo llega el último compás.

¿Dónde está la última barra?

Zhunko:

Si el gráfico de un instrumento está abierto, siempre hay un historial para él. No hubo errores en este caso. El error aparecía cuando el gráfico del instrumento requerido no estaba abierto.

Hm. Bueno, si los datos del mercado se extraen a través de MarketInfo(), según tengo entendido, no debería haber errores. Y si la pasa por alto, por supuesto. Eso parece. Todavía no lo he comprobado, pero parece que es la misma lógica.
 

Hola.

Quería hacer una pregunta sobre las pruebas del sistema. En general, entiendo el panorama, pero como no he tenido ninguna experiencia real de conseguir un EA que funcione, he estado creando-creando, probando-testeando todo... En general, no sé cuándo puedo parar ahora.

Mi Asesor Experto es simple; casi no tiene parámetros de optimización. No se trata de una reventa. Lo operé en D1 durante el período de 2000 a 2013 con un lote mínimo de 0,01 a 100 dólares de depósito. Este es el informe.

informe


¿Podemos confiar en estos resultados? Sólo hay 300 operaciones, pero según la lógica de la estrategia y el marco temporal D1 no debería haber mucho más. La estrategia sólo tiene un parámetro de optimización: la fidelidad de la señal. Si hacemos que el sistema sea más estricto con ellos, los parámetros supuestamente mejorarán, pero la cantidad de acuerdos sólo será de 175. ¿Se puede confiar en los resultados cuando hay tantos intercambios? ¿O es mejor elegir la primera variante con peores indicadores pero más operaciones?

informe 2


¿O ambos no sirven para nada y necesitamos una mayor expectativa matemática, etc.?

 
en el par de divisas EUR/USD H4 se enciende "waiting for update" y no cambia a otros periodos ¿qué debo hacer?
 
shurik32:
en el par de divisas EUR/USD H4 se enciende "esperando actualización" y no cambia a otros periodos ¿qué hacer?
¡Entra en la historia F2 cambia a H4!
 
Vinin:

Si llegan nuevos ticks durante los cálculos en el Asesor Experto (cuando la función start() se está ejecutando), el Asesor Experto no sabrá de ellos (ticks). RefreshRates() le permite utilizar los últimos precios actualizados, pero esta función no accede al servidor. Actualiza el entorno de mercado que conoce el terminal. Ninguna función, excepto la de intercambiar las direcciones del servidor.

Es difícil decir sobre la asignada. Tendrías que preguntar a los Metakwots.

Tenía mi cuenta real bloqueada en MRC por la apertura y actualización frecuente de gráficos. No es una función MQL4, sino un visor de gráficos propio. Puede que, por ejemplo, MarketInfo() esté accediendo al servidor o que sólo obtenga parte de los datos del resumen del mercado.

====================================

Que yo recuerde los datos de Market Watch no tienen por qué coincidir con los de las Variables Predefinidas. Entonces, ¿qué y de dónde actualiza RefreshRates()?

Sólo tengo una respuesta. Refrescar es paginar y reconciliar el historial desde el servidor. Me convencí de ello muchas veces al intentar actualizar el historial con él. A menudo sólo llegaba el último compás. Había un "agujero" en el archivo HST tras la descarga del terminal. Pero si abres este gráfico y lo actualizas, el "agujero" se ha llenado. Por cierto, cuando RefreshRates() se ejecuta en el Administrador de Tareas, se puede observar la carga de datos. Quizás, la reconciliación no se produce cuando se actualiza el historial con RefreshRates(), pero sí cuando se actualiza el gráfico.

Por lo tanto, es necesario controlar si usted necesita la historia sin lagunas en el flujo de Asesor de Expertos.

hoz:
1. ¿Qué quiere decir con cíclico? De hecho, cualquier Asesor Experto está en bucle, porque tiene un ciclo de inicio. Una vez por garrapata.

2. Me parece que son ustedes los que comercian con las cocinas, por eso se forman los agujeros de la historia. Me he dado cuenta de que ocurre en las cocinas de los cojos. Pero un corredor de calidad no debería tener esa mierda.

Pero RefreshRates() sirve para actualizar las variables del entorno del mercado, no para paginar. Por supuesto que no es la paginación.

4. ¿Dónde viene el último compás?

5. Hmm. Bueno, si sacas los datos del mercado a través de MarketInfo(), según tengo entendido, no debería haber ningún error. Y si lo pasamos por alto, pues claro. Se ve así. Todavía no lo he comprobado, pero parece que es la misma lógica.

1. Así:

extern string Tool           = "";    // Имя инструмента.
extern bool   IsRefreshRates = false; // Флаг включения обновления таймсерий.
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void start()
 {
  string sTool = Tool; // Имя инструмента.
  if (Tool == "") sTool = Symbol();
  while (!IsStopped())
   {
    if (IsRefreshRates) RefreshRates();
    Comment("MarketInfo()\n",
            TimeToStr(MarketInfo(sTool, MODE_TIME), TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(MarketInfo(sTool, MODE_BID), Digits), "  ", DoubleToStr(MarketInfo(sTool, MODE_ASK), Digits),
            "\n\nПредопределенные переменные\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Bid, Digits), "  ", DoubleToStr(Ask, Digits),
            "\n\nМассив-таймсерия \"Close[]\"\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Close[0], Digits));
    Sleep(300);
   }
 }

2. No depende de un corredor. Esto es una peculiaridad del terminal y su trabajo con el servidor. Por alguna razón, RefreshRates() no refresca el historial de la misma manera que refresca el gráfico.

3. ¿Podría leer ya la ayuda? Ya estamos otra vez:

Actualice los datos en variables predefinidas y matrices de series temporales. Esta función se utiliza cuando el Asesor Experto o el script ha estado realizando cálculos durante mucho tiempo y necesita datos actualizados. Devuelve TRUE si los datos están actualizados, en caso contrario FALSE. Los datos no pueden actualizarse sólo porque corresponden al estado actual del terminal cliente. Los Asesores Expertos y los scripts trabajan con su propia copia de datos históricos. La copia de los datos del símbolo actual se crea en el primer lanzamiento del Asesor Experto o del script. En cada siguiente lanzamiento del Asesor Experto (recuerde que el script se ejecuta una vez y no depende de los ticks entrantes), se actualiza la copia creada inicialmente. Uno o varios ticks nuevos pueden aparecer mientras el Asesor Experto o el script se están ejecutando, por lo que los datos pueden quedar desfasados.

4. ¿de qué estamos hablando? Hablando de la actualización de los datos en el hilo del Asesor Experto.

5. El código EA anterior muestra cómo y dónde se actualizan los datos. Si no se incluye IsRefreshRates, los datos se actualizan sólo en MarketInfo().

 
 

Operé con éxito en alpari con ilan 2.0 (1.6) con una configuración sensata, hasta que empezaron a llegar alertas sobre frecuentes peticiones improductivas que cargan el servidor para nada. Resulta que en un mercado rápido alpari aumenta el nivel de ajuste de stop loss mínimo posible a 2 spreads, lo que corresponde a 40 pips, a veces menos. Pero mi EA parece establecer este valor en el rango de 15-55 pips, lo que he entendido al leer el código del EA. Pero a alpari no le satisfizo y me amenazaron con bloquearme, así que he dejado de operar. Realmente no conozco mql4, sólo he editado estas líneas en el código, que me han parecido las únicas responsables del problema, está en la pestaña de cualquier ilan, cerca del principio:

doble PrevCl;

doble CurrCl;

if (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);

if ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)) {

Donde estúpidamente cambié los números 15 a 40 para resolver el problema, pero más adelante me enteré por alpari que el problema no se resuelve, es decir, hice algo mal, lo cual no es sorprendente. Pueden aconsejarme cómo editar el código del EA correctamente para que ponga el nivel de stop loss en el rango de 40-55 pips en lugar de 15-55. Sé que el rango de 40-55 puntos no es lo suficientemente grande para establecer un stop-loss cómodo y está demasiado lejos del precio, lo que reduce el beneficio. Pero no tengo elección, no quiero dejar alpari, se está cómodo allí. No hay ningún parámetro correspondiente en la configuración estándar de EA.

 
Dmido:

Hola.

Quería hacer una pregunta sobre las pruebas del sistema. En general, entiendo el panorama, pero como no he tenido ninguna experiencia real de conseguir un EA que funcione, he estado creando-creando, probando-testeando todo... En general, no sé cuándo puedo parar ahora.

Mi Asesor Experto es simple; casi no tiene parámetros de optimización. No se trata de una reventa. Lo operé en D1 durante el período de 2000 a 2013 con un lote mínimo de 0,01 a 100 dólares de depósito. Este es el informe.


¿Podemos confiar en estos resultados? Sólo hay 300 operaciones, pero según la lógica de la estrategia y el marco temporal D1 no debería haber mucho más. La estrategia sólo tiene un parámetro de optimización: la fidelidad de la señal. Si hacemos que el sistema sea más estricto con ellos, los parámetros supuestamente mejorarán, pero la cantidad de acuerdos sólo será de 175. ¿Se puede confiar en los resultados cuando hay tantos intercambios? ¿O es mejor elegir la primera variante con peores indicadores pero más operaciones?



¿O ambos no sirven para nada y necesitamos una mayor expectativa matemática, etc.?


¿El 10% anual es bueno o malo?
 
Andrew245:

Operé con éxito en alpari con ilan 2.0 (1.6) con una configuración sensata, hasta que empezaron a llegar alertas sobre frecuentes peticiones improductivas que cargan el servidor para nada. Resulta que en un mercado rápido alpari aumenta el nivel de ajuste de stop loss mínimo posible a 2 spreads, lo que corresponde a 40 pips, a veces menos. Pero mi EA parece establecer este valor en el rango de 15-55 pips, lo que he entendido al leer el código del EA. Pero a alpari no le satisfizo y me amenazaron con bloquearme, así que he dejado de operar. Realmente no conozco mql4, sólo he editado estas líneas en el código, que me han parecido las únicas responsables del problema, está en la pestaña de cualquier ilan, cerca del principio:

doble PrevCl;

doble CurrCl;

if (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);

if ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)) {

Donde estúpidamente cambié los números 15 a 40 para resolver el problema, pero más adelante me enteré por alpari que el problema no se resuelve, es decir, hice algo mal, lo cual no es sorprendente. Pueden aconsejarme cómo editar el código del EA correctamente para que ponga el nivel de stop loss en el rango de 40-55 pips en lugar de 15-55. Sé que el rango de 40-55 puntos no es lo suficientemente grande para establecer un stop-loss cómodo y está demasiado lejos del precio, lo que reduce el beneficio. Pero no tengo elección, no quiero dejar alpari, se está cómodo allí. No quiero dejar alpari, es conveniente allí.


Para cambiar los parámetros del stoploss, ¿por qué cambias los parámetros del indicador?
 
pako:

para cambiar los parámetros del stop loss, ¿por qué cambias los parámetros del indicador?

Lo supuse, pero no los encuentro, los parámetros de stop loss