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
No pregunté a nadie en particular.
Pero debe haber hecho bien en tomárselo como algo personal.
No puedo llamarte tonto, pero eres sordo, eso seguro.
No escuchas a los demás. No me refiero a mis comentarios, sino a los consejos que te han dado.
¿Ha escrito alguna vez programas interoperables?
Lo que Ant_TL pide es "interoperabilidad", pero no se puede implementar en MQL.
¿Ha escrito alguna vez un programa interoperable?
Lo que Ant_TL pide es "interoperabilidad", pero no es factible en MQL.
No es difícil de aplicar. Y en principio hay una solución. Demasiada pereza para seguir leyendo
No es difícil de aplicar. Y hay una solución. Demasiada pereza para seguir leyendo
No podrá ejecutar operaciones con órdenes y asegurarse de que el entorno no se vea afectado.
Ya se ha dicho sobre GetLastError(), no podrá restaurar el código que debería devolver lafunción GetLastError().
No podrá ejecutar operaciones con órdenes y asegurarse de que el entorno no se vea afectado.
Ya se ha dicho sobre GetLastError(), no podrá recuperar el código que la función GetLastError() debería haber devuelto.
Si quieres, puedes, sólo que tendrá su propia función ( me refiero aGetLastError())
Esto puede parecer una solución - OrderSelect() - MySelect() wrapper para usar en funciones que buscan pedidos por índice
int last_select=0; // ponerlo en algún lugar antes de init y start
// ...... código del programa
bool MySelect(int i,int mode=MODE_TRADES){ // selección de órdenes - devuelve True si la orden está seleccionada y pertenece al EA, False en caso contrario
if(OrderSelect(i,SELECT_BY_POS,mode)){
last_select=OrderTicket();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
return(true);
else
return(false);
}
return(false);
}
bool TickSelect(int tick){ // Ordenar la selección directamente por tick
if(OrderSelect(tick,SELECT_BY_TICKET))
last_select=tick;
else
return(false);
return(true);
}
void SomeFunc(){ // Una plantilla de función que puede romper la selección de orden y por lo tanto romper la lógica del programa, si no se cuida la selección de orden actual
int tick=last_select;
// ... realizar las acciones necesarias
if(tick>0)
TickSelect(tick);
}
No puede, a menos que usted mismo cambie este estado en el programa.
Se supone que el estado de la orden ha cambiado de MODE_TRADES a MODE_HISTORY. Y su Asesor Experto no ha hecho nada con la orden. ¿Es el mismo orden o es diferente?
Se asumió que el estado de la orden cambió de MODE_TRADES a MODE_HISTORY. Y su EA no ha hecho nada con la orden. ¿Es el mismo orden o es diferente?
Es el mismo orden
Esto puede parecer una solución - OrderSelect() - MySelect() wrapper para usar en funciones que buscan pedidos por índice
int last_select=0; // ponerlo en algún lugar antes de init y start
// ...... código del programa
bool MySelect(int i,int mode=MODE_TRADES){ // Selección de la orden que necesitamos - devuelve True si la orden ha sido seleccionada y pertenece al Asesor Experto; en caso contrario, False
if(OrderSelect(i,SELECT_BY_POS,mode)){
last_select=OrderTicket();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
return(true);
si no
return(false);
}
return(false);
}
bool TickSelect(int tick){ // Ordenar la selección directamente por el tick
if(OrderSelect(tick,SELECT_BY_TICKET))
last_select=tick;
si no
return(false);
return(true);
}
void SomeFunc(){ // Una plantilla de función que puede romper la selección de orden y por lo tanto romper la lógica del programa, si la selección de orden actual no es atendida
int tick=última_selección;
// ... realizar la acción requerida
if(tick>0)
TickSelect(tick);
}