[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 306

 
borilunad:
a menos que, por supuesto, el propio mercado los ajuste por ti, es decir, que los programe con retroalimentación

He insertado por un lado la recopilación de estadísticas, y por otro lado el escaneo por parámetros transmitidos (por ejemplo, el escaneo por periodo de ondulación) para encontrar el máximo por estadísticas, y el re-escaneo periódicamente por una tecla de acceso directo asignada. ¿Qué otras formas hay?

Hablando de humor.

#property indicator_chart_window
void start(){
   if(Bid>Ask) Alert("Это конец света");
   return;
}

- indicador del fin del mundo.

 

Hola a todos.

Estoy probando una estrategia que consiste en abrir una orden de mercado en la apertura

decada vela de cinco minutos.

Algunas órdenes el probador (MT-4 de Alpari) no se abre y da error 148.

Este error se produce por superar el límite de órdenes abiertas al mismo tiempo.

No voy a abrir cada cinco minutos en la vida real.

P: ¿Cómo puedo eliminar cualquier límite de órdenes abiertas al mismo tiempo?

¿En el probador?

Gracias.

 

gyfto, lo has entendido mal o no me he explicado bien. Tenemos una posición abierta, tenemos que determinar su precio de apertura, y cuando la barra cierra por encima del precio de apertura, salimos.

 
borilunad:
¡Víctor, cómo puedes hacerlo sin externos, necesitas depurar en el probador, en la demo! ¿Realmente escribes de tal manera que no tienes que editar nada? Estoy de acuerdo en que la estabilidad es necesaria en tu ST, pero es imposible no retocar los parámetros, a no ser, claro, que el mercado los retoque, es decir, que los programes con retroalimentación. ¡Entonces ya eres un gran as! Enhorabuena.


No es eso, es que conmigo, todo lo que escribo no tiene casi parámetros de optimización. Prefiero exactamente las estrategias basadas en la acción del precio Induks que he estado estudiando tranquilamente, sólo para poder trabajar con ellas. Pero sólo me interesan para visualizar lo que ocurre.

Y para convertir los parámetros en parámetros, es un ajuste del mercado. ¿Y ajustarlo a un marco temporal concreto es la panacea?

 
cursed:

gyfto, lo has entendido mal o no me he explicado bien. Tenemos una posición abierta, tenemos que determinar su precio de apertura, y cuando la barra cierra por encima del precio de apertura, salimos.


A juzgar por lo anterior, su condición está en el lugar equivocado. Inicialmente se debe organizar la búsqueda de órdenes y luego, cuando se encuentra la orden, se debe comparar su parámetro con algo más.

En caso contrario, se compara con el precio de cierre del bar fuera de la búsqueda, y por lo tanto no tenemos ningún resultado.

 
hoz:

... Y luego los parámetros, es un ajuste del mercado. ¿Y ajustarlo a un plazo concreto es la panacea?

Sí, si ese plazo es en tiempo real. :)
 
Zhunko:

Víctor, tienes muchas variables en tu función y ninguna declarada.

El compilador dijo:

variable no definida

Una variable no está definida. Son 18.


Vadim, veo que no están declarados. He estado pensando en ello durante algún tiempo. No has declarado ninguna variable globalmente, como yo. Pero no hay errores durante la compilación. He entendido que todas sus variables se definen a través de los parámetros de la función en la inclusión, ¿verdad?

 
tara:
Sí, si ese tramo de tiempo es en tiempo real. :)


No es un ajuste, es una especie de ajuste automático :)
 
hoz:


Vadim, veo que no están declarados. He estado pensando en ello durante un tiempo. No has declarado ninguna variable globalmente, como yo. ¡Pero NO hay errores al compilar! He entendido que todas sus variables se definen a través de los parámetros de la función en la inclusión, ¿verdad?

Cualquier variable debe ser declarada primero antes de que pueda ser utilizada. Puedes tenerla en parámetros, puedes tenerla globalmente en la biblioteca.
 
<br / translate="no">

A juzgar por el diseño de la función, es altamente especializado. ¿Por qué ponerlo en la biblioteca? Especialmente porque probablemente será llamado en un bucle en cada barra.

Estabas diciendo algo sobre la velocidad y la optimización. Estás creando un código muy lento. En MQL4 no debes poner funciones en un bucle. Cuantas menos llamadas de función haya en un bucle, más rápido se ejecutará el código.

Así que esta es una función de la biblioteca:

//+-------------------------------------------------------------------------------------+
//| Получаем машку с заданными параметрами                                              |
//+-------------------------------------------------------------------------------------+
double GetMA(int typeOfMA)
{
   switch (typeOfMA)
   {
      case 1:      return (iMA(NULL, i_fastMATF, i_fastMAPeriod, i_fastMAShift, i_fastMAMethod, i_fastMAApplied, i_fastMAIndex));
      case 2:      return (iMA(NULL, i_slowMATF, i_slowMAPeriod, i_slowMAShift, i_slowMAMethod, i_slowMAApplied, i_slowMAIndex));
      case 3:      return (iMA(NULL, i_filtrMATF, i_filtrMAPeriod, i_filtrMAShift, i_filtrMAMethod, i_filtrMAApplied, i_filtrMAIndex));
   }
}

Vadim, sobre Funciones en bucle.¿Te refieres a lo que devuelve el operador del interruptor? Pero no es que esté obteniendo valores sobre todo el número de variables del bucle. Sólo se compara el tipo de máscara recibida (variable de entrada de la función) y luego se calcula el valor de la máscara. Resulta que no hay cálculos adicionales. Sólo tengo que seleccionar el tipo de máscara y ya está. Quiero entender lo que quiere decir:

Zhunko:

En MQL4 no debes poner funciones en los bucles. Cuantas menos llamadas de función haya en el bucle, más rápido funcionará el código.

¿Puedo aclararlo?