Emulación de ticks de un EA/indicador - página 6

 
IgorM:

nope..., no funciona

no hay errores en el registro, incluso el Internet en el terminal, en el consejo de Vadim, no se desconectó - no hay ticks en la salida de todos modos


Igor, ¿puedes escribir tu configuración?
 
FAQ: Igor, ¿podrías escribir tu configuración?

Tengo un portátilAsus F80C ,ni siquiera recuerdo que eso no funcionara en este portátil, incluso " Call of Duty: Modern Warfare 3" no se ralentiza, ya queOpenCL bajo MT5 funciona :)

ZS: También hay un ordenador portátil Core 2 Duo con gráficos integrados, pero sólo "polvo" en el cajón debajo de la televisión, a veces viendo dibujos animados en él - para tirar la pena y no hay necesidad de utilizar, que sin duda puede comprobar, pero perezoso :)

 
Me refería a la configuración del software, qué tipo de software, cuántos bits, derechos de administrador, etc.
 
FAQ: Me refiero a la configuración del software, qué tipo de Windows, cuántos bits, derechos de administrador, etc.

todas las actualizaciones instaladas hasta la fecha

ZS: no hay problemas en winXP en este portátil - el código funciona

 
sí, por cierto, el último código parece funcionar de forma un poco diferente a los anteriores: si haces clic con el botón derecho del ratón en "refrescar" el gráfico, habrá dos ticks
 
He utilizado el código de la primera página y ha funcionado todo a la vez (tengo XP). Lo he adjuntado a mi Expert Advisor y funciona sin problemas. Ojalá hubiera más código de este tipo, verificado y comprensible para los no programadores como yo. Por cierto y en el servidor 2003 R2 también está todo bien.
 
expertboss:
He utilizado el código de la primera página y ha funcionado todo a la vez (tengo XP). Lo he adjuntado a mi Expert Advisor y funciona sin problemas. Ojalá hubiera más código de este tipo, verificado y comprensible para los no programadores como yo. Por cierto, todo está bien en el servidor 2003 R2.
En la primera página no había una variante correcta que pudiera causar un fallo. Será mejor que tome la versión corregida en la quinta página.
 

De todos modos, aquí está la versión final de la función:

int SetMyTimer(int TimerId, int Interval)
{    
  int hWnd= WindowHandle(Symbol(),Period());
  int MT4InternMsg= RegisterWindowMessageA("MetaTrader4_Internal_Message");
  int PostMsgAddr= GetProcAddress(GetModuleHandleA("user32.dll"),"PostMessageA");
  if (PostMsgAddr==0 || hWnd==0) return(0);
  // push ebp; move ebp,esp; push 01; push 02; push MT4InternMsg; push hWnd; mov eax,PostMsgAddr; call eax; pop ebp; ret 0010;    
  int value[]={ 0x55, 0x8B,0xEC, 0x6A,01, 0x6A,02, 0x68,0000, 0x68,0000, 0xB8,0000, 0xFF,0xD0, 0x5D, 0xC2,0x10 };
  int len[]=  { 1,    1,   1,    1,   1,  1,   1,  1,   4,    1,   4,    1,   4,    1,   1,    1,    1,   2 };
  value[8]=MT4InternMsg;  value[10]=hWnd;  value[12]=PostMsgAddr;
  static int TimerCode[7];  ArrayInitialize(TimerCode,0);
  int byte=0;  
  for (int i=0;  i<ArraySize(value);  i++)
    for (int j=0;  j<len[i];  j++, byte++)
      TimerCode[byte/4] |= value[i]>>(8*j)&0xFF<<(byte%4*8);

  return ( SetTimer(hWnd, TimerId, Interval, TimerCode) );
}
 

Gracias. Ya he pasado una hora por la mañana leyendo todas las páginas, a fondo. Considero que tu argumento sobre lo que es mejor y lo que es peor carece de fundamento. Hay programadores que no tienen nada que ver con las librerías y descargan lo que necesitan o ejecutan cualquier función sin problemas, entonces esos códigos con correctores de errores están bien para ellos, pero hay aquellos como yo, autodidactas, por ejemplo, para entender y escribir mis propias funciones de trabajo tomó más de un mes (me refiero a un conocimiento general en los detalles) y luego para "ponerse al día" cómo funcionan las funciones en el mismo "Autograph" (aunque el honor y la alabanza al autor como claramente deletreado todo) también dificultades. Por eso tengo que usar algo más corto y comprensible, para gente como yo. Esta opción está más cerca de mí. Por supuesto, no puedo entender cómo funciona esta función, especialmente en ensamblador, pero ¡está aquí! Conéctalo a tu creación y sigue adelante.

Por cierto, para no ser infundado, he probado los dos, el tuyo es mejor, solo es mi opinión personal. Resumiendo: Todo el mundo entiende con qué trabaja y quién está más cerca de qué. Tengo que encontrar el historial de órdenes y mirar cómo se cerraron, así que decidí hacer una estrategia adicional. Utilicé ticks emulados para hacer esto hasta que llegue un nuevo tick "oficial". Aquí.

Para ser sincero no he venido aquí por eso sino por una pregunta, comparto mis pensamientos basados en lo que he leído.

Más bien, ni siquiera una pregunta, y escribió que el XP y el servidor está funcionando correctamente, pero el servidor es el estándar de Rusia 2003, quería cambiar la empresa y sólo hay 2008 y 2003 interprices, trató de ejecutar no va, trató de cambiar la biblioteca en los servidores con la versión que no funciona allí y luego el servidor no da incluso registradores dll ver que no su versión e inmediatamente empuja la suya. Tal vez así se diseñó. Vale, hoy es muy tarde, mañana terminaré lo que tengo y probaré el indicador y la última versión de la función.

Alexander.

 

No entiendo cómo se puede utilizar un generador de ticks en la práctica, y qué sentido tiene utilizarlo. (excepto por interés deportivo). Si sabe qué hacer con él, puede utilizarlo en su propia práctica (por ejemplo, puede calcular el deslizamiento medio teniendo en cuenta los parámetros de barra, spread y volumen de ticks ). El generador de ticks en el probador no es ni mejor ni peor que otros generadores, porque ninguno de ellos refleja el movimiento real en la barra de minutos. Y si se trata de simular desde la bola - entonces para ser realista sería bueno tener en cuenta la instantánea de las cotizaciones (maldito si es grande) - el máximo - un tercio de un segundo para la parte del león de los corredores de S & P con ráfagas raras. Pero sigue sin ayudar, en absoluto.

Brindo por las garrapatas.