Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1414
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
Esto significa que cuando se utilizan varios EAs en un mismo símbolo con una cuenta de compensación, el usuario debe ser consciente de que debe establecer el SL y TP de los diferentes EAs de forma idéntica para que no funcionen de forma diferente a la prevista originalmente - a menos que tengan una función de protección y sólo abran una posición "interna" si no hay ninguna posición abierta en el símbolo respectivo. Y el PositionSelect() que mencionó anteriormente es muy útil para esto.
Para estar seguro, sin embargo, probaría esto de nuevo para ver si el SL y TP se adoptan para otra orden o si es mejor cambiar el SL y TP por separado después - ¡no tengo experiencia con esto!
Sí, sin duda deberías probarlo todo. En cuanto a la cuenta de compensación, aún no lo he hecho, pero sí con el valor tradeResult.deal, que tenía guardado como positionTicket.
Me he dado cuenta de que si ejecuto el EA y además envío órdenes limitadas y similares entre las órdenes de mercado, que sólo utilizo en él (aparte de SL y TP), entonces el ticket de la posición abierta no es idéntico a tradeResult.deal, sino a tradeResult.order. Y como se describe en la página de propiedades de la posición, el ticket de la posición puede simplemente cambiar, mientras que POSITION_IDENTIFIER no cambia, sino que permanece idéntico al ticket de la orden que abrió la posición, es decir, a tradeResult.order de la operación de entrada.
por favor, ¿quién sabe donde se puede negociar USDKZT ?
Acabo de probar esto con la cuenta de compensación. Si coloca una orden de venta a mercado de 1 lote con un stop loss a 1,1 EURUSD y luego coloca una orden de venta a mercado de 1 lote con un stop loss a 1,05 EURUSD, entonces toda la posición de compensación de 2 lotes tiene el stop loss a 1,05 EURUSD. Esto significa que si ejecutas dos EAs competidores en un símbolo, que gestionan o manejan el StopLoss y el TakeProfit de forma diferente, esto podría llevar al caos. Sería mejor comprobar en mi EA con PositionSelect() si ya hay una posición abierta y dejar que mi EA espere hasta que no haya más posiciones antes de enredarse.
Acabo de trabajar a través de Los controles que un robot de comercio debe pasar. La información ha sido muy útil. Sin embargo, ha surgido la cuestión del ajuste de márgenes. No sé si he entendido esto correctamente.
Actualmente mi EA hace dos cosas para evitar las llamadas de margen: Antes de una operación que abre o podría abrir una posición, utiliza OderCalcMargin(...) y ACCOUNT_MARGIN_FREE para ver si se puede aumentar el margen. Luego, si se va a abrir una posición, comprueba si la cantidad de dinero en el stop loss supera el margen a pagar. Y no estoy seguro de si he entendido mal algo sobre el segundo punto.
Supongamos que el margen es de 500$, el mercado va en contra de mi dirección y mi stop loss sólo tendría efecto o se activaría con una pérdida de 1000$. Si el valor P&L abierto de mi posición es de -750$, es decir, el margen de 500$ se agota, ¿recibo un margin call? Entonces, ¿tendría sentido comprobar el SL? - Porque eso es algo que no quiero probar.
Búsqueda de "calcular el tamaño del lote": https://www.mql5.com/en/search#!keyword=calculate%20lotsize&module=mql5_module_forum
Con lo cual, por supuesto, puedes cambiar el 0,9 por (1 - maxRisk) e implementar una propiedad "Riesgo máximo en %" que pueda establecer el usuario.
P.D. ¿Te tuteas aquí en el foro?Gracias por la información. En Las comprobaciones que debe pasar un robot de trading se menciona un método "CheckMoneyForTrade", que comprueba si el margen a utilizar para la operación es superior al margen libre (ACCOUNT_FREE_MARGIN). Si he entendido bien, entonces también debería comprobar si los fondos utilizados también superan un determinado porcentaje del saldo de la cuenta, es decir, algo así como:
Con lo que, por supuesto, puedes cambiar el 0,9 por (1 - maxRisk) e implementar una propiedad "Riesgo máximo en %" que pueda establecer el usuario.
P.D. ¿Nos tuteamos o tuteamos aquí en el foro?¡Todo el mundo tropieza con el tamaño del lote y aquí hay mucho código y comentarios!
Ahora he descifrado lo que William Roeder escribió para MT5, que sería la función no probada(!!):
(https://www.mql5.com/en/forum/133792/page3#comment_3405179 & https://www.mql5.com/en/forum/390088#comment_28092477)
¡Por favor, hágamelo saber si usted encuentra un error!
Dado que la mayoría de la gente aquí son de alguna manera anónima con sus apodos o nombres de pila y que solía ser aún más el caso, el "Du" se ha naturalizado.