[¡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 747

 
xrust:


La alerta no funciona - en el probador se convierte en una impresión... El probador tiene la particularidad de procesar primero las condiciones comerciales (órdenes y lógica), y sólo entonces, si hay tiempo suficiente, imprimir, por lo que sólo el soment, y esta operación toma mucho más tiempo que la impresión.

Rustam, creo que todo el mundo lo sabe, pero la impresión no imprimirá nada... Tal vez esta sea una forma de hacerlo bien...
 
artmedia70:





Por desgracia, la red de arrastre no funciona. Da un error al compilar. ¿Qué hay que arreglar?
 
artmedia70:

??????????


Prueba a reiniciar el terminal.
 

¡¡¡Cómo puedo calcular el importe de las últimas operaciones perdedoras en denominaciones!!! Si puedes, el código ...

Hace sol al aire libre, mi cabeza no funciona en absoluto ..... )

Gracias...
 

Hay características en el hilo de I.Kim que podrían ayudarte. - https://www.mql5.com/ru/forum/107476

La función GetProfitFromDateInCurrency(). Página 18

Esta función devuelve el beneficio total en la moneda de las posiciones cerradas desde una fecha determinada

Función isLossLastPos(). Página 21

Esta función devuelve el indicador de pérdida de la última posición cerrada. Bandera levantada - Verdadero - la última posición se cerró con pérdidas. Bandera omitida - Falso - la última posición se cerró con un valor cero o con un beneficio. Esta función no tiene en cuenta los intercambios y las comisiones. La selección de la posición se define mediante parámetros externos:

Función isCloseLastPosByStop().

Esta función devuelve la bandera para cerrar la última posición por parada. Bandera levantada - Verdadero - StopLoss activado. Bandera bajada - Falso - la posición fue cerrada por otra razón

Función NumberOfLossPosToday() Página 24

Esta función devuelve el número de posiciones perdedoras que se han cerrado hoy.

 
DaVinci:

Por desgracia, la red de arrastre no funciona. Da un error al compilar. ¿Qué hay que arreglar?
¿Qué tipo de pesca de arrastre? ¿Y qué error?
 

Queridos amigos, buenas tardes.

Siento que la pregunta no esté directamente relacionada con mql y la escritura de robots, pero realmente quiero entenderlo para un mayor análisis de los procesos de forex y de cambio.

El problema es el siguiente:

Hay un archivo de Excel que muestra el valor de los máximos/mínimos del ZigZag y el tiempo de formación de estos máximos/mínimos

A partir de estos datos, hay que construir el siguiente gráfico:

Por favor, dime cómo hacer esto en Excel 2007.

(Soy consciente de que es una pregunta de aficionado, pero después de las vacaciones necesito ponerme en forma ya)

Muchas gracias de antemano.

 

Hasta ahora no he tenido que lidiar con EAs multidivisa . Puede alguien decirme brevemente si MetaTrader permite probar/optimizar este tipo de EAs, cuáles son los problemas y limitaciones en este momento, etc. ¿Cuáles son las peculiaridades de escribir este tipo de EAs en comparación con los estándar?

Gracias.

 
Morzh09:

Buenas tardes, amigos...

Según tengo entendido, el resultado final debería ser aproximadamente esta imagen:

Si es así, para conseguirlo en Excel 2007 haz lo siguiente:
Tome el archivo CSV generado por el script, ábralo en Excel.
Elimine las columnas innecesarias y deje sólo la Hora y la Fecha ZigZag.
A continuación, seleccione las columnas restantes, abra la pestaña "Insertar", haga clic en "Gráfico" y seleccione el tipo "Gráfico". El gráfico se dibuja automáticamente con los parámetros estándar. A continuación, si es necesario, cambie el precio de la división en los ajustes del eje, añada una cuadrícula, etc.

En el archivo, el CSV original, por ejemplo, y el gráfico resultante en formato XLSX.

Archivos adjuntos:
 
¡¡¡POR FAVOR, AYÚDENME !!! ¡En el siguiente código compruebo si la orden fue rentable o no ! ¡¡¡Si no cuento la cantidad !!!
Si la primera operación no fue rentable, se inicia el bucle de recuento y se añade para siempre.

¡¡¡Pero hay una trampa!!! Si una operación es rentable, todas las demás órdenes perdedoras se cuentan normalmente ....

¡ double orderProf; // Contador del número de operaciones perdedoras

double CalculateLots(){
double Res=0.01;
bool bProfit=true;
int PrevTime=-1;
double tmpLots;
for (int i=0;i<OrdersHistoryTotal();i++){
if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderCloseTime()<PrevTime) continue;
PrevTime=OrderCloseTime();
if (OrderProfit()>0){bProfit=true; orderProf=0;} if (OrderProfit()<0){bProfit=false; orderProf++;}
tmpLots=Lotes de pedido();
}


return(Res);
}
Razón de la queja: