Hola, ¿alguien puede aconsejar cómo hacer que un EA abra una orden en un punto determinado del gráfico cuando se hace clic en un punto determinado? Cuando se instala un script o un EA, la función NormalizeDouble(WindowPriceOnDropped(),Digits); define el punto cuando se hace clic con el ratón. Pero la cuestión es que esto se puede hacer en cualquier momento desde un EA en funcionamiento. ¿Existe esa posibilidad?
Veo una función ChartGetInteger(0,CHART_EVENT_MOUSE_MOVE,0,1) Todavía no sé cómo utilizarlo, ¿es posible determinar hacia dónde (hacia qué punto) se dirigió el puntero del ratón?
Hola, ¿alguien puede aconsejar cómo hacer que un EA abra una orden en un punto determinado del gráfico cuando se hace clic en un punto determinado? Cuando se instala un script o un EA, la función NormalizeDouble(WindowPriceOnDropped(),Digits); define el punto cuando se hace clic con el ratón. Pero la cuestión es que esto se puede hacer en cualquier momento desde un EA en funcionamiento. ¿Existe esa posibilidad?
Veo una función ChartGetInteger(0,CHART_EVENT_MOUSE_MOVE,0,1) Pero aún no he descubierto cómo utilizarlo. ¿Es posible determinar hacia dónde (hacia qué punto) se ha dirigido el puntero del ratón?
Una pregunta más: he movido las funciones a la biblioteca desde el EA, cuando ejecuto el EA, inmediatamente se bloquea y los mensajes muestran que el terminal no puede cargar la biblioteca No se puede llamar a 'ATP_funkcii.mq4::DrawLABEL', 'ATP_funkcii.mq4' no está cargado
¿Cómo puedo solucionar este problema?
¡Me he dado cuenta de una cosa! El editor del EA y la biblioteca se pueden ver, pero en el ordenador, no los veo en los archivos del programa por alguna razón. Sólo el archivo del Asesor Experto.
El índice de cualquier matriz siempre empieza por cero. Es decir, si el tamaño del array es 1, el índice de esa celda será 0.
¿Cómo se conoce el número 5 para conocer el número 6?
¿Cómo se conoce el dígito 6 para conocer el dígito 7, sabiendo que sólo hay 8 dígitos?
¿Cómo, conociendo el índice 7, podemos averiguar el siguiente índice, sabiendo que el tamaño del array = 8?
Gracias por la explicación detallada)))) Por lo tanto, sería correcto escribir
double Mas[]; //массив для упорядочивания всех ордеровfor(int i=0; i<OrdersTotal(); i++) // Цикл перебора ордер
{
if(OrderSelect(i,SELECT_BY_POS)) // Если есть следующий
{
Price=OrderOpenPrice();
ArrayResize(Mas, i+1); //задан размер массива
Mas [i] = Price;
ArraySort (Mas,WHOLE_ARRAY,0,MODE_DESCEND); // Теперь цены открытия упорядочены по убыванию
}
}
if(ArraySize(Mas)>1) //Если массив не пустой
{
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND); //Определен индекс ближайшего большего по значению елемента к текущей цене
PriceBlizko2 = Mas[Blizko2]; // Цена выбранного ордераint Blizko1;
Mas[Blizko1]= Blizko2+1; Это верно??
//Определен индекс ближайшего меньшего по значению елемента к текущей цене
PriceBlizko1=Mas[Blizko1];
Gracias por la explicación detallada)))) Por lo tanto, sería correcto escribir
¿Puede decírmelo, por favor?
No es necesario ordenar el array después de cada adición de un elemento del array. Sería mejor mover la clasificación
double Mas[]; //массив для упорядочивания всех ордеровfor(int i=0; i<OrdersTotal(); i++) // Цикл перебора ордер
{
if(OrderSelect(i,SELECT_BY_POS)) // Если есть следующий
{
Price=OrderOpenPrice();
ArrayResize(Mas, i+1); //задан размер массива
Mas [i] = Price;
}
}
if(ArraySize(Mas)>1) //Если массив не пустой
{ ArraySort (Mas,WHOLE_ARRAY,0,MODE_DESCEND); // Теперь цены открытия упорядочены по убываниюint Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND); //Определен индекс ближайшего большего по значению елемента к текущей цене
PriceBlizko2 = Mas[Blizko2]; // Цена выбранного ордераint Blizko1;
Mas[Blizko1]= Blizko2+1; Это верно??
//Определен индекс ближайшего меньшего по значению елемента к текущей цене
PriceBlizko1=Mas[Blizko1];
De la ayuda.
Valor de retorno
Devuelve el índice del primer elemento encontrado. Si no se encuentra el valor buscado, devuelve el índice del menor de los elementos más cercanos entre los que se encuentra el valor buscado.
Mas[Blizko2] es el valor más pequeño de la matriz.
Hola, quiero obtener la fecha de vencimiento de los futuros
EXPIRATION=(datetime)SymbolInfoInteger(Symbol(),SYMBOL_EXPIRATION_TIME);
Da 1970 01 01 00 00
Hola, ¿alguien puede aconsejar cómo hacer que un EA abra una orden en un punto determinado del gráfico cuando se hace clic en un punto determinado? Cuando se instala un script o un EA, la función NormalizeDouble(WindowPriceOnDropped(),Digits); define el punto cuando se hace clic con el ratón. Pero la cuestión es que esto se puede hacer en cualquier momento desde un EA en funcionamiento. ¿Existe esa posibilidad?
Veo una función ChartGetInteger(0,CHART_EVENT_MOUSE_MOVE,0,1) Todavía no sé cómo utilizarlo, ¿es posible determinar hacia dónde (hacia qué punto) se dirigió el puntero del ratón?
Hola, ¿alguien puede aconsejar cómo hacer que un EA abra una orden en un punto determinado del gráfico cuando se hace clic en un punto determinado? Cuando se instala un script o un EA, la función NormalizeDouble(WindowPriceOnDropped(),Digits); define el punto cuando se hace clic con el ratón. Pero la cuestión es que esto se puede hacer en cualquier momento desde un EA en funcionamiento. ¿Existe esa posibilidad?
Veo una función ChartGetInteger(0,CHART_EVENT_MOUSE_MOVE,0,1) Pero aún no he descubierto cómo utilizarlo. ¿Es posible determinar hacia dónde (hacia qué punto) se ha dirigido el puntero del ratón?
Utilice el evento "CHARTEVENT_CLICK".
Puedes obtener partes del código desde aquí
Utilice el evento de clic "CHARTEVENT_CLICK".
Puede obtener los fragmentos de código desde aquí
¡¡¡Muchas gracias!!!
Una pregunta más: he movido las funciones a la biblioteca desde el EA, cuando ejecuto el EA, inmediatamente se bloquea y los mensajes muestran que el terminal no puede cargar la biblioteca No se puede llamar a 'ATP_funkcii.mq4::DrawLABEL', 'ATP_funkcii.mq4' no está cargado
¿Cómo puedo solucionar este problema?
¡Me he dado cuenta de una cosa! El editor del EA y la biblioteca se pueden ver, pero en el ordenador, no los veo en los archivos del programa por alguna razón. Sólo el archivo del Asesor Experto.
Hola, ¿podríais decirme cómo conocer el índice de un elemento del array para saber el índice del siguiente elemento del array?
El índice de cualquier matriz siempre empieza por cero. Es decir, si el tamaño de la matriz es 1, el índice de esta celda será 0.
¿Cómo se conoce el número 5 para conocer el número 6?
Sabiendo el dígito 6, ¿cómo puedo saber el dígito 7, sabiendo que sólo hay 8 dígitos?
Conociendo el índice 7, ¿cómo saber el siguiente índice, sabiendo que el tamaño del array = 8?
El índice de cualquier matriz siempre empieza por cero. Es decir, si el tamaño del array es 1, el índice de esa celda será 0.
¿Cómo se conoce el número 5 para conocer el número 6?
¿Cómo se conoce el dígito 6 para conocer el dígito 7, sabiendo que sólo hay 8 dígitos?
¿Cómo, conociendo el índice 7, podemos averiguar el siguiente índice, sabiendo que el tamaño del array = 8?
Gracias por la explicación detallada)))) Por lo tanto, sería correcto escribir
¿Puede decírmelo, por favor?
Gracias por la explicación detallada)))) Por lo tanto, sería correcto escribir
¿Puede decírmelo, por favor?
No es necesario ordenar el array después de cada adición de un elemento del array. Sería mejor mover la clasificación
De la ayuda.
Valor de retorno
Devuelve el índice del primer elemento encontrado. Si no se encuentra el valor buscado, devuelve el índice del menor de los elementos más cercanos entre los que se encuentra el valor buscado.
Mas[Blizko2] es el valor más pequeño de la matriz.