cómo descargar la dll - página 8

 
alsu >> :

Si el intérprete no tiene fallos, no se saltará los comandos en el código, ¡por mucho que te cagues!

No uses esos superlativos, "glitchy". Si un intérprete tiene un par de fallos, no significa que tenga fallos. Echa un vistazo al menos al mismo informe de errores de VC, te lo recomiendo para entender lo que es "glitchy". La situación es un orden de magnitud peor, pero nadie en su sano juicio se atrevería a considerar a la CV como un "fallo". Aquí pasa lo mismo.


Y de todos modos, ¿el dll en cuestión estaba aquí? ¿Hay alguna objeción a que la dll esté escrita correctamente - se comporta correctamente? y la única forma correcta de descargar la dll es la forma estándar recomendada en la documentación?

 
alsu >> :

AlexEro,

¡¡¡¡Ciclo sobre las series temporales for(i=limit;i>=0;i--) después de terminar voló a la zona de los índices negativos (que fue inevitablemente confirmado por las alertas)!!!!


int start()
  {
   for(int i=11; i>=0; i--) continue;
   Alert( i);
   return(0);
  }

))) ¿Lo decías en serio?

¡Qué lío! ¡¡¡No lo sabía!!!

(Qué día tan... descuidado el de hoy)

 
jartmailru >> :

Significa especificar una dll específica en el EA.

Luego ejecute el EA y no salga de Metatrader.

A continuación - el caso de uso más importante - tenemos que fingir que estamos sustituyendo la dll por una nueva.

Si falla cuando el metatrader está funcionando (y lo compruebo borrando el archivo), entonces

entonces el sistema piensa que la dll está en uso...

voilá. El Asesor Experto ha completado su trabajo y la dll no ha sido descargada.

Ahora tengo que reiniciar toda la aplicación para sustituir la dll.

Vaya, si he entendido bien tu descripción, entonces estás sugiriendo reemplazar la propia dll cuando se está ejecutando el EA, al que está enganchado la dll? ¿Has probado a parar el EA (no con un botón), luego a sustituir la dll, y a iniciar de nuevo el EA?

 
alsu писал(а) >>

Pero en cuanto un programador aterrorizado empieza a manipular con excesivo celo la memoria o a robar tiempo de procesador del terminal para sus cálculos, o toca la sagrada (oh, Dios mío) cola de mensajes de terminal.exe, entonces el malvado metaquot se tomará su venganza.

¿Y crees que los manejadores de la cola de mensajes del programa deben estar "como Merlín, el grande y el terrible" en todos los fragmentos de código que se ejecutan? ¿Por qué tocar la cola de mensajes de otra persona desde un dll?

Me he encontrado con cosas que ponen los pelos de punta.

Hasta ahora son sólo palabras. Dame un ejemplo de código. No soy el único interesado.

En general, no me he encontrado con que la dll no se cargue como tal (ya he escrito sobre ello; he utilizado la dll tanto en Asesores Expertos como en indicadores; en todos los casos he tenido que "manipular con demasiado celo la memoria o utilizar el tiempo de la cpu" directamente en la dll y el resultado ha sido un funcionamiento indeseable).

 
Svinozavr >> :

))) ¿Es eso lo que querías decir?

¡Qué lío! ¡¡¡No lo sabía!!!

(Qué día tan... desordenado el de hoy).

No puedo reproducir el código exactamente, pero era algo así

int start()
{

...

int i;
for ( i=100; i>=1; i--) //отмечу, что здесь было именно 1, а не 0
{
   //че-то делаем
   CallToDLLFunction();//здесь вызывалась какая-то простенькая функция, время работы порядка 1-3 миллисекунд
}

if( i<0) return(0); //эти две строчки вставил уже когда заподозрил неладное
Alert("i=", i);

return(0);
}

En un mercado rápido, cuando se reciben varios ticks por segundo, este código producía en las alertas una secuencia i=0, i=-1, i=-2, i=-3 (dependiendo de cuántos ticks se perdió el terminal hasta que se ejecutó start()) y luego i=0 de nuevo.

Las garrapatas perdidas - al infierno con él, sucede. Pero si ocurre, no significa que el programa deba saltar una orden condicional, que en realidad ocurre dos veces en el código (el bucle for es esencialmente una orden de ramificación también).

 
HideYourRichess >> :

Joder, si he entendido bien por tu descripción, estás sugiriendo sustituir la propia dll cuando se está ejecutando el EA, al que está enganchado la dll... ¿Has probado a parar el EA (no con un botón), luego a sustituir la dll, y a reiniciar el EA?

Por supuesto, estamos hablando de tratar de reemplazar la dll después de que las pruebas se hayan completado.

Pero aparentemente su experiencia profesional sugiere que después de los errores que ha cometido

y la actitud incorrecta hacia los usuarios del foro, es más rentable empezar a meterse con las palabras.

.

Y, por supuesto, el gran profesional no intentó hacer una simple prueba ...o lo hizo.

 
el mismo efecto, pero en una escala mayor (hasta -100 y más) que se observa al iniciar el terminal y cargar el indicador desde la plantilla, cuando el término carga el final del historial que falta
 
jartmailru >> :

Por supuesto, estamos hablando de intentar reemplazar la dll después de que las pruebas se hayan completado. Pero, por lo visto, tu experiencia profesional te sugiere que es más rentable empezar a meterte con las palabras después de los errores que has cometido y tu actitud incorrecta hacia los miembros del foro.

No, nuestra experiencia dice que hay que tener cuidado para saber de qué se habla. Y si un "miembro del foro" es un tonto, no pasa nada, sucede, no hay que hablar de ello en voz alta. Pero si es un necio obstinado en su ignorancia, es cierto, no hay elección de palabras. Y no hace falta mentir, no he cometido ningún error. A diferencia de ti.


Bueno, Dll en mi Asesor Experto se comporta correctamente. Esta es la quinta vez que te lo digo, y la última. Tal vez tenga una dll diferente, tan gris, absolutamente sin interés, no como la tuya.

 
alsu >> :

No puedo reproducir el código exactamente, pero era algo así

En un mercado rápido, cuando se reciben varios ticks por segundo, este código producía en las alertas una secuencia i=0,i=-1,i=-2,i=-3 (dependiendo de cuántos ticks se perdió el terminal hasta que se ejecutó start()) y luego i=0 de nuevo.

Las garrapatas perdidas - al infierno con él, sucede. Pero si eso ocurre, no significa que el programa deba saltar una orden condicional, que en realidad ocurre dos veces en el código (el bucle for también es una orden de ramificación).

La aclaración de la condición de bucle i>=1 en lugar de 0, como citaste en mi confuso primer post, elimina la sospecha - estaba empezando a pensar que te habías pasado... También está enfermo.

¿Condiciones de salto? Genial. Nunca sucedió. ¿Qué es esta dll mágica? )))

¿Puede reproducir el resultado? Y ver la propia dll. No es que no lo crea, es que realmente quiero aprender a escribir tales dlls. Para que todo encaje en su sitio. Tendré algo de lo que hablar con gente inteligente más tarde...

 
HideYourRichess >> :

Así, en mi EA la Dll se comporta correctamente. Por quinta vez informo, y por última vez. Debo tener una dll diferente, una dll tan gris y tan poco interesante, no como la tuya.

Genial, ya has alcanzado un nuevo nivel, un nivel de abstracción.

Probablemente tenga experiencia en el trabajo con personas, quizás en el comercio.

.

Bien. Apliquemos ese tipo de razonamiento. Me alegro mucho de que haya aceptado mis argumentos.

Por mi parte sólo tengo que asegurar a todos que mis Dlls funcionan aún más correctamente.

En cualquier caso, los resultados fueron los mismos que los del probador de Metatrader y la Dll de Neuroshell.

.

Pero como alguien incapaz de realizar una simple prueba e informar, no me respondas de nuevo.

>> Excepto para el público.