[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 323

 
Diubakin:
Así que... ¿Cómo funciona eso? Si no es un secreto...
Hay una manera, pero no se lo digas a nadie. Este es un secreto terrible.
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 :))
 
Diubakin:
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.



 
Diubakin:


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.

Cuando dije misterio, me refería al gran misterio de la búsqueda. Se basa en el hecho de que tienes que LEER el material que te va a mostrar. Me da miedo darte los enlaces, así que te pongo el texto tal cual.

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)

 
De la correspondencia con el corredor - "Los gráficos se utilizan para dar una idea sobre el mercado. No puede culpar a ..... de las actualizaciones porque éstas se establecen por defecto para todos los corredores que utilizan la plataforma MT4. ¿De qué función de MT4 estamos hablando? ¿En qué casos el precio que se muestra actualmente en el gráfico y en la visión general del mercado no puede ser simultáneamente de mercado y ejecutable? Por favor, ayúdenme a entender la esencia de esta afirmación. Me preceden los enlaces a la función OrderSend y os doy el código de MTS utilizado para abrir una operación:

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);

En mi biblioteca hay una función en lugar de este código.
 
¿Ayudaría RefreshRates();; antes de un tic a reducir las recotizaciones aunque sea ligeramente?
 
Shniperson:
¿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, me refería a ticket=OrderSend(......)
 
Shniperson:
Bueno, quería decir ticket=OrderSend(......)

¿Y qué te dijeron? ...
Razón de la queja: