¡Pide! - página 175

 

Ah eso es un método mucho mejor. Yo estaba jugando con if (Ask == OrderTakeProfit()) {..} el ciclo a través de cada orden abierta que creo que era un poco defectuoso cuando las pruebas de espalda. Gracias.

 

¿Cómo se comenta un número que comentará una cadena?

cadena 2;

2="EURUSD";

¿CÓMO PUEDO CREAR UN COMENTARIO DONDE 2 COMENTARÁ COMO EURUSD EN EL GRÁFICO?

POR FAVOR AYUDA - ¡CONFUNDIDO!

DAVE

 

Eso no se puede hacer en mql.

En mql un nombre de variable no puede ser un número ni puede empezar por número, así que la única solución es añadir alguna letra, guión bajo o algún carácter permitido delante del "2

1Dave7:
cadena 2;

2="EURUSD";

¿CÓMO PUEDO CREAR UN COMENTARIO EN EL QUE 2 SE COMENTE COMO EURUSD EN EL GRÁFICO?

POR FAVOR AYUDA - ¡CONFUNDIDO!

DAVE
 

¿Cómo puedo hacer un array en orden descendente en lo siguiente?

double D0=0,D1=0,D2=0,D3=0,D4=0,D5=0,D6=0,D7=0);

D0=iCustom(NULL,0, "XYZ",0,0);

D1=iCustom(NULL,0, "XYZ",1,0);

D2=iCustom(NULL,0, "XYZ",2,0);

D3=iCustom(NULL,0, "XYZ",3,0);

D4=iCustom(NULL,0, "XYZ",4,0);

D5=iCustom(NULL,0, "XYZ",5,0);

D6=iCustom(NULL,0, "XYZ",6,0);

D7=iCustom(NULL,0, "XYZ",7,0);

¿CÓMO HAGO PARA INICIALIZAR UN ARRAY DESCENDENTE DE LOS VALORES DE (D0,D1,D2,D3,D4,D5,D6,D7)? ¿COMO HAGO PARA DIRECCIONAR LOS RESULTADOS DEL ARRAY EN MI EA?

AGRADEZCO SU AYUDA - ¡SERÉ MUY FELIZ SI PUEDO SUPERAR ESTE CUELLO DE BOTELLA!

Dave

 

Si sólo necesitas los valores ordenados, puedes hacer algo como esto :

double array[8];

array[0]=iCustom(NULL,0,"XYZ",0,0);

array[1]=iCustom(NULL,0,"XYZ",1,0);

array[2]=iCustom(NULL,0,"XYZ",2,0);

array[3]=iCustom(NULL,0,"XYZ",3,0);

array[4]=iCustom(NULL,0,"XYZ",4,0);

array[5]=iCustom(NULL,0,"XYZ",5,0);

array[6]=iCustom(NULL,0,"XYZ",6,0);

array[7]=iCustom(NULL,0,"XYZ",7,0);

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

y entonces los valores ordenados estarán en el array "array"

1Dave7:
double D0=0,D1=0,D2=0,D3=0,D4=0,D5=0,D6=0,D7=0);

D0=iCustom(NULL,0, "XYZ",0,0);

D1=iCustom(NULL,0, "XYZ",1,0);

D2=iCustom(NULL,0, "XYZ",2,0);

D3=iCustom(NULL,0, "XYZ",3,0);

D4=iCustom(NULL,0, "XYZ",4,0);

D5=iCustom(NULL,0, "XYZ",5,0);

D6=iCustom(NULL,0, "XYZ",6,0);

D7=iCustom(NULL,0, "XYZ",7,0);

¿CÓMO HAGO PARA INICIALIZAR UN ARRAY DESCENDENTE DE LOS VALORES DE (D0,D1,D2,D3,D4,D5,D6,D7)? ¿COMO HAGO PARA DIRECCIONAR LOS RESULTADOS DEL ARRAY EN MI EA?

AGRADEZCO SU AYUDA - ¡SERÉ MUY FELIZ SI PUEDO SUPERAR ESTE CUELLO DE BOTELLA!

Dave
 
mladen:
Si necesitas sólo los valores ordenados, puedes hacer algo así :
double array[8];

array[0]=iCustom(NULL,0,"XYZ",0,0);

array[1]=iCustom(NULL,0,"XYZ",1,0);

array[2]=iCustom(NULL,0,"XYZ",2,0);

array[3]=iCustom(NULL,0,"XYZ",3,0);

array[4]=iCustom(NULL,0,"XYZ",4,0);

array[5]=iCustom(NULL,0,"XYZ",5,0);

array[6]=iCustom(NULL,0,"XYZ",6,0);

array[7]=iCustom(NULL,0,"XYZ",7,0);

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

y entonces los valores ordenados estarán en el array "array"

¡¡¡¡¡¡¡¡¡¡¡¡WOW!!!!!!!!!!!! Nunca me hubiera imaginado eso - ¡¡¡Gracias de verdad!!!

 

Por favor, ayúdame a conseguir que este array funcione - ¡¡¡Perplejo!!!

[/PHP] EUR=(iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //RED

GBP=(iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //LIME

double array[7];

array[0]=iCustom(NULL,0,"EURUSD",0,0);

array[1]=iCustom(NULL,0,"GBPUSD",1,0);

array[2]=iCustom(NULL,0,"AUDUSD",2,0);

array[3]=iCustom(NULL,0,"USDCHF",3,0);

array[4]=iCustom(NULL,0,"USDJPY",4,0);

array[5]=iCustom(NULL,0,"NZDUSD",5,0);

array[6]=iCustom(NULL,0,"USDCAD",6,0);

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

a=array[0];b=array[1];c=array[2];d=array[3];e=array[4];f=array[5];g=array[6];

{

ObjectCreate("DISPLAY10", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY10", DoubleToStr(a,0), 10, "ArialBold", Red);//"EURUSD =" ,

ObjectSet("DISPLAY10", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY10", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY10", OBJPROP_YDISTANCE, 20);

//return(0);

}

{

ObjectCreate("DISPLAY20", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY20", DoubleToStr(b,0), 10, "ArialBold", Lime);//"GBPUSD =" ,

ObjectSet("DISPLAY20", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY20", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY20", OBJPROP_YDISTANCE, 40);

//return(0);

}

[PHP]

He intentado obtener un valor para a,b y mostrarlo, pero sólo muestra 0 para a, y 0 para b y todos los demás valores c-f. Esperaba obtener un orden ascendente de las monedas. ¿Puedes ayudar a averiguar por qué esto no está funcionando?

Me gustaría poder invitarte a una cerveza por tu ayuda.

 

Comprueba las líneas que van así :

array[0]=iCustom(NULL,0,"EURUSD",0,0);

Esa línea significa que tiene un indicador llamado "EURUSD" y que lo está llamando para obtener algún valor y asignarlo al 1er elemento del "array". Si no existe (el indicador con ese nombre, que supongo que es cierto) asignará el valor 0 al elemento del array. ¿Qué estás tratando de recuperar exactamente con esa línea?

1Dave7:
EUR=(iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("EURUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //RED

GBP=(iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i)-iMA("GBPUSD",0,PerAvr,0,MODE_LWMA,PRICE_CLOSE,i+Delta)); //LIME

doble array[7];

array[0]=iCustom(NULL,0, "EURUSD",0,0);

array[1]=iCustom(NULL,0, "GBPUSD",1,0);

array[2]=iCustom(NULL,0, "AUDUSD",2,0);

array[3]=iCustom(NULL,0, "USDCHF",3,0);

array[4]=iCustom(NULL,0, "USDJPY",4,0);

array[5]=iCustom(NULL,0, "NZDUSD",5,0);

array[6]=iCustom(NULL,0, "USDCAD",6,0);

ArraySort(array,WHOLE_ARRAY,0,MODE_ASCEND);

a=array[0];b=array[1];c=array[2];d=array[3];e=array[4];f=array[5];g=array[6];

{

ObjectCreate("DISPLAY10", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY10", DoubleToStr(a,0), 10, "ArialBold", Red);//"EURUSD =" ,

ObjectSet("DISPLAY10", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY10", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY10", OBJPROP_YDISTANCE, 20);

//return(0);

}

{

ObjectCreate("DISPLAY20", OBJ_LABEL, 1, 0, 0);

ObjectSetText("DISPLAY20", DoubleToStr(b,0), 10, "ArialBold", Lime);//"GBPUSD =" ,

ObjectSet("DISPLAY20", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY20", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY20", OBJPROP_YDISTANCE, 40);

//return(0);

}

He intentado obtener un valor para a,b y mostrarlo, pero sólo muestra 0 para a, y 0 para b y todos los demás valores c-f. Esperaba obtener un orden ascendente de las monedas. ¿Pueden ayudarme a entender por qué no funciona?

¡Me gustaría poder invitarte a una cerveza por tu ayuda!
 
mladen:
Revisa las líneas que van así :
array[0]=iCustom(NULL,0,"EURUSD",0,0);
Esa línea significa que tienes un indicador llamado "EURUSD" y que lo estás llamando para obtener algún valor y asignarlo al 1er elemento del "array". Si no existe (el indicador con ese nombre, que supongo que es cierto) asignará el valor 0 al elemento del array. ¿Qué estás tratando de recuperar exactamente con esa línea?

La matriz es para obtener un valor de "EURUSD", a continuación, hacer un orden ascendente de baja a alta en comparación con otras monedas, y luego mostrar la clasificación de baja a la pantalla. EURUSD como las otras monedas sólo me dan un 0,00?? ¿Qué estoy haciendo mal aquí?

 

Hazlo así:

array[0]=iClose("EURUSD",0,0); [/PHP]

and so on. That way array will be filled with close prices for symbols you select. If you are using a custom indicator then the form is the following :

[PHP]array[0]=iCustom("EURUSD",0,"indicator name",0,0);
1Dave7:
La matriz es para obtener un valor de "EURUSD", a continuación, hacer un orden ascendente de baja a alta en comparación con otras monedas, y luego mostrar la clasificación de baja a la pantalla. El EURUSD al igual que las otras monedas solo me da un 0.00? ¿Qué estoy haciendo mal aquí?
Razón de la queja: