Pergunte! - página 80

 

simples pergunta de codificação; eu tenho:

Step0=iCustom(NULL,0, "StepChoppy_v1[1].3",0,lookupidx);

Passo1=iCustom(NULL,0, "StepChoppy_v1[1].3",1,lookupidx);

Passo2=iCustom(NULL,0, "StepChoppy_v1[1].3",2,lookupidx);

Passo3=iCustom(NULL,0, "StepChoppy_v1[1].3",3,lookupidx);

if (Passo0>==1 | Passo1>=1 | Passo2>=1 |Passo3>=1)

maval=1;

senão

maval= 0;

O problema é que eu recebo uma mensagem de erro ao compilar: '|' - os operadores bitwise devem ser aplicados apenas a valores inteiros

se eu usar apenas

se (Passo0>==1)

maval=1;

senão

maval= 0;

Funciona, mas eu quero com as outras 3 variáveis também!

Alguma dica?

 
camisa:
simples pergunta de codificação; eu tenho:

Step0=iCustom(NULL,0, "StepChoppy_v1[1].3",0,lookupidx);

Passo1=iCustom(NULL,0, "StepChoppy_v1[1].3",1,lookupidx);

Passo2=iCustom(NULL,0, "StepChoppy_v1[1].3",2,lookupidx);

Passo3=iCustom(NULL,0, "StepChoppy_v1[1].3",3,lookupidx);

if (Passo0>==1 | Passo1>=1 | Passo2>=1 |Passo3>=1)

maval=1;

senão

maval= 0;

O problema é que eu recebo uma mensagem de erro ao compilar: '|' - os operadores bitwise devem ser aplicados apenas a valores inteiros

se eu usar apenas

se (Passo0>==1)

maval=1;

senão

maval= 0;

Funciona, mas eu quero com as outras 3 variáveis também!

Alguma dica?

Você tem que usar

if (Step0>=1 || Step1>=1 || Step2>=1 || Step3>=1)

O operador "OR" entre duas booleans é " |||".

 
Arquivos anexados:
buy.bmp  954 kb
 
Michel:
Você tem que usar
if (Step0>=1 || Step1>=1 || Step2>=1 || Step3>=1)
O operador "OR" entre duas booleans é " |||".

caramba, eu sabia que era algo fácil rs

obrigado! agora funciona 5*****!

 

Desejo que você me escreva o código do tutorial sobre EA(Seu Primeiro Conselheiro Especializado), que

abrirá muitos pedidos, mas sem publicar. Eu tentei muitas coisas, mas finalmente eles não

trabalho

Por exemplo. Estamos jogando em 4 pares: GBPUSD, GBPCHF, AUDUSD e EURUSD e temos

os três primeiros abertos. Se a função 'isCrossed' for igual a 1 ou 2, a EA comprará ou venderá EURUSD, pois os outros pares estão apenas abertos.

Desculpe pelo meu inglês :]

 

Pergunta curiosa?

Quando você usa retorno(0); em declarações "se"??

Dave ...

 

Como fazer um bloqueio de tempo neste utilitário de eliminação?

Descobri!

 
if (UseHourTrade==true)

/////////////////////////////////////////////////////////

{

if(!(Hour()>=EndHour && Hour()>>> EndHour=17 / StartHour=0

{

Comment("PROGRAM SYSTEM IN HIBERNATION!");

}

}

Preciso de esclarecimentos: A hora atual é 14 GMT, mas a ea está exibindo o "SISTEMA DE PROGRAMA EM HIBERNAÇÃO"! Por que ele está exibindo?

Dave

 
1Dave7:
if (UseHourTrade==true)

/////////////////////////////////////////////////////////

{

if(!(Hour()>=EndHour && Hour()>>> EndHour=17 / StartHour=0

{

Comment("PROGRAM SYSTEM IN HIBERNATION!");

}

}

Preciso de esclarecimentos: A hora atual é 14 GMT, mas a ea está exibindo o "SISTEMA DE PROGRAMA EM HIBERNAÇÃO"! Por que ele está exibindo?

Dave

É tudo sobre o (!). Ao colocar o teste lógico em() com o ! antes dele, você está dizendo ao comp que se o teste lógico estiver resultando em "falso", então prossiga para a rotina.

 

bool

Olá a todos,

sempre aprendendo mql e o seguinte código é muito ambíguo para mim (passoMa Ea de Igorad)

// ------------

if ( FilterPeriod > 0 )

{

bool BuyFilter = false;

BuyFilter = ( Close[1]>iMA(NULL,0,FilterPeriod,0,MODE_EMA,0,1));

bool SellFilter = false;

SellFilter =( Close[1]<iMA(NULL,0,FilterPeriod,0,MODE_EMA,0,1));

}

else

{ BuyFilter = true; SellFilter = true; }

// ------------

Não entendo como podemos declarar e rubricar uma variável bool e atribuir a ela uma variável inteira na linha seguinte

//exemplo

bool BuyFilter = falso;

BuyFilter = ( Close[1]>iMA(NULL,0,FilterPeriod,0,MODE_EMA,0,1));

Alguém poderia iluminar, por favor.

Obrigado

Editar: ND, não sei se é o bom lugar para postar isto.

Razão: