Pergunte! - página 175

 

Ah, esse é um método muito melhor. Eu estava brincando com se (Ask == OrderTakeProfit()) {...} pedalando por cada ordem aberta que eu acho que era um pouco imperfeita nos testes anteriores. Obrigado!

 

Como você comenta um número que comentará uma seqüência?

cadeia de caracteres 2;

2="EURUSD";

COMO FAÇO PARA CRIAR UM COMENTÁRIO ONDE 2 COMENTARÁ COMO EURUSD NO GRÁFICO?

POR FAVOR, AJUDE - CONFUSO!

DAVE

 

Você não pode fazer isso em mql.

Em mql um nome variável não pode ser um número nem pode começar com número, então a única solução é adicionar alguma letra, sublinhado ou algum caracter permitido na frente do "2".

1Dave7:
corda 2;

2="EURUSD";

COMO CRIAR UM COMENTÁRIO ONDE 2 COMENTARÃO COMO EURUSD NO GRÁFICO?

POR FAVOR, AJUDE - CONFUSO!

DAVE
 

Como faço um array em ordem decrescente sobre o seguinte:

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);

COMO FAÇO PARA INICIALIZAR UMA MATRIZ DESCENDENTE DOS VALORES DE (D0,D1,D2,D3,D4,D5,D6,D7)? COMO ABORDAR OS RESULTADOS DA MATRIZ NA MINHA EA?

AGRADEÇO SUA AJUDA - FICAREI MUITO FELIZ SE CONSEGUIR ULTRAPASSAR ESTE GARGALO DE GARRAFA!

Dave

 

Se você precisar apenas dos valores ordenados, você pode fazer algo assim:

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);

e então os valores ordenados estarão na "matriz" de valores

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);

COMO FAÇO PARA INICIALIZAR UMA MATRIZ DESCENDENTE DOS VALORES DE (D0,D1,D2,D3,D4,D5,D6,D7)? COMO ABORDAR OS RESULTADOS DA MATRIZ NA MINHA EA?

AGRADEÇO SUA AJUDA - FICAREI MUITO FELIZ SE CONSEGUIR ULTRAPASSAR ESTE GARGALO DE GARRAFA!

Dave
 
mladen:
Se você precisa apenas dos valores ordenados, você pode fazer algo assim:
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);

e então os valores ordenados estarão no "array" array

WOW!!!!!!!!!!!! Eu nunca teria descoberto isso - Obrigado a todos!!!

 

Por favor, ajude a colocar esta matriz em funcionamento - Puzzled!!!

[/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]

Eu tentei obter um valor para a,b e exibi-lo, mas só mostra 0 para a, e 0 para b e todos os outros valores de c-f. Eu esperava obter uma ordem ascendente das moedas. Você pode ajudar a descobrir por que isto não está funcionando???

Gostaria de poder lhe comprar uma cerveja para sua ajuda!

 

Verifique as linhas que vão assim :

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

Essa linha significa que você tem um indicador chamado "EURUSD" e que você está chamando-o para obter algum valor e atribuí-lo ao 1º elemento de "array". Se ele não existir (o indicador com esse nome, que eu assumo como verdadeiro) ele atribuirá valor 0 ao elemento de "array". O que você está tentando recuperar exatamente com essa linha?

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

dupla matriz[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[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", Vermelho);// "EURUSD =" ,

ObjectSet("DISPLAY10", OBJPROP_CORNER, 1);

ObjectSet("DISPLAY10", OBJPROP_XDISTANCE, 80);

ObjectSet("DISPLAY10", OBJPROP_YDISTANCE, 20);

//retorno(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);

//retorno(0);

}

Tentei obter um valor para a,b e exibi-lo, mas só mostra 0 para a, e 0 para b e todos os outros valores de c-f. Eu esperava obter uma ordem ascendente das moedas. Você pode ajudar a descobrir por que isto não está funcionando??

Gostaria de poder lhe comprar uma cerveja para sua ajuda!
 
mladen:
Verifique as linhas que vão assim:
array[0]=iCustom(NULL,0,"EURUSD",0,0);
Essa linha significa que você tem um indicador chamado "EURUSD" e que você está chamando-o para obter algum valor e atribuí-lo ao 1º elemento de "array". Se ele não existir (o indicador com esse nome, que eu assumo como verdadeiro) ele atribuirá o valor 0 ao elemento de "array". O que você está tentando recuperar exatamente com essa linha?

A matriz é obter um valor de "EURUSD", depois fazer uma ordem ascendente de baixo para alto em comparação com outras moedas, e depois exibir as classificações de baixo para a tela. EURUSD como as outras moedas apenas me dá um valor de 0,00?? O que eu estou fazendo de errado aqui??

 

Faça-o assim:

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:
A matriz é obter um valor de "EURUSD", depois fazer uma ordem ascendente de baixo para alto em comparação com outras moedas, e depois exibir os rankings de baixo para a tela. EURUSD como as outras moedas apenas me dá um valor de 0,00?? O que eu estou fazendo de errado aqui??