Página 1 de 1
Exportar trades de Mt4 a MSA
Publicado: 03 Oct 2016 13:34
por Xavi
Buenos dias.
Os queria consultar como haceis vosotros para exportar las operaciones de MT4 a MSA(Market System Analyzer).
Si existe por ahi algun script o algo, que te genere el txt o fichero ya formateado a lo que espera MSA.
Me estoy iniciando en ese tema y lo que hago ahora mismo es un poco a la brava y "chapucero".
Hago el backtest correspondiente en MT4, voy a la pestaña de Resultados, la copio a excel ahi copio la columna de beneficios (Profit/lost) a un fichero txt, ahi reemplazo los "." por ",", ya que el msa estara en otra codificación...
Y ahi ya puedo importarlo en el MSA.
Pero claro un poco jaleo todo esto, y eso que solo hablamos de una columna, ya cuando quiero poner las fechas y posiciones...mas jaleo con los formatos sobretodo el de fechas que por lo que veo el MSA esta esperando mm/dd/yyyy.
Saludos.
Re: Exportar trades de Mt4 a MSA
Publicado: 05 Oct 2016 08:05
por Rango Starr
.
Re: Exportar trades de Mt4 a MSA
Publicado: 05 Oct 2016 10:44
por Xavi
Buenas Rango.
Al final lo automatice un poco yo mismo.
Queria generar un script a parte pero no se como ejecutarlo sobre los resultados del backtest.
Os lo comparto por si a alguien le sirve, es una funcion que debe ejecutarse en el EA cada vez que finaliza una orden.
void ESTRATEGIA_FIC_DEBUG(int EntTicket)
{
string SEPARADOR = "\t"; // Tabulación
FicHandle=FileOpen(Symbol() + "_DEBUG_MSA.TXT",FILE_TXT|FILE_READ|FILE_WRITE,";");
FileSeek(FicHandle,0,SEEK_END);
if(OrderSelect(EntTicket,SELECT_BY_TICKET,MODE_HISTORY)==true)
{
string BENEFICIO = DoubleToString(NormalizeDouble(OrderProfit(),2),2);
StringReplace(BENEFICIO,".",",");
string TRADE_TIPO = "";
string LOTAJE = DoubleToString(NormalizeDouble(OrderLots(),2),2);
string PRECIO_ENT = DoubleToString(NormalizeDouble(OrderOpenPrice(),2),2);
string PRECIO_SAL = DoubleToString(NormalizeDouble(OrderClosePrice(),2),2);
StringReplace(LOTAJE,".",",");
StringReplace(PRECIO_ENT,".",",");
StringReplace(PRECIO_SAL,".",",");
if(OrderType() == 0){TRADE_TIPO = "long";};
if(OrderType() == 1){TRADE_TIPO = "short";};
string FECHA_ENT = IntegerToString(TimeDay(OrderOpenTime()),2,'0') + "/" +
IntegerToString(TimeMonth(OrderOpenTime()),2,'0') + "/" +
IntegerToString(TimeYear(OrderOpenTime()),4,'0') ;
string ENT_TIME = IntegerToString(TimeHour(OrderOpenTime()),2,'0') + ":" +
IntegerToString(TimeMinute(OrderOpenTime()),2,'0') + ":" +
IntegerToString(TimeSeconds(OrderOpenTime()),2,'0') ;
string FECHA_SAL = IntegerToString(TimeDay(OrderCloseTime()),2,'0') + "/" +
IntegerToString(TimeMonth(OrderCloseTime()),2,'0') + "/" +
IntegerToString(TimeYear(OrderCloseTime()),4,'0') ;
string SAL_TIME = IntegerToString(TimeHour(OrderCloseTime()),2,'0') + ":" +
IntegerToString(TimeMinute(OrderCloseTime()),2,'0') + ":" +
IntegerToString(TimeSeconds(OrderCloseTime()),2,'0') ;
FileWrite(FicHandle,
(string)EntTicket + SEPARADOR +
FECHA_ENT + " " +
ENT_TIME + SEPARADOR +
FECHA_SAL + " " +
SAL_TIME + SEPARADOR +
TRADE_TIPO + SEPARADOR +
LOTAJE + SEPARADOR +
/*
PRECIO_ENT + SEPARADOR +
PRECIO_SAL + SEPARADOR +
*/
BENEFICIO + SEPARADOR
/*
DoubleToString(AccountBalance(),2) + SEPARADOR
*/
);
}
FileClose(FicHandle);
}
Esto generaria un fichero .txt el cual ya formateado para importar en MSA.
Saludos.
Re: Exportar trades de Mt4 a MSA
Publicado: 05 Oct 2016 12:54
por X-Trader
Excelente aporte Xavi, gracias por compartir. Yo estaba pensando en buscar algún editor de texto avanzado que permitiese generar scripts para automatizar la tarea pero veo que con MQL4 también se puede hacer un buen trabajo
Saludos,
X-Trader
Re: Exportar trades de Mt4 a MSA
Publicado: 05 Oct 2016 13:04
por Xavi
Buenas.
Yo es que soy muy "vago" y todo lo que sea programar y automatizar tareas...
De todas formas ahi estan las columnas basicas, pero ya veis que facilmente se pueden agregar las que se quieran y nos proporcione la orden, como precio de entrara y salida, stops loss...que creo que tambien acepta MSA.
Luego tambien estoy mirando de como lanzar un script sobre los resultados del backtest, asi tenerlo independiente del EA...
Ya vamos comentando.
Saludos.