Por favor, pruebe el siguiente script para eliminar las líneas de tendencia (código presentado en 2 variantes):
void OnStart()
{ bool ticket;string name;int obj_total=ObjectsTotal(0,0,OBJ_TREND);
for(int i=0;i<obj_total;i++){
name = ObjectName(0,i,0,OBJ_TREND);
ticket=ObjectDelete(0,name);
if(!ticket){Alert("Borrar error TrendLine #",GetLastError());return;}
}/for(int i=0;i<ObjectsTotal(0,0,OBJ_TREND);i++)
}
y otra variante:
void OnStart()
{ bool ticket;string name;int obj_total=ObjectsTotal(0,0,OBJ_TREND);int i=0;
while(obj_total>0){
name = ObjectName(0,i,0,OBJ_TREND);
ticket=ObjectDelete(0,name);
if(!ticket){Alert("Borrar error TrendLine #",GetLastError());return;}
obj_total=ObjectsTotal(0,0,OBJ_TREND);i++;
}//mientras
}
Por alguna razón, por ejemplo de diez líneas, borra varias y se cuelga. En MT4 todo funciona - todo se borra y al instante.
- www.mql5.com
En general, ambos son erróneos. Es aconsejable organizar el recorrido de los objetos de cualquier lista desde el final. No escribo la palabra "siempre", porque puede haber casos en los que no sea así.
Un deseo: hacer el código correctamente, utilizar la combinación de teclas Ctrl+ en el MetaEditor 5 para el formateo del código (pulsar simultáneamente Ctrl y coma), entonces será más legible. Prueba esta opción:
void OnTick()
{
//---
void OnStart()
{
bool ticket;
string name;
int obj_total=ObjectsTotal(0,0,OBJ_TREND);
for(int i=obj_total-1;i>=0;i--)
{
name=ObjectName(0,i,0,OBJ_TREND);
ticket=ObjectDelete(0,name);
if(!ticket)
{
Alert("Delete TrendLine error #",GetLastError());
return;
}
}
//---
}
- 2010.02.23
- MetaQuotes Software Corp.
- www.mql5.com
En general, ambos están equivocados. Es conveniente organizar el recorrido de los objetos de cualquier lista desde el final. No escribo la palabra "siempre", porque puede haber casos en los que no sea así.
Un deseo: hacer el código correctamente, utilizar la combinación de teclas Ctrl+ en el MetaEditor 5 para el formateo del código (pulsar simultáneamente Ctrl y coma), entonces será más legible. Prueba esta opción:
Gracias. Funciona. En cuanto a la disposición, yo también indento el código. En este post en particular, he insertado el código como texto plano, por lo que no tiene sangría.
- 2010.02.23
- MetaQuotes Software Corp.
- www.mql5.com
Y quizás esta akazija:
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
reemplazar con:
/*------------------------------------------------------------------+
//+----------------------------------------------------------------*/
Como se insertan automáticamente, es muy incómodo editarlas después (añadir nuevas líneas)
- www.mql5.com
Y quizás esta akazija:
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
reemplazar con:
/*------------------------------------------------------------------+
//+----------------------------------------------------------------*/
Como se insertan automáticamente, es muy incómodo editarlas después (añadir nuevas líneas)
Puedes editar la plantilla directamente en el unitor, por ejemplo:
...mt5\MQL5\Templates\Expert.mqt
(no importa guardar una copia, por ejemplo con el nombre ruso Expert.mqt)
SZS: Por cierto, una pregunta a los desarrolladores.
Además de #cabecera#, ¿es posible añadir #nombredearchivo#?
para que sea más fácil y flexible adaptar la cabecera a sus necesidades...
Puede cambiar la plantilla para adaptarla a sus necesidades, por ejemplo:
...mt5\MQL5\Templates\Expert.mqt
(no impida que se guarde una copia, por ejemplo, con el nombre ruso Expert.mqt)
No he encontrado esos directorios y archivos, ¿o tengo que crearlos yo mismo?
Puede cambiar la plantilla para adaptarla a sus necesidades, por ejemplo:
...mt5\MQL5\Templates\Expert.mqt
(no impida que se guarde una copia, por ejemplo, con el nombre ruso Expert.mqt)
No he encontrado esos directorios y archivos, ¿o tienes que crearlos tú mismo?
¡Están ahí!
Tienes que poner una marca en el menú contextual "Mostrar todos los archivos".
Aprende lo básico. ;)
¡Están ahí!
Debe poner una marca en el menú contextual "Mostrar todos los archivos".
Aprende las matemáticas... ;)
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Sugiero que los que quieran intenten aprender juntos el FIVE.
Por desgracia, en la rama principal, donde se realizan las pruebas beta, hay poca ayuda para aprender un nuevo idioma.
Realmente hay pruebas de errores y la rama está destinada a los PROFESORES.
Para el otro 90% de los programadores sugiero que se discutan temas más "comprensibles".
Empezaré diciendo que he empezado a reescribir un indicador muy práctico para A, pero me he encontrado con muchos problemas que requerían una lluvia de ideas.
El primer problema es que ahora es imposible aplicar el enfoque utilizado en los 4 indicadores en el 5.
Tengo que implementarlo todo a través de Expert Advisor. Lo adjunto para revisarlo y aceptar sugerencias (no para criticarlo :-). La descripción de lo que se ha implementado y lo que sucederá, un poco más adelante.
Hasta ahora he conseguido implementar en él el 15% de lo que había en Quartet.
Brevemente, lo que estoy tratando de implementar:
1) Lucha con la marca 3/5. Para los que comercian con el "adulto" el quinto signo es como la quinta pata del perro. Personalmente, me estorba. Optimizo la visualización de información y la gestión de posiciones y órdenes como si fueran 4.
2) Para mostrar toda la información posible sobre instrumentos, órdenes, etc. directamente en el gráfico. Muy cómodo y claro, especialmente para F11.
3) Visualización gráfica de las posiciones y operaciones del instrumento actual en el gráfico, así como información sobre todas las posiciones en la esquina inferior izquierda