Las banderas controlan el número de tipos de órdenes o si hay una entrada controlan la hora de cierre de la orden de mercado, si no es igual a cero entonces la orden se ha cerrado y la bandera de apertura de la orden es falsa.
AIGUL SALMANOVA: ¿Cómo se hace esto de forma programada?
if(OrderSelect(Ticket, SELECT_BY_TICKET)==true)
{
if(OrderCloseTime()==0) // Если наш рыночный ордер не закрыт
{
if(flagAlert == true)
Alert("Наш рыночный ордер жив, Модифицируем его если нужно ", Text,Ticket,". Ждём ответ..");
ModifyTral(); // Модифицируем если нужно
}
if(OrderCloseTime()!=0) // Если наш рыночный ордер закрылся
{
OpnOr=false; // Флаг открытия рыночного ордера после его закрытия делаем ЛОЖЬ
Ticket=0; // Тикет ордера рыночного, он может быть только одинAlert("Наш рыночный ордер закрылся. Работа Советника продолжается ","Прибыль/убыток = ",OrderProfit(),
" Своп = ", OrderSwap(), " Комиссия = ", OrderCommission());
return;
}
}
else
{ Alert("OrderSelect() нашего рыночного ордера вернул ошибку - ",GetLastError()); return;}
}
Para dar cuenta de un billete.
Al abrir un pedido, el ticket debe ser memorizado.
Las banderas controlan el número de tipos de órdenes o si hay una entrada controlan la hora de cierre de la orden de mercado, si no es igual a cero entonces la orden se ha cerrado y la bandera de apertura de la orden es falsa.
¿Cómo se hace esto de forma programada?
Para dar cuenta de un billete.
Al abrir un pedido, el ticket debe ser memorizado.
Para ser sincero, no está claro lo que buscas. Escriba en las fórmulas cómo entiende lo que sale y lo que necesita.
Necesitas el tiempo en milisegundos entre los últimos 4 ticks. Actualiza los valores cuando aparece un nuevo tick.
El indicador escribe la hora del último tick(GetTickCount()) en el buffer.
El Asesor Experto toma los valores del indicador y calcula la diferencia de tiempo.
Parece que cuenta, pero Alert muestra los valores como en la imagen.
No entiendo por qué.
Necesita el tiempo en milisegundos entre los últimos 4 ticks. Actualiza los valores cuando se produce un nuevo tick.
El indicador escribe la hora del último tick (GetTickCount()) en el buffer.
El Asesor Experto toma los valores del indicador y calcula la diferencia de tiempo.
Parece que cuenta, pero Alert muestra los valores como en la imagen.
No entiendo por qué.
Porque no has leído la documentación
La ayuda para GetTickCount dice que es un desbordamiento del contador de enteros
porque no lees la documentación.
La referencia GetTickCount dice que es un desbordamiento de enteros.
¿Te refieres a uint? ¿Por qué aparece en la alerta? Yo no lo puse ahí.
¿Te refieres a uint? ¿Por qué aparece en la alerta? No lo escribí allí.
En el primer Alerte usted emite incorrectamente (sin tener en cuenta los desbordamientos) la diferencia calculada,
la segunda Alerta, donde se busca un valor entero grande en el código, no está presente en este fragmento :-)
Esa es la cuestión, no está en el código.
Todo el código del indicador.
Todo el código de EA.
Esa es la cuestión, no está en el código.
Todo el código del indicador.
Todo.
Mira qué más hay en él.
time.mq4 - tal vez envía alertas
Esa es la cuestión, no está en el código.
Todo el código del indicador.
Todo el código de EA.
En el indicador, en la estructura de alerta. La 5ª línea desde abajoAlerta(b);
Aparentemente es el número de milisegundos desde el inicio del sistema)
¿Cómo puedo seguir el estado de los botones de comercio rápido?
Es decir, si están presentes en el gráfico o no.
¿Puede sugerir una función u otro método?