[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 323
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
Así que... ¿Cómo funciona eso? Si no es un secreto...
Haz una búsqueda en google sobre el sitio - trading on nonstandard TF site:mql4.com y variantes como "advisor on equi (stand-alone) chart, etc".
O espera a que Junko no lo soporte y te lo explique personalmente :))
Así que... ¿CÓMO HACERLO?
No es un secreto. Hay mucho escrito al respecto. No importa qué herramienta se haya utilizado para crear la historia. Se trata de actualizar el gráfico para que el Asesor Experto trabaje en él.
Esto puede hacerse mediante WinAPI. Se ha descrito aquí muchas veces. He escrito una biblioteca. Lo he publicado aquí.
Contiene funciones para controlar la actualización autónoma del gráfico. No requiere ningún guión ni experto. Pero no es para todos. También hay funciones disponibles para todos para actualizar el gráfico desde un Asesor Experto, un script o un indicador. Es más difícil utilizarlos. Porque tienes que pensar cuál de tus programas va a actualizar el gráfico. Los ejemplos están en el script de prueba.
Estimados programadores.
¿Puede aconsejar cómo configurar los valores de los niveles de las medias móviles que se muestran en la barra actual?
No me refiero al valor de la media móvil en sí, sino a los valores de sus niveles (desviaciones de la misma hacia arriba y hacia abajo, que se establecen en la pestaña "Niveles" del menú МА).
Estos valores seguirán los niveles de la MA y cambiarán por sí mismos.
La figura es una de las posibles variantes.
Gracias de antemano.
Ya entendí lo del misterio). He leído los artículos y he mirado en el foro, y he mirado en la búsqueda. No encuentro la descripción de cómo utilizar gráficos no estándar en el Probador de Estrategias, pero no he encontrado un ejemplo, ¿qué debo hacer para que el Asesor Experto trabaje en tiempo real en un gráfico de este tipo?
WinAPI es un bosque oscuro para mí. ¿Hay alguna manera de hacer algo en mql4 dentro del constructor o su Asesor Experto, o de combinar el constructor y el Asesor Experto?
No tengo ni idea de cómo utilizarlo como Asesor Experto en el futuro.
nickbilac 03.09.2007.
...Para que un Asesor Experto funcione en un gráfico autónomo, es necesario añadir:
al principio de la salida:
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); //título entrante para EAs
después del primer PostMensajeA
PostMessageA(hwnd,MT4InternalMsg,2,1); //título entrante para EAs
y en WinUser32.mqh en las descripciones de las funciones de user32.dll:
int RegisterWindowMessageA(cadena lpString);
(esta solución fue sugerida por Slava en el foro inglés)
RefreshRates();
ticket=OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),0,NormalizeDouble(Ask+15*Point,Digits),0, "test",8,0, red);
Estaría muy agradecido por los comentarios de los desarrolladores.
granit77:
Когда я говорил о тайне, то имел в виду великую тайну поиска. Она заключается в том. что надо ПРОЧИТАТЬ материалы, на которые он покажет. Ссылки уже боюсь давать, привожу готовый текст.
nickbilac 03.09.2007
... para que los expertos trabajen en un horario independiente, hay que añadir:
al principio de la salida:
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); //título entrante para EAs
después del primer PostMensajeA
PostMessageA(hwnd,MT4InternalMsg,2,1); //título entrante para EAs
Y en WinUser32.mqh en las descripciones de la función user32.dll añadir:
int RegisterWindowMessageA(cadena lpString);
¿Ayudará RefreshRates(); antes de la entrada a reducir un poco las recotizaciones?
Depende de la situación. Si tiene dos órdenes seguidas, tiene sentido llamar a RefreshRates() antes de establecer la segunda orden. Mire, usted envía una orden al servidor para abrir un pedido. Pasará un cierto tiempo mientras el servidor reacciona. Durante este tiempo, las cotizaciones pueden cambiar, así que tan pronto como el servidor haya respondido, tenemos que llamar a RefreshRates(), que actualiza los datos en el terminal. Ahora podemos dar una orden para abrir el siguiente pedido. Si simplemente comprobamos si hay una señal y colocamos inmediatamente una orden, no hay razón para llamar a RefreshRates(). La razón es que la función de inicio se llama a la llegada de un nuevo tick y podemos despreciar el tiempo hasta que el EA comprueba la señal.
¿Qué tiene que ver el billete con esto? El ticket es el número de orden en el servidor...
Bueno, quería decir ticket=OrderSend(......)
¿Y qué te dijeron? ...