Errores, fallos, preguntas - página 2301

 
Artyom Trishkin:

Para un objeto de texto situado en High[], el punto de anclaje (propiedad OBJPROP_ANCHOR) debe estar establecido en ANCHOR_LOWER (punto de anclaje en el centro inferior).

Para un objeto de texto que se encuentra en Low[], el punto de anclaje (propiedad OBJPROP_ANCHOR) debe estar establecido en ANCHOR_UPPER (punto de anclaje en el centro superior).

O ANCHOR_CENTER para ambas ubicaciones, el punto de anclaje está centrado.

Pruébalo.

Pero eso requiere crear DOS objetos llamados, por ejemplo, Hi y Lo (extremos superior e inferior de un zigzag o extremos superior e inferior de la tendencia local real alcista o bajista) y vincularlos ambos al gráfico con los valores correspondientes de ANCHOR_LOWER y ANCHOR_UPPER. ¿No sería más fácil (de alguna manera) atar la parte superior del ZigZag - a la parte inferior previamente "atada"? Esto es más o menos lo que hice, añadiendo una línea a la función anterior

ObjectSetInteger(0,Obj,OBJPROP_ANCHOR,ANCHOR_CENTER); e introducir una "corrección de desplazamiento" en la línea de salida if(tvT) ORT(kBtT,Low[kBtT]-2*_Point,DtT,LowClr); else ORT(kBtT,High[kBtT]+2*_Point,DtT,HighClr); //

Hasta ahora parece que funciona. Gracias.

 
aleger:

Pero eso requiere crear DOS objetos llamados, por ejemplo, Hi y Lo (extremos superior e inferior del zigzag o extremos superior e inferior de la tendencia local real alcista o bajista) y vincularlos ambos al gráfico con los valores correspondientes de ANCHOR_LOWER y ANCHOR_UPPER. ¿No sería más fácil (de alguna manera) atar la parte superior del ZigZag - a la parte inferior previamente "atada"? Esto es más o menos lo que hice, añadiendo una línea a la función anterior

ObjectSetInteger(0,Obj,OBJPROP_ANCHOR,ANCHOR_CENTER); e introducir una "corrección de desplazamiento" en la línea de salida if(tvT) ORT(kBtT,Low[kBtT]-2*_Point,DtT,LowClr); else ORT(kBtT,High[kBtT]+2*_Point,DtT,HighClr); //

Hasta ahora parece que funciona. Gracias.

¿Qué sentido tiene? Puedes cambiar el anexo en cualquier momento. ¿O me estoy perdiendo algo? Se cambia el color. Así que cambia el enlace.

 

Tras cerrar la ventana del visor de depuración, volver a compilar y ejecutar una única ejecución en el probador sin visualización, obtuve lo siguiente

2018.09.27 14:01:52.784 Core 1  agent process started
2018.09.27 14:01:52.784 Core 1  connecting to 127.0.0.1:3000
2018.09.27 14:02:11.358 Core 1  tester agent authorization error
2018.09.27 14:04:15.875 Core 1  no connection
2018.09.27 14:04:15.875 Core 1  connect error

No pude hacer nada durante 20 segundos. El botón de inicio ha estado en gris todo el tiempo.


Registros del agente.

DM      3       14:01:49.711    Tester  close visual tester window
RH      0       14:01:49.711    Tester  shutdown tester machine
LN      0       14:01:54.186    Server  MetaTester 5 stopped


Los registros muestran que el Probador trató de conectarse al Agente a las 01:52, pero el propio Agente (Servidor) sólo se detuvo a las 01:54. De ahí la incapacidad de conectarse y colgarse. Es un error que viene de lejos, pero al menos la causa ya está clara.

 

Resultados del perfilador en datos históricos


El OrderSend interno tarda un tercio del tiempo. ¿Qué causa estos resultados tan desagradables?

 
fxsaber:

Resultados del perfilador en datos históricos


El OrderSend interno tarda un tercio del tiempo. ¿Qué causa estos resultados tan desagradables?

En el probador, toda la lógica de comercio está aquí, no en el servidor de comercio.

 
Slava:

En el probador, toda la lógica de comercio está aquí, no en el servidor de comercio.

Casi tres millones de ticks y sólo 16K OrderSend. Pero estas órdenes comerciales tardan un tercio del tiempo. Y en cada tick hay cálculos en el Asesor Experto.

De ahí mi pregunta. ¿Podría ejecutar el código de OrderSend en el perfilador? ¿En qué lugar se encuentra ese inconveniente?

Supongo que si sustituyes la función estándar por la tuya propia, funcionará más rápido. Probablemente, hay algunas comprobaciones y gestos costosos en OrderSend. Por ejemplo, si no hay funciones de Historial y OnTrade* en el Asesor Experto (+ indicadores), entonces formar los registros/eventos apropiados es una pérdida de tiempo.

Entiendo que para algunas personas una carrera dura muchos minutos. Pero hay casos como el anterior: unidades de segundos, si se presta atención a la velocidad de ejecución. Y aquí resulta que lanzo Optimize durante tres horas, y de ellas una hora es OrderSend, cuyo tiempo medio de ejecución es de 69 µs (ver captura de pantalla):

  • TRADE_ACTION_PENDING - 104 µs.
  • TRADE_ACTION_SLTP/TRADE_ACTION_MODIFY/TRADE_ACTION_REMOVE - 68 microsegundos.
 
He perfilado el probador muchas veces. Y ya sé dónde está el "enganche" ahí. Se trata de cálculos financieros que implican varias normalizaciones de los resultados al número de dígitos de la moneda del depósito
 
Slava:
He perfilado el probador muchas veces. Y ya sé dónde está el "enganche". Se trata de cálculos financieros que implican varias normalizaciones de los resultados al número de dígitos de la moneda del depósito

Escribiré mi OrderSend y lo compararé.

 
¡Hola a todos! Soy nuevo en el trading, llevo medio año aprendiendo todos los detalles sobre el mismo. Es un negocio muy tentador, pero no sé, a menudo siento que todas las ganancias y pérdidas en meses o años son básicamente cero, en el mejor de los casos.No quiero defraudar a nadie en esta actividad, es la elección de cada persona, pero un hecho muy importante que no me da paz nunca en este negocio, es el SPARK (SPARK es cuando un acuerdo se abre con -16 puntos o -21 puntos) a 16 o 21 puntos, o incluso 34 puntos, aparentemente flota, Dios sabe, bueno, ¿cómo se puede ganar dinero aquí?Sólo tengo una pregunta: Dime quién tiene más experiencia, ese recargo tan grande es mano de mi broker (mi broker dice que no tiene recargo y que viene de un proveedor de liquidez) o afecta a todos en general, dime con detalle si tiene el recargo y cuántos puntos.
 
Por favor, tome nota de este post (o puedo moverlo aquí y se puede machacar allí): https://www.mql5.com/ru/forum/281440
Помогите разобраться (баг или я не понимаю чего?)
Помогите разобраться (баг или я не понимаю чего?)
  • 2018.09.28
  • www.mql5.com
Всем привет, сразу к делу...