[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 310
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Una pregunta así. ¿Cómo se optimiza ahora? El esqueleto del Asesor Experto es ahora el siguiente:
He puesto open-close en variables y he eliminado el segundo bloque FileSeek, que se ha vuelto innecesario, he añadido la selección del estilo de las velas (todas alcistas, todas bajistas, cualquiera), he añadido sombras si el siguiente asc o bid es mayor o menor que el anterior máximo y mínimo, he añadido el rastreo con la impresión, que se activa mediante una bandera en la cabecera, he comentado todo con enlaces a los números de línea, he intentado hacer el código legible para el foro. También he añadido números de línea para imprimir.
Ahora mira:
Arriba hay un marco temporal de ticks, abajo hay un segundo marco temporal. Las sombras (colas) son cuando se han capturado dos ticks en un segundo y la oferta o la demanda difiere de la anterior. La garrapata funciona como un reloj. El segundo tic se retrasa, lo que significa que pasa más tiempo para procesar el tic que el intervalo de tiempo mínimo entre los tics. Por eso pregunto cómo optimizar el código. Adjunto el código y repito que he sobrecomentado todo. Si quieres comprobar como funciona - lo pones como EA en minutos, luego en búsqueda autónoma y abres 'sec'+nombre del instrumento.
¿Cómo implementar esta función en su EA? Cuando se activa un TP o un SL en cualquiera de las órdenes Bay, todas las órdenes Bay deben cerrarse.
Si tienes experiencia en programación, una pista:
1. después de abrir una orden de compra, contar el número de órdenes de compra
2. Guardar su número en una variable global
En el siguiente tick, comprueba las condiciones de que la cantidad de órdenes de compra es menor que la anterior, entonces cierra todas las órdenes de compra.
Existen funciones que calculan la cantidad de órdenes por tipo de posición abierta y por cierre de posiciones de un tipo seleccionado (compra o venta) en la Kodobase.
Muchas características útiles en las funciones de Kim
Sobre la conversión de tipos de variables.
Se ha escrito el valor del coeficiente doble K en la descripción de la línea como texto (K=0,573).
Durante la ejecución del código, el valor del coeficiente K ha cambiado varias veces.
Ahora quiero multiplicar la variable doble Z por el valor K=0.573 después de extraer la cadena de descripción de la línea ObjectDescription(string name).
¿Es posible convertir una variable de tipo string a una variable de tipo double en MQL para volver a obtener 0,573? Si es posible, por favor, dame el enlace.
Saludos. Shurkin.
¿Es posible convertir una variable de tipo cadena en MQL a una variable de tipo doble para obtener de nuevo 0,573? Si es posible, por favor, dame un enlace.
.
08:06:32 GMT AUDUSD,M1: 15
Parte del registro con el temporizador de milisegundos en ambos códigos (ticks y segundos). Lo único que se me ocurre hasta ahora es eliminar los ciclos por completo, es decir, uno o más ticks por segundo sin importar cuántos segundos hayan pasado desde el último tick, siempre es una vela. Si había un segundo y así en las garrapatas por segundo - un candelabro con sombras. Pero entonces habrá una segunda TF con "agujeros" y por Alta[15] supongamos que no tomaré el valor de asc hace 15 segundos...
Me preguntaba cómo escribir una función. La idea es que cuando N velas retroceden en una determinada dirección, debe calcular el número de velas. PERO. Para ello hay varias condiciones, o más exactamente, habrá una lista de ellas a lo largo del tiempo.
Digamos que la tendencia, por ejemplo, se dirige hacia abajo,... ...un pullback sube. Quiero, si 5 velas subieron, y cada vela fue alcista, y, por ejemplo, el tamaño de cada vela fue mayor quei_sizeOfCurrBar, y algunas otras condiciones, entonces la salida del número de barras continuamente alcista, y devolver algún resultado de la función.
¿Cuál es la mejor manera de escribirlo? De momento me he puesto a escribir, y entiendo que debería pasarlo por un bucle por barras, y de alguna manera limitar la vista en la profundidad del histórico no por un número fijo de barras, sino por barras, con esos parámetros, que nos interesan por condiciones.
Esto es lo que tengo, conseguido:
En este momento sólo vamos desde la penúltima barra hasta la barra con índice 6, es decir, 5 barras seguidas. Pero quiero que mi Asesor Experto busque sólo las barras que son alcistas y no todas seguidas. ¿Cómo aplicarlo adecuadamente?
He filtrado correctamente por tamaño.
Bien, cuando todo está ya escrito, el contador de la parte inferior ya calculará el número de barras continuas con los parámetros nht,etvsvb y si hay suficientes de tales barras, entonces se devolverá algún valor de la función.
Como siempre original: contando barras "desde abajo"...
1. A través de una variable global.
2. A través de un archivo.
3. A través de iCustom().
4. A través de las variables gráficas globales.
5. La cartografía. Puede transferir datos de un terminal a otro. O en un terminal para transferir datos de una ventana a otra sin las limitaciones de las variables globales de MT4.
¿Cuál de estos trabajos es el más rápido?
¿Cuál de estos trabajos es el más rápido?
En la impresión tiene un valor de 1 y 2... ¿Qué coño está pasando aquí?
Sólo falta de atención. En general, el bool aquí es de 4 bytes, lo que no le obliga a tomar sólo valores 0 y 1. El boolearn de C++ es de 1 byte. Personalmente uso bool en aritmética binaria en switch(), si necesito hacer múltiples elecciones, confiando en que siempre sea 0 o 1)) Así:
Una pregunta así. ¿Cómo se optimiza ahora? El esqueleto del Asesor Experto es ahora el siguiente:
He puesto open-close en variables y he eliminado el segundo bloque FileSeek, que se ha vuelto innecesario, he añadido la selección del estilo de las velas (todas alcistas, todas bajistas, cualquiera), he añadido sombras si el siguiente asc o bid es mayor o menor que el anterior máximo y mínimo, he añadido el rastreo con la impresión, que se activa mediante una bandera en la cabecera, he comentado todo con enlaces a los números de línea, he intentado hacer el código legible para el foro. También he añadido números de línea para imprimir.
Ahora mira:
En la parte superior hay un marco de tiempo de ticks, en la parte inferior - segundos. Las sombras (colas) son cuando se han capturado dos ticks en un segundo y la oferta o la demanda difiere de la anterior. La garrapata funciona como un reloj. El segundo tick se retrasa, es decir, emplea más tiempo en procesar el tick que el intervalo de tiempo mínimo entre los ticks. Por eso pregunto cómo optimizar el código. Adjunto el código y repito que he sobrecomentado todo. Si quieres comprobar como funciona - lo pones como EA en minutos, luego en búsqueda autónoma y abres 'sec'+nombre del instrumento.
Si le interesa, puede echar un vistazo a algunos momentos de pura optimización de su código (archivo). Realmente, si hablamos seriamente de optimización, hay que medir el tiempo de ejecución del código. ;)