Discusión sobre el artículo "Cómo copiar el trading desde MetaTrader 5 a MetaTrader 4" - página 2

[Eliminado]  
Urain:

No habrá diferencia ni en la inversión ni en el corte, la diferencia aparece sólo en la diferencia de niveles de cotización en el momento actual y el desfase de ejecución.

Idealmente, si las cotizaciones entre las MT son iguales y el desfase es 0, la operación reportará el mismo beneficio.


No para todas las estrategias de trading (como estaba escrito arriba me refiero a si no adaptas los métodos de trading de MT4 a MT5).

No hablo de las diferencias en los resultados de R2 y MT5 (pero Rumus está realmente fuera de la vida, no lo tendremos en cuenta).

Aquellos que realmente quieren gestionar el comercio en MT4 con MT5 debe pensar en el proceso inverso.

Al mismo tiempo, utilizar más en la estrategia exactamente flips y cortes (en condiciones de multidivisa).

También sería genial para sincronizar todos los procesos de negociación y la información de balance por GMT o la hora local de los terminales (si están en la misma zona horaria).

PS

No se trata de la "tasa", ni siquiera de la carga del depósito. Se trata de a qué tendrás que renunciar y cómo cambiar la estrategia.

La única conveniencia en este sentido es que todos los procesos de negociación MT4 se puede ajustar a netteng con 100% de resultados.

Por supuesto un punto importante es que tales fenómenos como flipping y corte son muy raros en la mayoría de las estrategias de negociación.

Urain:

Sobre dll, es poco probable que MQ se meta en cada código de terceros comprobando su seguridad, y no todo el mundo tiene un compilador delphi o srp. Puedes publicar el código de una biblia y sustituir el archivo compilado por otro. Así que por ahora sólo ex5.

Desafortunadamente, MQL5 no proporcionará pronto al menos la mitad de las posibilidades que se pueden obtener con la ayuda de DLLs.

Una DLL que permite salir de la "caja de arena" y no es muy voluminosa puede ser implementada en muchas herramientas de desarrollo.

Como opción se puede aplicar la biblioteca MQL ligada a WinAPI.

 
Interesting:

No para todas las estrategias de trading (como estaba escrito arriba, me refiero a si no adaptas los métodos de trading de MT4 a MT5).

No hablo de las diferencias en los resultados de R2 y MT5 (pero Rumus está realmente fuera de la vida, no lo tendremos en cuenta).

Estoy leyendo esta afirmación por enésima vez, y por enésima vez me gustaría pedirle que cite al menos una secuencia de órdenes/transacciones, que al transferirla de MT5 a MT4 (o viceversa) su resultado financiero cambie. No cambiará la lista de órdenes/transacciones en el historial, no será diferente la visualización de la posición abierta actual, sino que cambiará el resultado financiero.

Yo sostengo que si las condiciones de negociación son idénticas (cotizaciones / spreads / swaps / stop levers, etc.) el resultado en MT5 será el mismo o mejor que en MT4 (mejor - debido a los swaps, si hay 2 posiciones contrarias en MT4).


Sí, es una tarea difícil organizar la contabilidad de todos los matices al copiar operaciones. Pero esta es otra tarea, y no tiene nada que ver con la parte teórica de la cuestión de la compensación.

 
komposter:

De hecho, OnTrade es un lugar ideal para manejar los cambios en la lista de posiciones. Sólo tiene que asegurarse de que las operaciones existentes se copien inmediatamente al inicio (y no en el siguiente evento de operación).

Filtrar eventos es muy simple - comprueba la lista de posiciones, y continúa procesando sólo si algo ha cambiado en ella.

No estoy hablando de este filtrado, en el evento OnTrade aparece no sólo sobre la operación ejecutada, sino también sobre la orden colocada, y ésta a su vez no será necesariamente implementada.
 
Urain:
No estoy hablando de este filtrado, en OnTrade el evento aparece no sólo sobre la operación ejecutada, sino también sobre la orden colocada, y ésta, a su vez, no será necesariamente ejecutada.
De eso estamos hablando, no es necesario reaccionar a la colocación/cancelación/ejecución de órdenes. Para ello, es necesario comprobar si la posición ha cambiado.
 

Buena idea. Gran copiador.! trató de hacer hace mucho tiempo, pero no funcionó, y aquí miré lo que fue mi error.


Al autor RESPETO. ¡¡¡!!!

 
komposter:
De eso estamos hablando: no tiene que reaccionar a las órdenes de colocación/cancelación/ejecución. Para hacer esto, necesitas comprobar si la posición ha cambiado.

Bien, entonces haz una copia de OnTimer y renómbralo así:

void OnTimers()
  {
//--- obtener la posición 
   get_positions();
//--- si las posiciones no son iguales, guarda los nuevos datos
   if(compare_positions())saves_positions();
  }
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
void OnTrade()
  {
//--- obtener la posición 
   get_positions();
//--- si las posiciones no son iguales, guarda los nuevos datos
   if(compare_positions())saves_positions();
  }

//EventKillTimer() y luego comenta la destrucción del temporizador en OnDeinit;

y en OnInit en lugar de EventSetTimer(1); poner

OnTimers();

ZY en realidad todo el rework, pero voy a ser capaz de comprobarlo sólo el lunes.

 
Urain:

Pues haz una copia de OnTimer y renómbralo así:

Bueno a eso me refiero, es sencillo ;)


Urain:

y en OnInit en vez de EventSetTimer(1);; pon

Y esto es lo que intentaba advertirte: si la inicialización "falla" (por ejemplo, al arrancar el terminal, los datos no se cargarán a tiempo), la copiadora "dormirá" hasta el siguiente evento comercial. En este caso deberíamos proporcionar un bucle infinito o el mismo on-timer, que funcionará hasta que la inicialización tenga éxito.

 
Urain:

En cuanto a las librerías, no estoy en contra de las librerías ex5, pero no quiero usar dll porque desanima al usuario final.

E instalar una copia adicional de MT4 tampoco es muy conveniente para el usuario final ;-). Lo más probable es que el usuario tenga MT4 ya instalado desde hace mucho tiempo, y no en archivos MT5 en absoluto. ¿Quizás deberíamos recomendar el uso de subst como truco?
 
marketeer:
Bueno, instalar una copia adicional de MT4 tampoco es muy conveniente para el usuario final ;-). Lo más probable es que el usuario tiene MT4 ya instalado desde hace mucho tiempo, y no en MT5 archivos en absoluto. ¿Quizás deberías recomendar usar subst como truco?
Tuve una idea similar. Pero subst tiene algunas trampas (al menos en XP): el acceso al disco físico(\\PHYSICALDRIVEx) deja de funcionar.
 
marketeer:
Bueno, instalar una copia adicional de MT4 tampoco es muy conveniente para el usuario final ;-). Lo más probable es que el usuario tiene MT4 ya instalado desde hace mucho tiempo, y no en MT5 archivos en absoluto. ¿Tal vez debería recomendar el uso de subst como truco?

No pretendía escribir un artículo sobre canales de transmisión de señales, encontré la solución más sencilla y comprensible.

Creo que la transmisión de la señal es el tema de un artículo separado.

Y sobre que no es muy conveniente poner una segunda MT aquí creo que te equivocas, por lo que yo sé y correspondencia personal muchos usuarios mantienen en la máquina hasta una docena de MT, y sin problemas. Además MT4 se puede transferir fácilmente con una simple copia. Por otra parte, mi código no tiene protección magik, por lo que no será posible utilizar la cuenta simultáneamente mediante copia y manualmente.