[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 104
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
El número del día del mes se añade al comentario del pedido. ¿Cómo puedo calcular cuántas órdenes (cerradas) hubo durante el día con el comentario de este día?
No sé cómo hacerlo.
comentario = Day();
int OpenOrdersDayHistory(string symbol, int type, int magic, string comment)
{
int n;
int f = 0;
int total = OrdersHistoryTotal();
for (n = total - 1; n >= 0; n--)
{
OrderSelect(n,SELECT_BY_POS,MODE_HISTORY);
if (OrderSymbol() == symbol && OrderType() == type && OrderMagicNumber() == magic && OrderComment() == comment)
{
f++;
}
}
Print("cuenta de pedidos = ",f,");
return(f);
}
El número del día del mes se añade al comentario del pedido. ¿Cómo puedo calcular cuántas órdenes (cerradas) hubo durante el día con el comentario de este día?
No sé cómo hacerlo.
comentario = Day();
int OpenOrdersDayHistory(string symbol, int type, int magic, string comment)
{
n;
int f = 0;
int total = OrdersHistoryTotal();
for (n = total - 1; n >= 0; n--)
{
OrderSelect(n,SELECT_BY_POS,MODE_HISTORY);
if (OrderSymbol() == symbol && OrderType() == type && OrderMagicNumber() == magic && OrderComment() == comment)
{
f++;
}
}
Print("cantidad de pedido = ",f,");
return(f);
}
Y lo mismo cuando se envían pedidos.
>> Es mejor así:
Es más rápido, más fácil y más fiable.bool UseTF = true;
int start()
{
string comment = TimeDay(TimeCurrent());
if (OpenOrdersDayHistory(Symbol(), OP_SELL, 123, comment) > 0)
{
UseTF = false;
Print("No");
}
else
{
UseTF = true;
Print("Yes");
}
if (UseTF == true)
{
int ticket = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, Ask+10*Point, comment, 123, 0, Green);
}
return(0);
}
int OpenOrdersDayHistory(string symbol, int type, int magic, string comment)
{
int n;
int f = 0;
int total = OrdersHistoryTotal();
for (n = total - 1; n >= 0; n--)
{
OrderSelect(n,SELECT_BY_POS,MODE_HISTORY);
if (OrderSymbol() == symbol && OrderType() == type && OrderMagicNumber() == magic && OrderComment() == comment)
{
f++;
}
}
Print("cuenta de pedidos = ",f,");
return(f);
}
Aquí lo pruebas. No lee las órdenes en la historia.
Buenas tardes a todos.
No he conseguido "marcar" correctamente la apertura de las órdenes pendientes en mi código. He leído el tutorial, la ayuda y otras cosas. Probablemente la respuesta esté ahí, pero no consigo descubrirla...
Este es el problema. Tengo un periodo de tiempo durante el cual busco el precio máximo y mínimo y asigno estos valores a dos variables globales. Entonces tenemos que abrir una orden pendiente a ese precio. No puedo decidir el precio. Quiero especificar correctamente el intervalo del precio actual.
1.Pregunta - ¿Cómo es la función del precio de la barra actual, por ejemplo, a las 6 de la mañana?
2 ¿Cómo se especifica el parámetro del ticket para cerrar el pedido?
¿O otra forma de cerrar una de las dos órdenes abiertas anteriormente?
Tengo que probarlo así...
for (int i=1; i<=TotalPedidos(); i++)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
int T=OrderTicket();
int Cur_Hour2=Hora(); // hora del servidor en horas
double Cur_Min2=Minuto(); // Tiempo del servidor en minutos
double Cur_time2=Cur_Hour2 + Cur_Min2/100; // Hora del servidor
Alert(Cur_time2);
if (Cur_time2>=Time_of_buy_sell_2)
OrderClose(T,1,Ask,3,Red);
}
return; // Salir de start()
Por favor, no juzgue estrictamente:)
Es mejor así:
Y más rápido, y más fácil, y más fiable.Estoy de acuerdo, pero mi énfasis estaba más en lo otro.
Prueba esto. No lee las órdenes en la historia.
Lee todo con normalidad. Comprueba qué comentario tienes después de cerrar. Algunos corredores añaden sus propias entradas al comentario cuando se cierra una orden.