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

 
gyvenor:

Gracias.

¿Es posible añadir columnas con valor indicador a esta tabla? Por ejemplo, el valor de la MA en una barra determinada. ¿O hay un fractal arriba/abajo?

Puedes hacer MA y fractal en el propio Excel, pegando la fórmula en la celda.
 

Hola. ¿Puede decirme si hay algún historial de transacciones de L.Williams disponible públicamente desde su legendaria victoria en el Campeonato de 1987? Sería interesante echarle un vistazo).

 
Techno:
Adjunte un informe adecuado. Mejor aún, un informe completo, ya verás.

Símbolo EURUSD (Euro vs. Dólar)
Periodo 30 minutos (M30) 1999.01.06 15:30 - 2010.11.09 21:59
Modelo Por precios de apertura (sólo para Asesores Expertos con control explícito de apertura de barra)
Parámetros
Bares en la historia 143757 Garrapatas modeladas 287336 Calidad de la simulación n/a
Errores de concordancia de los gráficos 0
Depósito inicial 1000000.00
Beneficio neto 23885.09 Beneficio total 50787.58 Pérdida total -26902.49
Rentabilidad 1.89 Remuneración esperada 2.66
Reducción absoluta 73.00 Reducción máxima 355.90 (0.03%) Reducción relativa 0.03% (355.90)
Total de operaciones 8996 Posiciones cortas (% de ganancias) 0 (0.00%) Posiciones largas (% de ganancias) 8996 (87.36%)
Operaciones rentables (% del total) 7859 (87.36%) Operaciones con pérdidas (% del total) 1137 (12.64%)
El más grande comercio rentable 10.50 trato perdedor -40.40
Media acuerdo rentable 6.46 Pérdida del acuerdo -23.66
Máximo victorias continuas (beneficios) 110 (730.00) Pérdidas continuas (pérdida) 5 (-125.00)
Máximo Beneficio continuo (número de victorias) 730.00 (110) Pérdida continua (número de pérdidas) -125.00 (5)
Media ganancias continuas 9 Pérdida continua 1
Gráfico
Tiempo Tipo Pida Volumen Precio S / L T / P
 

La diferencia entre M1 todos los ticks y M30 es mínima.

Símbolo EURUSD (Euro vs. Dólar)
Periodo 1 minuto (M1) 1999.10.01 03:17 - 2010.11.09 21:06
Modelo Todos los ticks (método más preciso basado en todos los plazos más pequeños disponibles)
Parámetros
Bares en la historia 3798097 Garrapatas modeladas 37584894 Calidad de los modelos 25.00%
Errores de concordancia de los gráficos 0
Depósito inicial 1000000.00
Beneficio neto 19436.09 Beneficio total 42746.64 Pérdida total -23310.55
Rentabilidad 1.83 Remuneración esperada 2.57
Reducción absoluta 6.00 Reducción máxima 254.80 (0.03%) Reducción relativa 0.03% (254.80)
Total de operaciones 7566 Posiciones cortas (% de ganancias) 0 (0.00%) Posiciones largas (% de ganancias) 7566 (87.09%)
Operaciones rentables (% del total) 6589 (87.09%) Operaciones con pérdidas (% del total) 977 (12.91%)
El más grande comercio rentable 10.50 transacción perdedora -40.40
Media acuerdo rentable 6.49 Pérdida del acuerdo -23.86
Máximo victorias continuas (beneficios) 62 (410.00) Pérdidas continuas (pérdida) 5 (-125.00)
Máximo Beneficio continuo (número de victorias) 410.00 (62) Pérdida continua (número de pérdidas) -125.00 (5)
Media ganancias continuas 9 Pérdida continua 1
Gráfico

 

¡Buenas tardes!

Necesito que este EA funcione en una cuenta, pero en diferentes pares. Pero desafortunadamente, si al menos una operación está abierta, el EA no abre operaciones en otros pares, incluso si hay una señal. ¿Cuál es el error? Ayúdame a comprender.

Y otra pregunta, ¿es necesario cambiar Magic en la configuración al adjuntar el EA al gráfico, si ya se ha aplicado a otro par?

aquí está el código:

//////////////////////////////////////////////////////////////////////
// CRUCE DE MUWINGS //
//////////////////////////////////////////////////////////////////////
extern string Settings = "Main Settings"; ////////////////////////
extern int Magia = 227 ; //Número individual//.
extern double Lots =0.1 ;
extern int Slip = 5 ; //Slip/.


//datos para el ajuste de la hora

cadena externa OpenTime = "01:05-23:05";

//------------------------------------------------------------------// //
//Indicadores // //
//------------------------------------------------------------------// //
extern string Indicador1 = "MA-Slow" ; // // //
extern int MAPeriod1 = 55 ; //periodo //
extern int MA1_shift = 0 ;
extern string Indicador2 = "MA-Fast" ; // // //
extern int int MAperiod2 = 13 ; //Periodo //
extern inttern MA2_shift = 0 ;

//------------------------------------------------------------------/////////////
int tiket1 , tiket2 , cnt;
int inicio()
{
//---------------------------------------------------------------------------------------------------------------//
double MA1 =iMA(NULL,0,MAPeriod1,MA1_shift,MODE_LWMA,PRICE_MEDIAN,0); //calcular el indicador MA //
//Print("ma1=====",MA1);
double MA2 =iMA(NULL,0,MAperiod2,MA2_shift,MODE_LWMA,PRICE_CLOSE,0); //calcular el indicador MA //
//Print("ma2=====",MA2);

cadena OTA[];
cadena OTI[];
split(OTA, OpenTime, ";");

datetime tm0 = CurTime();
datetime tm1, tm2;

bool cond = false;

int cnt = ArraySize(OTA);
for (int i=0; i < cnt; i++) {
split(OTI, OTA[i], "-")
si (ArraySize(OTI) != 2) continuar;

tm1 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " + OTI[0]);
tm2 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[1]);

cond = cond || (tm1 <= tm0 && tm0 < tm2)
}


si (cond)
{
if(PedidosTotal()==0)
{
if((MA2>MA1)&&(Close[0]>MA2))
{
tiket1=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE)
}


if((MA2<MA1)&&(Close[0]<MA2))
{
tiket2=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}
}

if(PedidosTotal()==1)
{
if((MA2>MA1)&&(Close[0]>MA2 ))
{
OrderClose(tiket2,Lots,Ask,Slip,Red);
}

if((MA2<MA1)&&(Close[0]<MA2))
{
OrderClose(tiket1,Lots,Bid,Slip,Red);
}
}
}
}

void split(string& arr[], string str, string sym)
{
ArrayResize(arr, 0);
elemento de la cadena;
int pos, size;

int len = StringLen(str);
for (int i=0; i < len;) {
pos = StringFind(str, sym, i);
si (pos == -1) pos = len;

item = StringSubstr(str, i, pos-i);
item = StringTrimLeft(item);
item = StringTrimRight(item);

size = ArraySize(arr);
ArrayResize(arr, size+1);
arr[size] = item;

i = pos+1;
}
}

 
marten82:

¡Buenas tardes!

cadena externa OpenTime = "01:05-23:05";

//------------------------------------------------------------------// //
//Indicadores // //
//------------------------------------------------------------------// //
extern string Indicador1 = "MA-Slow" ; // // //
extern int MAPeriod1 = 55 ; //periodo //
extern int MA1_shift = 0 ;
extern string Indicador2 = "MA-Fast" ; // // //
extern int int MAperiod2 = 13 ; //Periodo //
extern inttern MA2_shift = 0 ;

//------------------------------------------------------------------/////////////
int tiket1 , tiket2 , cnt;
int inicio()
{
//---------------------------------------------------------------------------------------------------------------//
double MA1 =iMA(NULL,0,MAPeriod1,MA1_shift,MODE_LWMA,PRICE_MEDIAN,0); //calcular el indicador MA //
//Print("ma1=====",MA1);
double MA2 =iMA(NULL,0,MAperiod2,MA2_shift,MODE_LWMA,PRICE_CLOSE,0); //calcular el indicador MA //
//Print("ma2=====",MA2);

cadena OTA[];
cadena OTI[];
split(OTA, OpenTime, ";");

datetime tm0 = CurTime();
datetime tm1, tm2;

bool cond = false;

int cnt = ArraySize(OTA);
for (int i=0; i < cnt; i++) {
split(OTI, OTA[i], "-");
si (ArraySize(OTI) != 2) continuar;

tm1 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " + OTI[0]);
tm2 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[1]);

cond = cond || (tm1 <= tm0 && tm0 < tm2)
}


si (cond)
{
if(OrdersTotal()==0)
{

if((MA2>MA1)&&(Close[0]>MA2))
{
tiket1=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE)
}


if((MA2<MA1)&&(Close[0]<MA2))
{
tiket2=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}
}

if(OrdersTotal()==1)
{
if((MA2>MA1)&&(Close[0]>MA2 ))
{
OrderClose(tiket2,Lots,Ask,Slip,Red);
}

if((MA2<MA1)&&(Close[0]<MA2))
{
OrderClose(tiket1,Lots,Bid,Slip,Red);
}
}
}
}

void split(string& arr[], string str, string sym)
{
ArrayResize(arr, 0);
elemento de la cadena;
int pos, size;

int len = StringLen(str);
for (int i=0; i < len;) {
pos = StringFind(str, sym, i);
si (pos == -1) pos = len;

item = StringSubstr(str, i, pos-i);
item = StringTrimLeft(item);
item = StringTrimRight(item);

size = ArraySize(arr);
ArrayResize(arr, size+1);
arr[size] = item;

i = pos+1;
}
}


Creo que donde está resaltado en rojo.
 
-marten82:

¡Buenas tardes!

Necesito que este EA funcione en una cuenta, pero en diferentes pares. Pero desafortunadamente, si al menos una operación está abierta, entonces el EA no abre operaciones en otros pares, incluso si hay una señal. ¿Cuál es el error? Ayúdame a comprender.

Y otra pregunta, ¿es necesario cambiar Magic en la configuración al adjuntar el EA al gráfico, si ya se ha aplicado a otro par?

aquí está el código:


...
if(PedidosTotal()==0)

....
Aquí está la raíz del mal.
 
paukas:
Aquí está la raíz del mal.
Estaba adivinando. ¿Podría ayudarme con la condición correcta? Porque algo no me funciona.
 

Tengo la sensación de que el EA se niega obstinadamente a registrar antes de 21.45, aunque todo es correcto en el código y no hay restricciones en it....see lo que la razón puede ser allí plz? Reinicié el ordenador, en la primera ejecución fueron los registros desde el principio del día, y luego otra vez todo... parece que hay algo en la caché, pero ¿qué es?



 
asc9:

El problema es que no hay nada que hacer... Reinicié el ordenador, en la primera ejecución fueron los registros desde el principio del día, y luego otra vez todo... parece que hay algo en la caché, pero ¿qué es?




Creo que es por la primera condición. Prueba con Hour()<=22.