//+----------------------------------------------------------------------------+ //| Devuelve el número de barra de la última posición abierta o -1. | //| Parámetros: | //| sym - nombre del instrumento ("" - símbolo actual) | //| tf - timeframe ( 0 - timeframe actual) | //| op - operación (-1 - cualquier posición) | //| mn - MagicNumber (-1 - cualquier magik) | //+----------------------------------------------------------------------------+ int NumberOfBarOpenLastPos(string sym="", int tf=0, int op=-1, int mn=-1) { datetime oot; int i, k=OrdersTotal();
if (sym=="") sym=Symbol(); for (i=0; i<k; i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sym) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (oot<OrderOpenTime()) oot=OrderOpenTime(); } } } } } } return(iBarShift(sym, tf, oot, True)); }
GetLastError() devuelve 0 mientras la orden está abierta y la orden no se abre. El texto de ayuda "ERR_NO_ERROR - 0 - Ningún error". Tal vez no entiendo algo, pero si no hay ningún error, la orden debe ser abierta. ¡¡¡Explica lo que está mal!!!
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
por qué el scoop compra y no cierra, no hay errores durante la puesta en marcha
O bien hacen que el billete sea estático o quitan la definición del inicio.
...
int init()
{
count=Bars;
return(0);
}
...
int start()
{
if(OrdersTotal()==0 && NumberOfBarOpenLastPos()!=0 && count<Bars )
{
//órdenes abiertas
}
...
//+----------------------------------------------------------------------------+
//| Devuelve el número de barra de la última posición abierta o -1. |
//| Parámetros: |
//| sym - nombre del instrumento ("" - símbolo actual) |
//| tf - timeframe ( 0 - timeframe actual) |
//| op - operación (-1 - cualquier posición) |
//| mn - MagicNumber (-1 - cualquier magik) |
//+----------------------------------------------------------------------------+
int NumberOfBarOpenLastPos(string sym="", int tf=0, int op=-1, int mn=-1) {
datetime oot;
int i, k=OrdersTotal();
if (sym=="") sym=Symbol();
for (i=0; i<k; i++) {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sym) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (oot<OrderOpenTime()) oot=OrderOpenTime();
}
}
}
}
}
}
return(iBarShift(sym, tf, oot, True));
}
Sí, en efecto. Hay veces que esta técnica
NumberOfBarOpenLastPos()!=0 no funciona.
Y sólo cuando el Asesor Experto trabaja con TODOS los boletos.
¡Pero en el modo por TICK, esta función funciona bastante bien en esta variante !
No sé por qué es así.
Intenta poner esta función en el comentario y rastrear su trabajo directamente en el gráfico.
¿Quizá los expertos te digan una forma mejor de comprobarlo?
Por favor, díganme qué significa la anotación en el cuaderno de bitácora:
Círculo rojo y
2009.04.23 11:03:41 Tic antiguo GBPJPYFXF60 142.58000/142.63000
(posición no abierta)
Por favor, díganme qué significa la anotación en el cuaderno de bitácora:
Círculo rojo y
2009.04.23 11:03:41 Tic antiguo GBPJPYFXF60 142.58000/142.63000
(posición no abierta)
RefreshRates(); antes de abrir una orden
RefreshRates(); antes de abrir una orden ayudará
Así es. Esos eran los requotes.
>> Gracias.
Así es. Esos eran requotes.
No son requotes.
RefreshRates();
ticket = OrderSend(Symbol(),OP_BUY,GetLots(100),Ask,maxSlippage,0,0, "Long",Magic,0,Green);
if (NeedScreenShot) WindowScreenShot(Symbol() + Period() + "_" + Hour() + Minute() + "_.gif",1024,768);
if (NeedAlert) Alert(Symbol() + " " + Period() + ": Going Long");
if (ticket > 0) break;
lasterror = GetLastError();
if ((lasterror == 0) || (lasterror == 2) || (lasterror == 4) || (lasterror == 6) || (lasterror == 8) || (lasterror == 9) || (lasterror == 64) || (lasterror == 128) || (lasterror == 132) | (lasterror == 133) || (lasterror == 137) || (lasterror == 139) || (lasterror == 141) || (lasterror == 146))
{
Sleep(10);
círculo rojo 2009.04.23 14:08:08 Tic antiguo GBPJPYFXF30 142.95000/143.00999
Todo lo que tengo son círculos rojos, no compro, tengo diez peticiones seguidas de uno y el mismo precio,
Ayuda por favor, ¿o tal vez el autotrading está desactivado en el servidor? Forex.com No lo entiendo.