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
He leído este hilo de principio a fin tratando de encontrar una solución tengo el
Cyberia Trader1.85g versión jpy.mq4 Lo he cargado y tengo la cara pero no he tenido ninguna orden en absoluto. Estoy utilizando el par USD/CHF en 30mins. no tener ninguna orden hace que sea muy difícil hacer cualquier prueba a futuro. el sistema ha estado funcionando durante 4 días y todavía no hay órdenes.
alguna ayuda sería genial gracias.
saludos
BenoTe ayudaría si supiera hacer mejor que el 70% pero no lo sé. Corro en el gráfico de 1hr, prueba eso.
Gracias por ese trozo de código. Lo he mirado y veo que crea y lee archivos. No veo que añada nada al final de un archivo ya creado. Tal vez lo hace y yo no lo veo y tal vez no lo hace y no hay nada que ver. Me gustaría conocer un trozo de código que supiéramos que anexa datos al final para poder ver cómo lo hace.
Echa un vistazo a este hilo:
https://www.mql5.com/en/forum/175496
Realmente he estado hackeando este código y lo he dejado bastante desordenado..pero...
mis esfuerzos por conseguir que esto se imprima en un archivo están siendo infructuosos por el momento.
Supongo que pediré a los que quieran ayudar en la recopilación de datos que hagan el intento de hacerlo manualmente.
Tengo este EA adjunto configurado para imprimir en el diario los mínimos lógicos del TC. Esto no es agarrar ningún indicador pero tal vez sólo mirando las lógicas de CT nos dará algo para ir con.
Para recoger estos datos, lo que hay que hacer es ejecutar el EA en el backtester configurado tal cual. sin embargo, mientras se ejecuta hay que controlar la pestaña del diario. Dado que el diario no puede contener más que los datos de unas pocas órdenes sin empezar a truncar y dejar caer los datos del extremo inferior, tendrá que detener la prueba muy rápidamente cuando llegue a cada 5 - 7 órdenes sucesivas. Entonces copie y pegue los datos en un bloc de notas y reinicie el probador observando cuando llegue al lugar donde hizo la copia/pega anterior. Hay que tener cuidado de capturar todos los datos al pegar que se ven así para una orden...
2006.11.10 10:22:52 2004.03.05 03:02 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: Recorded Winning Long 56 Opened: 1.2188 Closed: 1.221
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: Ticket: 56 DV: -0.0051 CCI: 57.9346 Long order is opened @: 1.2188 StopLoss= 1.2171 TakeProfit= 1.2285
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: Buy @ Minute 40
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: open #56 buy 0.42 EURUSDm at 1.2188 sl: 1.2171 tp: 1.2285 ok
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: BuyPossibilityMid:0.0004
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: SellPossibilityMid:0.0004
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: UndefinedPossibilityMid:0.0009
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: BuySucPossibilityMid:0.002
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: SellSucPossibilityMid:0.0021
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: UndefinedSucPossibilityMid:0.0021
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: BuyPossibilityQuality:8
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: SellPossibilityQuality:8
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: UndefinedPossibilityQuality:19
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: BuySucPossibilityQuality:7
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: SellSucPossibilityQuality:7
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: UndefinedSucPossibilityQuality:14
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: UndefinedPossibilityMid*UndefinedPossibilityQuality:0.0164
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: BuyPossibilityMid*BuyPossibilityQuality:0.0032
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: SellPossibilityMid*SellPossibilityQuality:0.0034
2006.11.10 10:22:52 2004.03.04 18:40 Cyberia Trader1.9 R2.2 AlertEuro EURUSDm,H1: Hour: 18 Minute: 40
ejecuta esto en un gráfico de una hora y captura los datos. luego envíame el archivo .txt del bloc de notas por correo electrónico ¿quizás si islandhome empezara en la primera orden e hiciera las primeras 500 traeds de 2005 y AZBOfin empezara con la trade 500 de 2005 y hiciera las siguientes 500?
ah! bollay eso. dejame probar lo que el gurú del codificador acaba de publicar.
Dale un vistazo a este hilo: https://www.mql5.com/en/forum/175496
wow usted puede tener sólo me salvó un montón de problemas aquí ...
podría mirar el EA que he publicado y ver donde estoy tratando de imprimir a un archivo en 4 lugares en el código. Dos veces donde se abre órdenes y luego en funciones separadas cuando se cierra órdenes. ¿Ves lo que estoy tratando de extraer de esto? ¿Podríais ayudarme a codificar esto para que registre la información de cada orden, la lógica del programa cuando abre y el resultado cuando cierra la orden?
si hago este fileflush después de cada vez ¿se borrará algo? Sigo sin entender cómo funciona lo del flush.
¡Eureka! ¡Oh, tío, gracias gurú de la codificación, buen rescate!
Ahora estoy un poco desconcertado aquí... observe el archivo .txt no está imprimiendo una línea de resultado para cada orden. ¿por qué se salta eso para algunas órdenes me pregunto?
¿Puedo suponer que si no imprime la línea de resultado es que es una posición perdedora?
Nunca vas a poder descifrar esos datos en ese formato, necesitas que estén en filas, intenta incorporar estas.
Todavía estoy teniendo un problema con él diciendo demasiados archivos están abiertos ... pero aquí está la forma básica de su dumpp necesita ser formados para que pueda ver en Excel
//LOGIC FOR HEADER OF FILE - creates the header labels for the rows in the CSV file
string fileName = Symbol() + "-" + TimeToStr(LocalTime(), TIME_DATE) + " " + TimeHour(LocalTime()) + "-" + TimeMinute(LocalTime()) + ".csv";
File = FileOpen(fileName, FILE_CSV|FILE_WRITE, ',');
if (FileWrite(File, Symbol(),"DATETIME","Lots","Bid","SlipPage","StopLoss","TakeProfit","MagicNumber",
"SellPossibilityMid*SellPossibilityQuality",
"BuyPossibilityMid*BuyPossibilityQuality",
"UndefinedPossibilityMid*UndefinedPossibilityQuality",
"UndefinedSucPossibilityQuality",
"SellSucPossibilityQuality",
"BuySucPossibilityQuality",
"UndefinedPossibilityQuality",
"SellPossibilityQuality",
"BuyPossibilityQuality",
"UndefinedSucPossibilityMid",
"SellSucPossibilityMid",
"BuySucPossibilityMid",
"UndefinedPossibilityMid",
"SellPossibilityMid",
"BuyPossibilityMid",
"Decision" ) < 0)
{
PrintError();
return (Error);
}
//LOGIC FOR APPEND OF FILEWRITE - Writes the rows of data
//Record statistics at time of Order - Added by DudeWorks
void RecordTickets ()
{
if (Error > 0)
return (Error); //stop on error
FileSeek(File,0,SEEK_END);
if (FileWrite(File, Symbol(),TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS),Lots,Bid,SlipPage,StopLoss,TakeProfit,MagicNumber,
SellPossibilityMid*SellPossibilityQuality,
BuyPossibilityMid*BuyPossibilityQuality,
UndefinedPossibilityMid*UndefinedPossibilityQuality,
UndefinedSucPossibilityQuality,
SellSucPossibilityQuality,
BuySucPossibilityQuality,
UndefinedPossibilityQuality,
SellPossibilityQuality,
BuyPossibilityQuality,
UndefinedSucPossibilityMid,
SellSucPossibilityMid,
BuySucPossibilityMid,
UndefinedPossibilityMid,
SellPossibilityMid,
BuyPossibilityMid,
Decision) < 0)
{
PrintError();
return (Error);
}
FileFlush(File);
return(0);
}
Nunca vas a poder descifrar esos datos en ese formato, necesitas que estén en filas, intenta incorporar estas.
Sigo teniendo el problema de que dice que hay demasiados archivos abiertos... pero aquí está la forma básica en que su dumpp necesita ser formateado para que pueda verlo en Excel
//LOGIC FOR HEADER OF FILE - creates the header labels for the rows in the CSV file
string fileName = Symbol() + "-" + TimeToStr(LocalTime(), TIME_DATE) + " " + TimeHour(LocalTime()) + "-" + TimeMinute(LocalTime()) + ".csv";
File = FileOpen(fileName, FILE_CSV|FILE_WRITE, ',');
if (FileWrite(File, Symbol(),"DATETIME","Lots","Bid","SlipPage","StopLoss","TakeProfit","MagicNumber",
"SellPossibilityMid*SellPossibilityQuality",
"BuyPossibilityMid*BuyPossibilityQuality",
"UndefinedPossibilityMid*UndefinedPossibilityQuality",
"UndefinedSucPossibilityQuality",
"SellSucPossibilityQuality",
"BuySucPossibilityQuality",
"UndefinedPossibilityQuality",
"SellPossibilityQuality",
"BuyPossibilityQuality",
"UndefinedSucPossibilityMid",
"SellSucPossibilityMid",
"BuySucPossibilityMid",
"UndefinedPossibilityMid",
"SellPossibilityMid",
"BuyPossibilityMid",
"Decision" ) < 0)
{
PrintError();
return (Error);
}
//LOGIC FOR APPEND OF FILEWRITE - Writes the rows of data
//Record statistics at time of Order - Added by DudeWorks
void RecordTickets ()
{
if (Error > 0)
return (Error); //stop on error
FileSeek(File,0,SEEK_END);
if (FileWrite(File, Symbol(),TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS),Lots,Bid,SlipPage,StopLoss,TakeProfit,MagicNumber,
SellPossibilityMid*SellPossibilityQuality,
BuyPossibilityMid*BuyPossibilityQuality,
UndefinedPossibilityMid*UndefinedPossibilityQuality,
UndefinedSucPossibilityQuality,
SellSucPossibilityQuality,
BuySucPossibilityQuality,
UndefinedPossibilityQuality,
SellPossibilityQuality,
BuyPossibilityQuality,
UndefinedSucPossibilityMid,
SellSucPossibilityMid,
BuySucPossibilityMid,
UndefinedPossibilityMid,
SellPossibilityMid,
BuyPossibilityMid,
Decision) < 0)
{
PrintError();
return (Error);
}
FileFlush(File);
return(0);
}
eso no es un problema para mí.
la función de importación de datos externos en excel lo pone en filas bastante bien. sólo dile que está delimitado por ";" El reto que me gustaría conseguir con el formato es que no está imprimiendo una línea de resultado para las posiciones perdidas. Esto significa que los datos en las filas no son los mismos para cada orden lo que hace difícil diseñar un identificador que reconozca las entradas perdedoras. ahora mismo puedo separar los datos ganadores del resto bien, tal vez eso sea suficiente, creo que puedo trabajar con lo que tengo, pero no tengo datos de indicadores en esto todavía.
Mira esto...le he dado a esta cosa su propia función ahora para guardar la línea de resultado de la operación perdedora y TODAVÍA no imprime la línea???? oy, vamos una línea ¿es mucho pedir?
{
//OrderSelect(OrderTicket(),SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
{
if(OrderType()==OP_BUY)
{
if(OrderOpenPrice() + Spread >= OrderClosePrice())
{
datetime blorderOpen=OrderOpenTime();
handle = FileOpen("Cyberia.txt",FILE_READ|FILE_WRITE);
if(handle!=-1)
{
FileSeek(handle,0,SEEK_END);
FileWrite(handle,"Losing Long OrderTicket: ",OrderTicket()," Opened @: ",OrderOpenPrice()," Closed @: ",OrderClosePrice()," Order Open Time: ",blorderOpen);
FileWrite(handle," ");
Print("Recorded Losing Long ",OrderTicket()," Opened: ",OrderOpenPrice()," Closed: ", Bid);
FileFlush(handle);
FileClose(handle);
}
else
{
int err1;
err1=GetLastError();
Print("error(",err1,"): ",ErrorDescription(err1));
return(0);
}
}//if win or lose
}//if buy
}//if symbol and magic number
return (0);
}//record long outcomes[/PHP]
what gives???
see this? this works fine...
[PHP]void RecordLongOutcomes()
{
//OrderSelect(OrderTicket(),SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
{
if(OrderType()==OP_BUY)
{
if(OrderOpenPrice() + Spread < OrderClosePrice())
{
datetime borderOpen=OrderOpenTime();
handle = FileOpen("Cyberia.txt",FILE_READ|FILE_WRITE);
if(handle!=-1)
{
FileSeek(handle,0,SEEK_END);
FileWrite(handle,"Winning Long OrderTicket: ",OrderTicket()," Opened @: ",OrderOpenPrice()," Closed @: ",OrderClosePrice()," Order Open Time: ",borderOpen);
FileWrite(handle," ");
Print("Recorded Winning Long ",OrderTicket()," Opened: ",OrderOpenPrice()," Closed: ", Bid);
FileFlush(handle);
FileClose(handle);
}
else
{
int err;
err=GetLastError();
Print("error(",err,"): ",ErrorDescription(err));
//return(0);
}
}//if win or lose
}//if buy
}//if symbol and magic number
RecordLongLOutcomes();
return (0);
}//record long outcomes¡Es el mismo código! (prácticamente) ¡Este lenguaje mql es increíblemente temperamental!
hola Aaragorn
por favor, suba el mejor archivo de conjunto
para el ciber
tnx
bye
hola Aaragorn
por favor, suba el mejor archivo de conjunto
para el ciber
tnx
adiósestá en este...
https://www.mql5.com/en/forum/174700/page71