[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 453

 
VOLDEMAR:

¿Tiene alguna idea de por qué?

Tal vez deberíamos hacer libros de texto adecuados...

Tal vez hacer una enseñanza adecuada...

¿Tal vez escribir estas cosas en algún lugar?

¿Quizás entonces desaparezcan las preguntas?

Y no tendrás que responder a otras 100500 preguntas estúpidas.

Si hay preguntas de este tipo, no es culpa del alumno, sino tuya. ¡¡No lo has descrito en ningún sitio!!

No está escrito en la ayuda, no está escrito cómo traducir de int a double.

Pero dice que si asignas el tipo double a int, la parte fraccionaria se borrará,

Una persona normal llegaría a la conclusión lógica de que si se asigna int a double, sólo se añadirá un punto con un número determinado de ceros...

Así que es como este ....

En realidad, ¡está en el libro de estudios! Incluso está resaltado.
 

Hola a todos. Soy bastante nuevo en la programación. Tengo una pregunta muy sencilla.

Necesito un EA que abra una operación cuando los precios crucen la MA, no en la siguiente vela, sino en el mismo momento sin esperar al cierre de la vela, la salida no es importante

Gracias de antemano

 
VOLDEMAR:

¿Tiene alguna idea de por qué?

Tal vez deberíamos hacer libros de texto adecuados...

Tal vez hacer una enseñanza adecuada...

¿Tal vez escribir estas cosas en algún lugar?

¿Quizás entonces desaparezcan las preguntas?

Y no tendrás que responder a otras 100500 preguntas estúpidas.

Si hay preguntas de este tipo, no es culpa del alumno, sino tuya. ¡¡No lo has descrito en ningún sitio!!

No está escrito en la ayuda, no está escrito cómo traducir de int a double.

Pero dice que si asignas el tipo double a int, la parte fraccionaria se borrará,

Una persona normal llegaría a la conclusión lógica de que si se asigna int a double, sólo se añadirá un punto con un número determinado de ceros...

Así que es como este ....

¿Con quién estás hablando ahora? Con el moderador público Sergeev, que, junto con otros entusiastas, creó y pobló el hilo "Navegador del foro y respuestas a las preguntas frecuentes" específicamente para aquellos que no leyeron bien la documentación...
Su patetismo parece fuera de lugar en este contexto.
 
Activict:

Hola a todos. Soy bastante nuevo en la programación. Tengo una pregunta muy sencilla.

Necesito un EA que abra una operación cuando los precios crucen la MA, no en la siguiente vela, sino en el mismo momento sin esperar al cierre de la vela, la salida no es importante

Gracias de antemano

No es una pregunta, es una afirmación. ¿Cuál es la pregunta? De antemano, por favor.
 

Gracias por la prontitud, estoy en el trabajo y mi cabeza hierve al final del trabajo)) Apenas he aprendido a escribir Asesores Expertos sencillos, pero ahora tengo una idea y necesito un fragmento de código para abrir una posición cuando los precios crucen la MA y se abran en el momento del cruce, pero lo tengo sólo en la siguiente vela. Me gustaría que me mostraran un trozo de código, creo que puede ser una sola línea para los que saben bien

 
Activict:

...creo que es un caso de una sola línea para los que son buenos en eso.

...O un clic para los que saben que hay una búsqueda.
¿Cómo se obtiene una señal para la intersección de dos MAs?
 
Activict:

Gracias por la prontitud, estoy en el trabajo y mi cabeza hierve al final del trabajo)) Apenas he aprendido a escribir Asesores Expertos sencillos, pero ahora tengo una idea y necesito un fragmento de código para abrir una posición cuando los precios crucen la MA y se abran en el momento del cruce, pero lo tengo sólo en la siguiente vela. Quiero que me muestren un trozo de código y me enseñen cómo se hace. Creo que debería bastar con una línea para los que saben bien

Utiliza los precios de la barra 0 - Close[0], ma[0], Ask, Bid - numeración de las barras a partir de 0. La 0-ésima es la última barra no terminada.

Mejor lee el foro: esta idea ha sido probada muchas veces - obtendrás muchas señales falsas, no hay peces allí. Pero es posible practicar.

 
ilunga:
exactamente

He modificado un poco el guión:

//+------------------------------------------------------------------------------------------+
//|                                                                     ArraySetAsSeries.mq4 |
//+------------------------------------------------------------------------------------------+
//|                         script program start function                                    |
//+------------------------------------------------------------------------------------------+
//------------------------------------ НАЧАЛО START -------------------------------------- 1 -
int start()                                                              //функция start
  {                                                                      //начало start
   double Timestart=GetTickCount();                                      //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения скрипта
   double array1[][6];                                                   //объявляем массив-источник (массив, из к-о будут скопированы данные)
   double array2[][6];                                                   //объявляем массив-приемник (массив, куда будут скопированы данные), к-й на
                                                                         //момент объявления заполнен некоторыми данными
   int element_1=ArrayCopyRates(array1);                                 //копируем данные баров текущего графика в массив array1 
   int element_2=ArrayCopy(array2,array1,0,0,WHOLE_ARRAY);               //копируем данные всех баров в пользовательский массив
   bool element_3=ArrayGetAsSeries(array2);                              //проверка: является ли массив array1 массивом-таймсерией
   bool try_1=ArraySetAsSeries(array2,false);                            //устанавливаем НАПРАВЛЕНИЕ индексирования массива  
   bool element_4=ArrayGetAsSeries(array2);                              //проверка: является ли массив array2 массивом-таймсерией
   double element=array2[0][1];                                          //получаем значение цены открытия нулевого бара
//----------------------------------------------------------------------------------------- 2 -
   Comment("\nФункция ArrayCopyRates(array1) вернула: ",element_1,
           "\nФункция ArrayCopy(array2,array1,0,WHOLE_ARRAY) вернула: ",element_2,
           "\nФункция ArrayGetAsSeries(array2) вернула: ",element_3,
           "\nФункция ArraySetAsSeries(array2;false) вернула: ",try_1,
           "\nФункция ArrayGetAsSeries(array2) вернула: ",element_4,
           "\nЦена открытия нулевого бара (т.е. бара с ИНДЕКСОМ 0) равна: ",element,
           "\nСкрипт выполнялся всего ",GetTickCount()-Timestart," миллисекунд, из них: ",
           MathFloor((GetTickCount()-Timestart)/1000)," секунд ",((GetTickCount()-Timestart)/1000-MathFloor((GetTickCount()-Timestart)/1000))*1000,
           " миллисекунд");//печать сообщения на экран
//----------------------------------------------------------------------------------------- 3 -
   return(0);                                                             //выход из start
  }                                                                       //конец start
//-------------------------------------- КОНЕЦ START -------------------------------------- 4 -

El resultado es el siguiente:


Naturalmente, surgió una pregunta: En este caso copié los datos de las barras del gráfico actual en un array bidimensional array1 utilizando la función ArrayCopyRates(array1). Luego en la siguiente línea con la función ArrayCopy(array2,array1,0,0,WHOLE_ARRAY) copié los datos de array1 en array2. Luego, utilizando la función ArrayGetAsSeries, comprobé si array2 es un array-serie de tiempo. Y resultó (como puedes ver en la captura de pantalla), que el array es un array de series temporales, aunque no lo había "procesado" con la función ArraySetAsSeries antes.

Pregunta: por qué en el primer caso (pregunta anterior) necesitaba utilizar la función ArraySetAsSeries (para hacer que mi array se organizara como un array de series temporales), mientras que en este caso no necesito dicho procesamiento.

P.S. Perdón por la insistencia, sólo quiero entenderlo completamente, para que no queden "lagunas en la historia". Gracias por todas las respuestas anteriores.

 
VladislavVG:

Vladimir, tendrás derecho a expresar toda esta histeria al soporte técnico del terminal que compres. Y mientras usas uno gratuito, agradece a los entusiastas que lo han descubierto por sí mismos y a los perezosos como tú que ni siquiera quieren dedicar tiempo a buscar materiales en la web y siguen contestando algo por enésima vez. Nadie te debe nada. Intentan hacerlo por su cuenta. Si quieres que te molesten, contrata a un instructor y métete con su cabeza. Te dará un chupete y un babero.

Vladislav con todo el respeto: Si no quieres responder, no respondas, si quieres responder, entonces responde con fundamento,

Necesitas hacer un curso de comunicación o clases de psicología, porquelas respuestas son"Lee la documentación 3 veces al día durante 4-5 horas".Y sólo entonces salta con una pandereta."que has estado diciendo mucho...

"...que me ha dado mucho. Gracias por su ayuda de todos modos ....

 
VOLDEMAR:

Vladislav, con todo el respeto que te mereces: si no quieres responder, no respondas, si quieres responder, entonces ve al grano,

Necesitas hacer un curso de mejor comunicación o lecciones de psicología, porque estasrespuestas,"Lee la documentación 3 veces al día durante 4-5 horas. Y sólo entonces salta con una pandereta."que has estado diciendo mucho...

"...que me ha dado mucho. Gracias por su ayuda de todos modos ....

Es que por tu parte parece que todo el foro está obligado a educarte incondicionalmente. Pero aquí nadie debe nada a nadie ni está obligado a hacer nada. Siempre es una buena idea leer la documentación. Razón de más para tenerlo a mano y necesario.