Me Gusta y Comparto
Get Adobe Flash player

Street Smart Forex Automatizado

Ver el tema anterior Ver el tema siguiente Ir abajo

Street Smart Forex Automatizado

Mensaje  antoniomm91 el Sáb Ene 19, 2013 10:09 am

Siguiendo la línea de mi primer aporte Sistema EMM Automatizado escribí éste código basado en el sistema Street Smart Forex.

Como siempre son libres de modificar el código, corregirlo y mejorarlo... Sólo recuerden publicar los cambios exitosos para que mantengamos actualizado el sistema.

Código:

Código:
//+------------------------------------------------------------------+
//|                                                      SSForex.mq4 |
//|                                                      Tony Martin |
//|                              http://www.crearnegociovirtual.com |
//+------------------------------------------------------------------+
#property copyright "Tony Martin"
#property link      "http://www.crearnegociovirtual.com"
//--- Parámetros de entrada
int      Operacion;      //Tipo de operación
int init()
  {
      double PDHPrice;      //Precio máximo del día anterior
      double PDLPrice;      //Precio mínimo del día anterior
      double PDClose;        //Precio de cierre del día anterior
      double PivotPoint;    //Punto Pivote
      double R1;            //Nivel 1 de Resistencia para hoy
      double R2;            //Nivel 2 de Resistencia para hoy
      double S1;            //Nivel 1 de Soporte para hoy
      double S2;            //Nivel 2 de Soporte para hoy
      PDHPrice  = iHigh(Symbol(), PERIOD_D1, 1);        //Determinar preico máximo del día anterior
      PDLPrice  = iLow(Symbol(), PERIOD_D1, 1);        //Determinar precio mínimo del día anterior
      PDClose    = iClose(Symbol(), PERIOD_D1, 1);      //Determinar precio de cierre del día anterior
      PivotPoint = (PDHPrice + PDLPrice + PDClose) / 3;  //Determinar punto pivote
      R1        = (PivotPoint * 2) - PDLPrice;          //Determinar punto 1 de resistencia para hoy
      R2        = PivotPoint + (PDHPrice - PDLPrice);  //Determinar punto 2 de resistencia para hoy
      S1        = (PivotPoint * 2) - PDHPrice;          //Determinar nivel 1 de soporte para hoy
      S2        = PivotPoint - (PDHPrice - PDLPrice);  //Determinar nivel 2 de soporte para hoy
      ObjectCreate("Resistencia 1", OBJ_HLINE, 0, Time[100], R1, Time[0], R1); //Dibujar línea de Resistencia 1
      ObjectCreate("Resistencia 2", OBJ_HLINE, 0, Time[100], R2, Time[0], R2); //Dibujar línea de Resistencia 2
      ObjectCreate("Soporte 1",    OBJ_HLINE, 0, Time[100], S1, Time[0], S1); //Dibujar línea de Soporte 1
      ObjectCreate("Soporte 2",    OBJ_HLINE, 0, Time[100], S2, Time[0], S2); //Dibujar línea de Soporte 2
      return(0);
  }

int start()
  {
      double imaInicio;              //Precio inicial del Moving Average
      double imaFin;                //Precio final del Moving Average
      if(MercadoLateral() == false)  //Si el movimiento del mercado no es lateral iniciamos el proceso
      {
        imaInicio = iMA(Symbol(), PERIOD_M5, 150, 0, MODE_EMA, PRICE_CLOSE, 12); //Determina el valor del MovAvg hace 1 hora
        imaFin    = iMA(Symbol(), PERIOD_M5, 150, 0, MODE_EMA, PRICE_CLOSE, 0);  //Determina el valor del MovAvg actual
        double MovAvg = imaInicio - imaFin;                                      //Calcula la diferencia del valor
        if (MovAvg > 0)                                                          //Determina si la tendencia es BULL o BEAR
            Operacion = OP_SELL;    //Si el mercado baja la operación es de venta
        else
            Operacion = OP_BUY;    //Si el mercado sube la operación es de compra
        while(CompraVenta() == false)
            {
              //Esperar por una señal de compra según MACD y RSI
              RefreshRates();
            }
      }
      return(0);
  }
 
bool MercadoLateral()
  {
      bool  SideMarket; //Mercado Lateral
      double TwoHLow;    //Precio máximo de las últimas dos horas
      double TwoHHigh;  //Precio mínimo de las últimas dos horas
      double pips;      //Pips
      TwoHLow = iLow(Symbol(), PERIOD_H1 , 2);    //Precio Mínimo hace 2 horas
      if(TwoHLow > iLow(Symbol(), PERIOD_H1 , 1))  //Comprar el mínimo de hace dos horas con el mínimo de la última hora
        TwoHLow = iLow(Symbol(), PERIOD_H1 , 1);  //Determinar precio mínimo en las últimas 2 horas
      TwoHHigh = iHigh(Symbol(), PERIOD_H1, 1);    //Precio Máximo hace 2 horas
      if(TwoHHigh < iHigh(Symbol(), PERIOD_H1, 2)) //Comprar el máximo de hace dos horas con el máximo de la última hora
        TwoHHigh = iHigh(Symbol(), PERIOD_H1, 2); //Determinar precio máximo en las últimas 2 horas
      pips = (TwoHHigh - TwoHLow);                //Determinar la diferencia del precio mínimo y máximo
      pips = pips * (MathPow(10, Digits));        //Calcular la diferencia en pips.
     
      if(Digits < 4)                              //Cuando son más de 4 dígitos se debe corregir la diferencia
        if(pips > 35)                            //Determinar si el movimiento del mercado
            SideMarket = false;                    //es lateral.
        else                                      //Se considera mercado lateral cuando
            SideMarket = true;                    //la diferencia en pips entre el precio máximo
      else                                        //y el precio mínimo en las últimas  horas
        if(pips > 350)                            //es de menos de 35 pips
            SideMarket = false;                    //en caso de trabajar con más de 4 dígitos
        else                                      //la diferencia debe ser de más de 350 pips
            SideMarket = true;                    //para que no se considere como un mercado lateral.
      return(SideMarket);                          //Si el mercado se considera lateral se devuelve TRUE.
  }

bool CompraVenta()
  {
      double MacdCurrent, MacdPrevious, SignalCurrent, SignalPrevious;
      MacdCurrent    = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_MAIN, 0);  //Obtener el valor actual de la linea base MACD
      MacdPrevious  = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_MAIN, 1);  //Obtener el valor anterior de la linea base MACD
      SignalCurrent  = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_SIGNAL, 0); //Obtener el valor actual de la linea de señal MACD
      SignalPrevious = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_SIGNAL, 1); //Obtener el valor anterior de la linea de señal MACD
      if (Operacion == OP_BUY)
        { //Si la tendencia es al alza, se busca una señal de compra en el MACD
            if((MacdPrevious < SignalPrevious) && (MacdCurrent > SignalCurrent)
                                                && (MacdCurrent > 3 || MacdCurrent < -3)
                                                && (iRSI(NULL, PERIOD_M5, 14, PRICE_CLOSE, 0) > 60))
              {
                  Alert("SSForex - Oportunidad de compra: ", Symbol()); //Informar al usuario
                  Alert("StopLoss sugerido. ",  Ask - (30 * Point));  //StopLoss de 30 pips
                  Alert("TakeProfit sugerido. ", Ask + (30 * Point));  //TakeProfit de 30 pips
                  return(true);                                        //Al obtener la señal de compra la función es TRUE
              }
        }
      else
        {  //Si la tendencia es a la baja se busca una señal de venta en el MACD
            if((MacdPrevious > SignalPrevious) && (MacdCurrent < SignalCurrent)
                                              && (MacdCurrent > 3 || MacdCurrent < -3)
                                              && (iRSI(NULL, PERIOD_M5, 14, PRICE_CLOSE, 0) < 40))
              {
                  Alert("SSForex - Oportunidad de venta: ", Symbol()); //Informar al usuario
                  Alert("StopLoss sugerido. ",  Bid + (30 * Point));  //StopLoss de 30 pips
                  Alert("TakeProfit sugerido. ", Bid - (30 * Point));  //TakeProfit de 30 pips
                  return(true);                                        //Al obtener la señal de venta la función es TRUE
              }
        }
      return(false);  //Mientras no se obtenga una señal en el MACD la funcion es FALSE*/
  }

Al igual que mi primer aporte, ESTE EA NO ABRE OPERACIONES AUTOMÁTICAMENTE sólo alerta al usuario para que tome una decisión.

Al inicar, el sistema coloca sobre la gráfica soportes y resistencias calculadas según la fórmula del sistema Street Smart Forex que se puede encontrar en este mismo foro.

Por otro lado, hice una plantilla gráfica cuyo código es:

Código:
<chart>
symbol=US.30
period=5
leftpos=4650
digits=0
scale=4
graph=1
fore=0
grid=1
volume=0
scroll=1
shift=0
ohlc=1
askline=0
days=0
descriptions=0
shift_size=20
fixed_pos=0
window_left=284
window_top=0
window_right=568
window_bottom=86
window_type=3
background_color=16777215
foreground_color=0
barup_color=0
bardown_color=0
bullcandle_color=65280
bearcandle_color=255
chartline_color=65280
volumes_color=3329330
grid_color=16711680
askline_color=255
stops_color=255

<window>
height=105
<indicator>
name=main
<object>
type=1
object_name=Resistencia 1
period_flags=0
create_time=1352681329
color=255
style=0
weight=1
background=0
value_0=12884.333333
</object>
<object>
type=1
object_name=Resistencia 2
period_flags=0
create_time=1352681329
color=255
style=0
weight=1
background=0
value_0=12989.666667
</object>
<object>
type=1
object_name=Soporte 1
period_flags=0
create_time=1352681329
color=255
style=0
weight=1
background=0
value_0=12719.333333
</object>
<object>
type=1
object_name=Soporte 2
period_flags=0
create_time=1352681329
color=255
style=0
weight=1
background=0
value_0=12659.666667
</object>
</indicator>
<indicator>
name=Moving Average
period=20
shift=0
method=1
apply=0
color=255
style=0
weight=2
period_flags=0
show_data=1
</indicator>
<indicator>
name=Moving Average
period=150
shift=0
method=1
apply=0
color=0
style=0
weight=2
period_flags=0
show_data=1
</indicator>
</window>

<window>
height=52
<indicator>
name=MACD
fast_ema=12
slow_ema=26
macd_sma=9
apply=0
color=0
style=0
weight=1
signal_color=255
signal_style=0
signal_weight=1
levels_color=12632256
levels_style=0
levels_weight=1
level_0=3.0000
level_1=-3.0000
period_flags=0
show_data=1
</indicator>
</window>

<window>
height=43
<indicator>
name=Relative Strength Index
period=14
apply=0
color=16748574
style=0
weight=1
min=0.000000
max=100.000000
levels_color=0
levels_style=0
levels_weight=1
level_0=40.0000
level_1=60.0000
period_flags=0
show_data=1
</indicator>
</window>

<expert>
name=SSForex
flags=343
window_num=0
</expert>
</chart>


Para usar esta plantilla, copia y pega este código en un nuevo archivo de texto y guárdalo con el nombre SSForex.tpl y colócalo en el directorio templates de tu plataforma MT4, reinicia tu plataforma y listo.

Saludos

antoniomm91
Soy Nuevito

Temas Temas : 20
Fecha de inscripción Fecha de inscripción : 20/10/2012
Localización Localización : Santiago, Chile

http://www.crearnegociovirtual.com

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  karl20 el Dom Ene 20, 2013 1:29 am

antoniomm91 escribió:Siguiendo la línea de mi primer aporte Sistema EMM Automatizado escribí éste código basado en el sistema Street Smart Forex.

Como siempre son libres de modificar el código, corregirlo y mejorarlo... Sólo recuerden publicar los cambios exitosos para que mantengamos actualizado el sistema.

Código:

Código:
//+------------------------------------------------------------------+
//|                                                      SSForex.mq4 |
//|                                                      Tony Martin |
//|                              http://www.crearnegociovirtual.com |
//+------------------------------------------------------------------+
#property copyright "Tony Martin"
#property link      "http://www.crearnegociovirtual.com"
//--- Parámetros de entrada
int      Operacion;      //Tipo de operación
int init()
  {
      double PDHPrice;      //Precio máximo del día anterior
      double PDLPrice;      //Precio mínimo del día anterior
      double PDClose;        //Precio de cierre del día anterior
      double PivotPoint;    //Punto Pivote
      double R1;            //Nivel 1 de Resistencia para hoy
      double R2;            //Nivel 2 de Resistencia para hoy
      double S1;            //Nivel 1 de Soporte para hoy
      double S2;            //Nivel 2 de Soporte para hoy
      PDHPrice  = iHigh(Symbol(), PERIOD_D1, 1);        //Determinar preico máximo del día anterior
      PDLPrice  = iLow(Symbol(), PERIOD_D1, 1);        //Determinar precio mínimo del día anterior
      PDClose    = iClose(Symbol(), PERIOD_D1, 1);      //Determinar precio de cierre del día anterior
      PivotPoint = (PDHPrice + PDLPrice + PDClose) / 3;  //Determinar punto pivote
      R1        = (PivotPoint * 2) - PDLPrice;          //Determinar punto 1 de resistencia para hoy
      R2        = PivotPoint + (PDHPrice - PDLPrice);  //Determinar punto 2 de resistencia para hoy
      S1        = (PivotPoint * 2) - PDHPrice;          //Determinar nivel 1 de soporte para hoy
      S2        = PivotPoint - (PDHPrice - PDLPrice);  //Determinar nivel 2 de soporte para hoy
      ObjectCreate("Resistencia 1", OBJ_HLINE, 0, Time[100], R1, Time[0], R1); //Dibujar línea de Resistencia 1
      ObjectCreate("Resistencia 2", OBJ_HLINE, 0, Time[100], R2, Time[0], R2); //Dibujar línea de Resistencia 2
      ObjectCreate("Soporte 1",    OBJ_HLINE, 0, Time[100], S1, Time[0], S1); //Dibujar línea de Soporte 1
      ObjectCreate("Soporte 2",    OBJ_HLINE, 0, Time[100], S2, Time[0], S2); //Dibujar línea de Soporte 2
      return(0);
  }

int start()
  {
      double imaInicio;              //Precio inicial del Moving Average
      double imaFin;                //Precio final del Moving Average
      if(MercadoLateral() == false)  //Si el movimiento del mercado no es lateral iniciamos el proceso
      {
        imaInicio = iMA(Symbol(), PERIOD_M5, 150, 0, MODE_EMA, PRICE_CLOSE, 12); //Determina el valor del MovAvg hace 1 hora
        imaFin    = iMA(Symbol(), PERIOD_M5, 150, 0, MODE_EMA, PRICE_CLOSE, 0);  //Determina el valor del MovAvg actual
        double MovAvg = imaInicio - imaFin;                                      //Calcula la diferencia del valor
        if (MovAvg > 0)                                                          //Determina si la tendencia es BULL o BEAR
            Operacion = OP_SELL;    //Si el mercado baja la operación es de venta
        else
            Operacion = OP_BUY;    //Si el mercado sube la operación es de compra
        while(CompraVenta() == false)
            {
              //Esperar por una señal de compra según MACD y RSI
              RefreshRates();
            }
      }
      return(0);
  }
 
bool MercadoLateral()
  {
      bool  SideMarket; //Mercado Lateral
      double TwoHLow;    //Precio máximo de las últimas dos horas
      double TwoHHigh;  //Precio mínimo de las últimas dos horas
      double pips;      //Pips
      TwoHLow = iLow(Symbol(), PERIOD_H1 , 2);    //Precio Mínimo hace 2 horas
      if(TwoHLow > iLow(Symbol(), PERIOD_H1 , 1))  //Comprar el mínimo de hace dos horas con el mínimo de la última hora
        TwoHLow = iLow(Symbol(), PERIOD_H1 , 1);  //Determinar precio mínimo en las últimas 2 horas
      TwoHHigh = iHigh(Symbol(), PERIOD_H1, 1);    //Precio Máximo hace 2 horas
      if(TwoHHigh < iHigh(Symbol(), PERIOD_H1, 2)) //Comprar el máximo de hace dos horas con el máximo de la última hora
        TwoHHigh = iHigh(Symbol(), PERIOD_H1, 2); //Determinar precio máximo en las últimas 2 horas
      pips = (TwoHHigh - TwoHLow);                //Determinar la diferencia del precio mínimo y máximo
      pips = pips * (MathPow(10, Digits));        //Calcular la diferencia en pips.
     
      if(Digits < 4)                              //Cuando son más de 4 dígitos se debe corregir la diferencia
        if(pips > 35)                            //Determinar si el movimiento del mercado
            SideMarket = false;                    //es lateral.
        else                                      //Se considera mercado lateral cuando
            SideMarket = true;                    //la diferencia en pips entre el precio máximo
      else                                        //y el precio mínimo en las últimas  horas
        if(pips > 350)                            //es de menos de 35 pips
            SideMarket = false;                    //en caso de trabajar con más de 4 dígitos
        else                                      //la diferencia debe ser de más de 350 pips
            SideMarket = true;                    //para que no se considere como un mercado lateral.
      return(SideMarket);                          //Si el mercado se considera lateral se devuelve TRUE.
  }

bool CompraVenta()
  {
      double MacdCurrent, MacdPrevious, SignalCurrent, SignalPrevious;
      MacdCurrent    = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_MAIN, 0);  //Obtener el valor actual de la linea base MACD
      MacdPrevious  = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_MAIN, 1);  //Obtener el valor anterior de la linea base MACD
      SignalCurrent  = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_SIGNAL, 0); //Obtener el valor actual de la linea de señal MACD
      SignalPrevious = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_SIGNAL, 1); //Obtener el valor anterior de la linea de señal MACD
      if (Operacion == OP_BUY)
        { //Si la tendencia es al alza, se busca una señal de compra en el MACD
            if((MacdPrevious < SignalPrevious) && (MacdCurrent > SignalCurrent)
                                                && (MacdCurrent > 3 || MacdCurrent < -3)
                                                && (iRSI(NULL, PERIOD_M5, 14, PRICE_CLOSE, 0) > 60))
              {
                  Alert("SSForex - Oportunidad de compra: ", Symbol()); //Informar al usuario
                  Alert("StopLoss sugerido. ",  Ask - (30 * Point));  //StopLoss de 30 pips
                  Alert("TakeProfit sugerido. ", Ask + (30 * Point));  //TakeProfit de 30 pips
                  return(true);                                        //Al obtener la señal de compra la función es TRUE
              }
        }
      else
        {  //Si la tendencia es a la baja se busca una señal de venta en el MACD
            if((MacdPrevious > SignalPrevious) && (MacdCurrent < SignalCurrent)
                                              && (MacdCurrent > 3 || MacdCurrent < -3)
                                              && (iRSI(NULL, PERIOD_M5, 14, PRICE_CLOSE, 0) < 40))
              {
                  Alert("SSForex - Oportunidad de venta: ", Symbol()); //Informar al usuario
                  Alert("StopLoss sugerido. ",  Bid + (30 * Point));  //StopLoss de 30 pips
                  Alert("TakeProfit sugerido. ", Bid - (30 * Point));  //TakeProfit de 30 pips
                  return(true);                                        //Al obtener la señal de venta la función es TRUE
              }
        }
      return(false);  //Mientras no se obtenga una señal en el MACD la funcion es FALSE*/
  }

Al igual que mi primer aporte, ESTE EA NO ABRE OPERACIONES AUTOMÁTICAMENTE sólo alerta al usuario para que tome una decisión.

Al inicar, el sistema coloca sobre la gráfica soportes y resistencias calculadas según la fórmula del sistema Street Smart Forex que se puede encontrar en este mismo foro.

Por otro lado, hice una plantilla gráfica cuyo código es:

Código:
<chart>
symbol=US.30
period=5
leftpos=4650
digits=0
scale=4
graph=1
fore=0
grid=1
volume=0
scroll=1
shift=0
ohlc=1
askline=0
days=0
descriptions=0
shift_size=20
fixed_pos=0
window_left=284
window_top=0
window_right=568
window_bottom=86
window_type=3
background_color=16777215
foreground_color=0
barup_color=0
bardown_color=0
bullcandle_color=65280
bearcandle_color=255
chartline_color=65280
volumes_color=3329330
grid_color=16711680
askline_color=255
stops_color=255

<window>
height=105
<indicator>
name=main
<object>
type=1
object_name=Resistencia 1
period_flags=0
create_time=1352681329
color=255
style=0
weight=1
background=0
value_0=12884.333333
</object>
<object>
type=1
object_name=Resistencia 2
period_flags=0
create_time=1352681329
color=255
style=0
weight=1
background=0
value_0=12989.666667
</object>
<object>
type=1
object_name=Soporte 1
period_flags=0
create_time=1352681329
color=255
style=0
weight=1
background=0
value_0=12719.333333
</object>
<object>
type=1
object_name=Soporte 2
period_flags=0
create_time=1352681329
color=255
style=0
weight=1
background=0
value_0=12659.666667
</object>
</indicator>
<indicator>
name=Moving Average
period=20
shift=0
method=1
apply=0
color=255
style=0
weight=2
period_flags=0
show_data=1
</indicator>
<indicator>
name=Moving Average
period=150
shift=0
method=1
apply=0
color=0
style=0
weight=2
period_flags=0
show_data=1
</indicator>
</window>

<window>
height=52
<indicator>
name=MACD
fast_ema=12
slow_ema=26
macd_sma=9
apply=0
color=0
style=0
weight=1
signal_color=255
signal_style=0
signal_weight=1
levels_color=12632256
levels_style=0
levels_weight=1
level_0=3.0000
level_1=-3.0000
period_flags=0
show_data=1
</indicator>
</window>

<window>
height=43
<indicator>
name=Relative Strength Index
period=14
apply=0
color=16748574
style=0
weight=1
min=0.000000
max=100.000000
levels_color=0
levels_style=0
levels_weight=1
level_0=40.0000
level_1=60.0000
period_flags=0
show_data=1
</indicator>
</window>

<expert>
name=SSForex
flags=343
window_num=0
</expert>
</chart>


Para usar esta plantilla, copia y pega este código en un nuevo archivo de texto y guárdalo con el nombre SSForex.tpl y colócalo en el directorio templates de tu plataforma MT4, reinicia tu plataforma y listo.

Saludos

Hola antoniomm91 gracias por el aporte. Me gustaria saber en donde aprendiste o estudiaste para programar pues estoy interesado en aprender a programar indicadores y expert advisors.

Por otra parte he obtenido un sistema que me parece bastante interesante y confiable.Tengo el expert, pero cuando reconoce que debe abrir una operacion pide una confirmacion del usuario, el asunto esta en que uno no puede estar las 24 horas frente al pc para confirmar que abra cada operacion.Pues me gustaria si puedes modificarle el codigo o decirme cuales lineas agregar o quitar para que el expert por si mismo abra las operaciones y no solicite antes una confirmacion por parte del usuario, es decir, terminar de automatizarlo. Gracias

karl20
Cazador avanzado

Temas Temas : 325
Fecha de inscripción Fecha de inscripción : 05/08/2011

Volver arriba Ir abajo

Es un problema de configuración de tu plataforma

Mensaje  antoniomm91 el Dom Ene 20, 2013 2:51 pm

Hola Karl,

Yo soy programador de computadoras desde hace más de 15 años y ya dominaba desde hace mucho tiempo el lenguaje C, así que no fue nada difícil aprender MQL4 porque está basado en C. Sin embargo, aprender MQL4 tampoco es complicado porque es un lenguaje bastante reducido (desde mi punto de vista) debido a que es dedicado a un sólo propósito.

Hay muchos manuales de MQL4 y creo que la mejor manera de aprender es utilizando y modificando el código de experts existentes. Te deseo mucho éxito en tu aprendizaje.

Respecto al expert que estás usando, lo más seguro es que te esté pidiendo confirmación porque la configuración de fábrica del MT4 es así, sólo abrir las opciones y hacer lo siguiente:



En caso de que esto no te funcione, entonces sí hay que modificar el código, en cuyo caso lo podrías publicar y lo revisamos.

Un abrazo!

antoniomm91
Soy Nuevito

Temas Temas : 20
Fecha de inscripción Fecha de inscripción : 20/10/2012
Localización Localización : Santiago, Chile

http://www.crearnegociovirtual.com

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  karl20 el Dom Ene 20, 2013 9:38 pm

antoniomm91 escribió:Hola Karl,

Yo soy programador de computadoras desde hace más de 15 años y ya dominaba desde hace mucho tiempo el lenguaje C, así que no fue nada difícil aprender MQL4 porque está basado en C. Sin embargo, aprender MQL4 tampoco es complicado porque es un lenguaje bastante reducido (desde mi punto de vista) debido a que es dedicado a un sólo propósito.

Hay muchos manuales de MQL4 y creo que la mejor manera de aprender es utilizando y modificando el código de experts existentes. Te deseo mucho éxito en tu aprendizaje.

Respecto al expert que estás usando, lo más seguro es que te esté pidiendo confirmación porque la configuración de fábrica del MT4 es así, sólo abrir las opciones y hacer lo siguiente:



En caso de que esto no te funcione, entonces sí hay que modificar el código, en cuyo caso lo podrías publicar y lo revisamos.

Un abrazo!


Hola Antonio tengo las opciones habilitadas y las sub-opciones desahibilitadas, como las demas ea`s que he probado. Pues aqui te envio el enlace donde subi el codigo original [Tienes que estar registrado y conectado para ver este vínculo] la clave es: cazadorpips y muchas gracias por la ayuda. Saludos

karl20
Cazador avanzado

Temas Temas : 325
Fecha de inscripción Fecha de inscripción : 05/08/2011

Volver arriba Ir abajo

Elimina la línea donde se pregunta al usuario

Mensaje  antoniomm91 el Lun Ene 21, 2013 9:04 pm

Hola, disculpa la demora pero estuve con problemas técnicos en mi PC, tuve que formatear y reinstalar todo.

Para eliminar la confirmación ten en cuenta lo siguiente:

Código:
li_0 = MessageBox("Make Buy Order " + DoubleToStr(f0_2(), 2) + " Lot", "Buy Signal    " + TimeToStr(TimeCurrent()), MB_OKCANCEL|MB_ICONHAND);

Esta línea de código almacena la respuesta del usuario en la variable "li_0"

Si te fijas en la siguiente línea el sistema verifica si el usuario ha respondido positivamente.:

Código:
if (li_0 == IDOK && f0_0() == 0) {

La forma más fácil de cambiar el código sin alterar demasiado y sin complicar el código es comentar la primera línea (los comentarios se hacen colocando dos barras "//" antes de empezar la línea.

Quedará de ésta forma:

Código:
//li_0 = MessageBox("Make Buy Order " + DoubleToStr(f0_2(), 2) + " Lot", "Buy Signal    " + TimeToStr(TimeCurrent()), MB_OKCANCEL|MB_ICONHAND);

Y en la próxima línea pones lo siguiente:

Código:
li_0 = IDOK;

Y eso sería todo... recuerda repetir lo mismo para las órdenes de venta:

Código:
//li_0 = MessageBox("Make Sell Order " + DoubleToStr(f0_2(), 2) + " Lot", "Sell Signal    " + TimeToStr(TimeCurrent()), MB_OKCANCEL|MB_ICONHAND);
li_0 = IDOK;

Si tienes dudas escríbeme que con gusto te respondo.

Saludos y espero que te ayude.

antoniomm91
Soy Nuevito

Temas Temas : 20
Fecha de inscripción Fecha de inscripción : 20/10/2012
Localización Localización : Santiago, Chile

http://www.crearnegociovirtual.com

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  karl20 el Mar Ene 22, 2013 2:31 pm

Hola Antonio, gracias por la ayuda. Esta perfectamente explicado y perfectamente decompilado jejejeje. Ahora solo espero que ella de por si sola la orden de compra o de venta. Me doy cuenta que la forma en que lo explicas es la forma mas limpia, es decir, que altera en lo mas minimo el codigo original.

Ahora bien, retomo el tema acerca de aprender a programar mq4 y mq5. Que seria mejor para aprender a hacerlo: Tomar un curso corto (de meses), hacer una carrera tecnica de 2 o 3 años o hacer una licenciatura?. Ademas que institutos ya sea de formacion presencial (en aula) o a distancia (por internet) me podrias recomendar?....y muchas grazie


karl20
Cazador avanzado

Temas Temas : 325
Fecha de inscripción Fecha de inscripción : 05/08/2011

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  karl20 el Mar Ene 22, 2013 3:24 pm

y otra pregunta que se me ocurrio antonio. Es necesario saber lenguaje C, previamente para facilitar el estudio de mq4 y mq5, o se puede ir directamente a estudiar mq4 y mq5, sin pasar por lenguaje C?.Gracias y saludos.


karl20
Cazador avanzado

Temas Temas : 325
Fecha de inscripción Fecha de inscripción : 05/08/2011

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  tonyswl el Jue Ene 24, 2013 8:57 am

Como se usa eso !!!!! dash1 scratch metal2 !!! Es chino básico para mi!!!- apenas se encender la computadora mal ... dash1

TONY

tonyswl
Cazador Legendario

Temas Temas : 1722
Fecha de inscripción Fecha de inscripción : 08/06/2010
Localización Localización : Ciudad de Buenos Aires, Argentina

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  karl20 el Jue Ene 24, 2013 6:52 pm

tonyswl escribió:Como se usa eso !!!!! dash1 scratch metal2 !!! Es chino básico para mi!!!- apenas se encender la computadora mal ... dash1

TONY

Te lo paso por correo para que lo publiques, ya con el codigo modificado...me parece un ea estable y confiable.

karl20
Cazador avanzado

Temas Temas : 325
Fecha de inscripción Fecha de inscripción : 05/08/2011

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  tonyswl el Jue Ene 24, 2013 8:36 pm

Dale. mandamelo y lo subo.

Mail: [Tienes que estar registrado y conectado para ver este vínculo]

grazie TONY

tonyswl
Cazador Legendario

Temas Temas : 1722
Fecha de inscripción Fecha de inscripción : 08/06/2010
Localización Localización : Ciudad de Buenos Aires, Argentina

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  toni_nn el Vie Ene 25, 2013 10:14 am

No entiendo el código.

En primer lugar, el cálculo de los pivotes está en la función init(); eso significa que los calculará cuando se inicialice el experto (al cargarlo o al abrir la plataforma si ya está cargado) y ya no los actualizará más, con lo que el viernes estarás trabajando con los pivotes del lunes.

En segundo lugar, haces una llamada a la función Compraventa() mediante una función while, creando un bucle sin fin.

toni_nn
Cazador Activo

Temas Temas : 121
Fecha de inscripción Fecha de inscripción : 17/09/2011
Localización Localización : Cantabria-España

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  tonyswl el Sáb Ene 26, 2013 10:53 pm

karl20 escribió:
tonyswl escribió:Como se usa eso !!!!! dash1 scratch metal2 !!! Es chino básico para mi!!!- apenas se encender la computadora mal ... dash1

TONY

Te lo paso por correo para que lo publiques, ya con el codigo modificado...me parece un ea estable y confiable.

***********************************************************************************

GRACIAS karl20 -



ForexMagic Robot.zip
[Tienes que estar registrado y conectado para ver este vínculo]


brindar TONY

tonyswl
Cazador Legendario

Temas Temas : 1722
Fecha de inscripción Fecha de inscripción : 08/06/2010
Localización Localización : Ciudad de Buenos Aires, Argentina

Volver arriba Ir abajo

Sorry por la demora

Mensaje  antoniomm91 el Dom Ene 27, 2013 10:44 am

Hola Karl, disculpa la demora en la respuesta pero he etado muy ocupado en estos últimos días y no había tenido tiempo de revisar el foro.

No es necesario saber lenguaje C para aprender MQL4 o MQL5, lo mencioné porque ciertamente saber lenguaje C te facilita mucho el camino sobre todo por el tema de la sintaxis.

Sobre el mejor método para aprender depende mucho del alumno y de los conocimientos previos que tengas sobre programación de computadoras... Depende de tu método preferido de aprendizaje porque hay personas que son mejores autodidáctas que alumnos de un aula.

Es como tú te sientas más cómodo; sin embargo en mi humilde opinión personal, yo creo que aunque aprendas mucho y pases largo tiempo en un salón de clases (independientemente de la materia o el tema) el verdadero aprendizaje viene con la experiencia y lo que aprendes FUERA del salón de clases... Desde luego hay mucho valor en lo que te puede transmitir un profesor pero tu superación dependerá de lo que hagas por tu propia cuenta.

Sin importar el camino que tomes, te recomiendo altamente que busques información por tu cuenta y aprendas todo lo que puedas de otros programadores, inscríbete en foros, descarga información, lee y sigue tutoriales en línea (hay montones gratuitos) y si lo deseas toma algunas clases pagadas.

Hacer una licenciatura dependerá del propósito que tengas en tu aprendizaje; es decir, qué vas a hacer después? Vas a utilizar lo aprendido para tu propio provecho privado? (Hacer tus propios EA's, perfeccionar el código que encuentres y utilizarlo en tu plataforma de inversión, hacer sistemas para automatizar tus propios procesos, etc.) Porque si vas a trabajar "para tí" no necesitas un título ¿o sí? tú no te vas a exigir un título para "contratarte".

Pero si tu plan es emplearte, trabajar para una empresa, "buscar trabajo" entonces sí sería recomendable tener un título. Como te decía, todo depende de tus propósitos.

En todo caso te deseo éxito en tus proyectos.

Saludos!

antoniomm91
Soy Nuevito

Temas Temas : 20
Fecha de inscripción Fecha de inscripción : 20/10/2012
Localización Localización : Santiago, Chile

http://www.crearnegociovirtual.com

Volver arriba Ir abajo

Para toni_nn

Mensaje  antoniomm91 el Dom Ene 27, 2013 11:01 am

Hola Toni,

Tienes razón en que los pivotes, soporte y resistencia se calculan en el init, esto lo hice para no estar borrando y creando nuevas líneas en cada pip, sobre todo porque este cálculo de niveles sólo debe hacerse una vez al día. De cualquier forma para actualizar los pivotes sólo se debe cambiar momentáneamente el timeframe y luego volver a los 5 minutos; de esta forma la función init() se ejecutará nuevamente colocando los pivotes actualizados.

Claro que se puede perfeccionar y para eso está el código abierto, para que auqellos que saben programar le hagan las mejoras que consideren adecuadas.

Te invito a que (si lo deseas) contribuyas corrigiendo los problemas o deficiencias que le encuentres al código.

Te comento (sin intenciones de justificar errores) que este fue el primer programita que escribí cuando comencé a aprender MQL4 hace poco más de dos meses.

Respecto al "bucle infinito" si te fijas en el procedimiento verás que el bucle verifica si se cumplen las condiciones para alertar al usuario, de lo contrario simplemente espera al siguiente pip actualizando las cotizaciones.

Ciertamente no es necesario hacer la llamada en el bucle while porque igual se repite la función start en cada píp (pero no tenía claro este asunto al principio de mi aprendizaje y creía innecesario repetir los cáculos anteriores, por eso preferí mantener la ejecución en la parte baja hasta obtener una señal de compra-venta)

El verdadero problema del código es que se mantiene repitiendo el alerta durante los 5 minutos que dura la creación dela vela hasta el cierre. Así que incluí una modificación para verificar que ya se ha emitido un alerta para no hacerlo más de una vez en la misma vela.

A continuación el código corregido:

Código:
//+------------------------------------------------------------------+
//|                                                      SSForex.mq4 |
//|                                                      Tony Martin |
//|                              http://www.crearnegociovirtual.com |
//+------------------------------------------------------------------+
#property copyright "Tony Martin"
#property link      "http://www.crearnegociovirtual.com"
//--- Parámetros de entrada
int      Operacion;      //Tipo de operación
static bool    Alerted;
static datetime Tiempo;
int init()
  {
      double PDHPrice;      //Precio máximo del día anterior
      double PDLPrice;      //Precio mínimo del día anterior
      double PDClose;      //Precio de cierre del día anterior
      double PivotPoint;    //Punto Pivote
      double R1;            //Nivel 1 de Resistencia para hoy
      double R2;            //Nivel 2 de Resistencia para hoy
      double S1;            //Nivel 1 de Soporte para hoy
      double S2;            //Nivel 2 de Soporte para hoy
      PDHPrice  = iHigh(Symbol(), PERIOD_D1, 1);      //Determinar preico máximo del día anterior
      PDLPrice  = iLow(Symbol(), PERIOD_D1, 1);        //Determinar precio mínimo del día anterior
      PDClose    = iClose(Symbol(), PERIOD_D1, 1);      //Determinar precio de cierre del día anterior
      PivotPoint = (PDHPrice + PDLPrice + PDClose) / 3; //Determinar punto pivote
      R1        = (PivotPoint * 2) - PDLPrice;        //Determinar punto 1 de resistencia para hoy
      R2        = PivotPoint + (PDHPrice - PDLPrice);  //Determinar punto 2 de resistencia para hoy
      S1        = (PivotPoint * 2) - PDHPrice;        //Determinar nivel 1 de soporte para hoy
      S2        = PivotPoint - (PDHPrice - PDLPrice);  //Determinar nivel 2 de soporte para hoy
      ObjectCreate("Resistencia 1", OBJ_HLINE, 0, Time[100], R1, Time[0], R1); //Dibujar línea de Resistencia 1
      ObjectCreate("Resistencia 2", OBJ_HLINE, 0, Time[100], R2, Time[0], R2); //Dibujar línea de Resistencia 2
      ObjectCreate("Soporte 1",    OBJ_HLINE, 0, Time[100], S1, Time[0], S1); //Dibujar línea de Soporte 1
      ObjectCreate("Soporte 2",    OBJ_HLINE, 0, Time[100], S2, Time[0], S2); //Dibujar línea de Soporte 2
      Alerted        = false;
      Tiempo        = TimeCurrent();
      return(0);
  }

int start()
  {
      double imaInicio;            //Precio inicial del Moving Average
      double imaFin;                //Precio final del Moving Average
      if(MercadoLateral() == false) //Si el movimiento del mercado no es lateral iniciamos el proceso
      {
        imaInicio = iMA(Symbol(), PERIOD_M5, 150, 0, MODE_EMA, PRICE_CLOSE, 12); //Determina el valor del MovAvg hace 1 hora
        imaFin    = iMA(Symbol(), PERIOD_M5, 150, 0, MODE_EMA, PRICE_CLOSE, 0);  //Determina el valor del MovAvg actual
        double MovAvg = imaInicio - imaFin;                                      //Calcula la diferencia del valor
        if (MovAvg > 0)                                                          //Determina si la tendencia es BULL o BEAR
            Operacion = OP_SELL;    //Si el mercado baja la operación es de venta
        else
            Operacion = OP_BUY;    //Si el mercado sube la operación es de compra
        while(CompraVenta() == false)
            {
              //Esperar por una señal de compra según MACD y RSI
              RefreshRates();
            }
      }
      return(0);
  }
 
bool MercadoLateral()
  {
      bool  SideMarket; //Mercado Lateral
      double TwoHLow;    //Precio máximo de las últimas dos horas
      double TwoHHigh;  //Precio mínimo de las últimas dos horas
      double pips;      //Pips
      TwoHLow = iLow(Symbol(), PERIOD_H1, 2);      //Precio Mínimo hace 2 horas
      if(TwoHLow > iLow(Symbol(), PERIOD_H1, 1))  //Comprar el mínimo de hace dos horas con el mínimo de la última hora
        TwoHLow = iLow(Symbol(), PERIOD_H1, 1);    //Determinar precio mínimo en las últimas 2 horas
      TwoHHigh = iHigh(Symbol(), PERIOD_H1, 1);    //Precio Máximo hace 2 horas
      if(TwoHHigh < iHigh(Symbol(), PERIOD_H1, 2)) //Comprar el máximo de hace dos horas con el máximo de la última hora
        TwoHHigh = iHigh(Symbol(), PERIOD_H1, 2);  //Determinar precio máximo en las últimas 2 horas
      pips = (TwoHHigh - TwoHLow);                //Determinar la diferencia del precio mínimo y máximo
      pips = pips * (MathPow(10, Digits));        //Calcular la diferencia en pips.
      if(Digits < 4)                              //Cuando son más de 4 dígitos se debe corregir la diferencia
        if(pips > 35)                              //Determinar si el movimiento del mercado
            SideMarket = false;                    //es lateral.
        else                                      //Se considera mercado lateral cuando
            SideMarket = true;                    //la diferencia en pips entre el precio máximo
      else                                        //y el precio mínimo en las últimas  horas
        if(pips > 350)                            //es de menos de 35 pips
            SideMarket = false;                    //en caso de trabajar con más de 4 dígitos
        else                                      //la diferencia debe ser de más de 350 pips
            SideMarket = true;                    //para que no se considere como un mercado lateral.
      return(SideMarket);                          //Si el mercado se considera lateral se devuelve TRUE.
  }

bool CompraVenta()
  {
      if ((Alerted == false) && (Tiempo < (TimeCurrent() + (Period() * 60))))
        { 
            double MacdCurrent, MacdPrevious, SignalCurrent, SignalPrevious;
            MacdCurrent    = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_MAIN, 0);  //Obtener el valor actual de la linea base MACD
            MacdPrevious  = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_MAIN, 1);  //Obtener el valor anterior de la linea base MACD
            SignalCurrent  = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_SIGNAL, 0); //Obtener el valor actual de la linea de señal MACD
            SignalPrevious = iMACD(NULL, PERIOD_M5, 12, 26, 9, PRICE_CLOSE,MODE_SIGNAL, 1); //Obtener el valor anterior de la linea de señal MACD
            if (Operacion == OP_BUY)
              { //Si la tendencia es al alza, se busca una señal de compra en el MACD
                  if((MacdPrevious < SignalPrevious) && (MacdCurrent > SignalCurrent)
                                                    && (MacdCurrent > 3 || MacdCurrent < -3)
                                                    && (iRSI(NULL, PERIOD_M5, 14, PRICE_CLOSE, 0) > 60))
                    {
                        Alert("SSForex. Comprar ", Symbol(), " Precio: ", Bid, "/", Ask); //Informar al usuario
                        Alerted = true;
                        Tiempo = TimeCurrent();
                        return(true); //Al obtener la señal de compra la función es TRUE
                    }
              }
            else
              {  //Si la tendencia es a la baja se busca una señal de venta en el MACD
                  if((MacdPrevious > SignalPrevious) && (MacdCurrent < SignalCurrent)
                                                    && (MacdCurrent > 3 || MacdCurrent < -3)
                                                    && (iRSI(NULL, PERIOD_M5, 14, PRICE_CLOSE, 0) < 40))
                    {
                        Alert("SSForex. Vender: ", Symbol(), " Precio: ", Bid, "/", Ask); //Informar al usuario
                        Alerted = true;
                        Tiempo = TimeCurrent();
                        return(true); //Al obtener la señal de venta la función es TRUE
                    }
              }
            return(false); //Mientras no se obtenga una señal en el MACD la funcion es FALSE*/
        }     
  }

Una vez más te invito a corregir o contribuir con lo que consideres que se puede mejorar y te agradezco las observaciones.

Saludos!

antoniomm91
Soy Nuevito

Temas Temas : 20
Fecha de inscripción Fecha de inscripción : 20/10/2012
Localización Localización : Santiago, Chile

http://www.crearnegociovirtual.com

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  karl20 el Dom Ene 27, 2013 2:03 pm

antoniomm91 escribió:Hola Karl, disculpa la demora en la respuesta pero he etado muy ocupado en estos últimos días y no había tenido tiempo de revisar el foro.

No es necesario saber lenguaje C para aprender MQL4 o MQL5, lo mencioné porque ciertamente saber lenguaje C te facilita mucho el camino sobre todo por el tema de la sintaxis.

Sobre el mejor método para aprender depende mucho del alumno y de los conocimientos previos que tengas sobre programación de computadoras... Depende de tu método preferido de aprendizaje porque hay personas que son mejores autodidáctas que alumnos de un aula.

Es como tú te sientas más cómodo; sin embargo en mi humilde opinión personal, yo creo que aunque aprendas mucho y pases largo tiempo en un salón de clases (independientemente de la materia o el tema) el verdadero aprendizaje viene con la experiencia y lo que aprendes FUERA del salón de clases... Desde luego hay mucho valor en lo que te puede transmitir un profesor pero tu superación dependerá de lo que hagas por tu propia cuenta.

Sin importar el camino que tomes, te recomiendo altamente que busques información por tu cuenta y aprendas todo lo que puedas de otros programadores, inscríbete en foros, descarga información, lee y sigue tutoriales en línea (hay montones gratuitos) y si lo deseas toma algunas clases pagadas.

Hacer una licenciatura dependerá del propósito que tengas en tu aprendizaje; es decir, qué vas a hacer después? Vas a utilizar lo aprendido para tu propio provecho privado? (Hacer tus propios EA's, perfeccionar el código que encuentres y utilizarlo en tu plataforma de inversión, hacer sistemas para automatizar tus propios procesos, etc.) Porque si vas a trabajar "para tí" no necesitas un título ¿o sí? tú no te vas a exigir un título para "contratarte".

Pero si tu plan es emplearte, trabajar para una empresa, "buscar trabajo" entonces sí sería recomendable tener un título. Como te decía, todo depende de tus propósitos.

En todo caso te deseo éxito en tus proyectos.

Saludos!

Gracias antoniomm91!.Ciertmente quiero aprender mq4 y mq5 para desarrollar mis propios ea e indicadores y mejorar si es posible los que uso o he probado.

karl20
Cazador avanzado

Temas Temas : 325
Fecha de inscripción Fecha de inscripción : 05/08/2011

Volver arriba Ir abajo

ELABORAR UN EA CON LA ESTRATEGIA HEDGING

Mensaje  arcangelitok el Miér Feb 13, 2013 5:04 pm

ANTONIO!

AQUI EL FORO SE PUBLICÓ LA ESTRATEGIA HEDGING. LA HE PRACTICADO MANUALMENTE Y FUNCIONA, TÚ COMO CONOCES DE PROGRAMACIÓN SERÍA FANTÁSTICO QUE TE HICIERAS UN EA PARA AUTOMATIZAR LA ESTRATEGIA, CON LA CUAL SE GANA DE 10 OPERACIONES 8. TE AGRADECERÍA QUE CON TU CONOCIMIENTO NOS AYUDARAS A LA COMUNIDAD CON ESTA PROGRAMACION!

arcangelitok
Soy Nuevito

Temas Temas : 15
Fecha de inscripción Fecha de inscripción : 30/01/2012

Volver arriba Ir abajo

Publica el enlace

Mensaje  antoniomm91 el Miér Feb 20, 2013 10:50 pm

Hola arcangelitok, estuve buscando la estrategia que mencionas, pero veo que hay varios posts al respecto, ¿Podrías indicarme cuál es exactamente la estrategia que usas y cómo son las condiciones o poner un enlace al post? para ver si la puedo automatizar.
Saludos

antoniomm91
Soy Nuevito

Temas Temas : 20
Fecha de inscripción Fecha de inscripción : 20/10/2012
Localización Localización : Santiago, Chile

http://www.crearnegociovirtual.com

Volver arriba Ir abajo

Para automatizar la Estrategia HEADING

Mensaje  ricardou el Mar Mayo 28, 2013 11:25 pm

antoniomm91 escribió:Hola arcangelitok, estuve buscando la estrategia que mencionas, pero veo que hay varios posts al respecto, ¿Podrías indicarme cuál es exactamente la estrategia que usas y cómo son las condiciones o poner un enlace al post? para ver si la puedo automatizar.
Saludos

Hola, Soy nuevo en este foro.. Me uno a la solicitud que hace Antonio.. de colocar aqui los enlaces de las tecnicas HEADING que mencionas.. yo tambien podria entenderlo y realizar algunas lineas de codigo para irlo armando...

Saludos

ricardou
Soy Nuevito

Temas Temas : 1
Fecha de inscripción Fecha de inscripción : 18/02/2013

Volver arriba Ir abajo

Re: Street Smart Forex Automatizado

Mensaje  Contenido patrocinado Hoy a las 7:06 pm


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.