[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 362

 
Hm, alguém pode me ajudar?
 
Chiripaha:

Aqui, apenas em código de Pr0t0tip (bem, e apelido - ficou cansado de digitar de novo : )) ) Estas variáveis externas int sl=100; (etc.) são mapeadas. Portanto, você precisa declarar uma variável, então ela aparecerá em configurações de coruja, então seu valor pode ser alterado e otimizado.

Eu sei disso. Mas variáveis externas não funcionam dentro de uma função do usuário. elas declaram suas próprias variáveis. esse é o problema.

E eu não posso me livrar da função. há uma modificação da ordem....

 
solnce600:
E acima disso, há apenas START e NOTHING

Ahhhhhhhh - aqui vamos nós... Eu coloquei no lugar errado - eu deveria ter colocado uma variável atrás de um colchete:

int start()
  {
   bool have = true;

   for(int i=0;i<10;i++)
     {
      if(Low[i]<=Low[i+1])
       {
        have=false; 
        break;
       } 
     } 

   if(have)
    {
     OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-1510*Point,"jfh",123 );// действия если условие соблюдено 
    }

   return(0);
  }

E havia mais um na parte de baixo e outro de caracóis. Você não estava seguindo as margens e uma única estrutura (estilo) de seu texto. Quando você escreve tudo corretamente, todos os erros (inconsistências) são visíveis. Tenha cuidado ao escrever o código. - Não deve jurar.

 

Isso é estranho. Estou recebendo este erro de seu código

bool' - semicolon esperado C:\Documentos e Configurações\Utilizador\FxClub\TeleTRADE\FxExperts\dot.mq4 (33, 4)

Na verdade, em bool têm = verdadeiro;

 
Exatamente. Ou então havia uma twist-else lógica, ou - ou a função termina seu trabalho dando zero, ou o quê????
 
Chiripaha:

Ahhhhhh - lá, eu encontrei... Lugar errado - eu deveria ter colocado a variável atrás do suporte:

E havia mais um na parte inferior e outro colchete. Você está escrevendo sem respeitar as margens. Quando você coloca tudo corretamente, todos os erros (inconsistências) são imediatamente visíveis. Tenha cuidado com a forma como você escreve seu código. - Não deveria ser uma repreensão.


Muito obrigado...... o que eu faria sem você..... Deus o abençoe ..... e o resto você comprará com os lucros....
 
lottamer:

Eu sei disso. Mas variáveis externas não funcionam dentro de uma função do usuário. elas declaram suas próprias variáveis. esse é o problema.

E eu não consigo me livrar da função. modifica a ordem....

Por que não funciona? - Se você levar qualquer variável global para uma função do usuário, ela funcionará como declarada no interior. Mas os dados da variável interna são visíveis apenas para esta função - além disso, sua ação é limitada. E os valores da variável global(externa) são visíveis para todo o programa. Esta é a diferença. Mas no caso de uma variável externa - novamente, externa - , a variável também aparecerá em configurações. - Este é um livro didático. Releia, isso ajuda. : )) É claro que, ao declarar uma variável externa, ela deve ser referenciada dentro da função a esta variável global. E certifique-se de que os nomes não sejam idênticos. Caso contrário, você declarará tanto externo como interno com o mesmo nome. - Embora, você possa fazer dessa forma, mas acho que a função tomará o valor da variável interna - não me lembro exatamente. Aqui é onde você tem que passar por um livro didático. Faça-o você mesmo, se quiser experimentar. Normalmente dou nomes diferentes para evitar confusão e é só isso.
 
Chiripaha:
Por que não funciona? - Se você levar qualquer variável global para uma função personalizada, ela funcionará exatamente como a declarada no interior. Os dados da variável interna só são visíveis para esta função - além disso, sua ação é limitada. E os valores da variável global(externa) são visíveis para todo o programa. Esta é a diferença. Mas no caso de uma variável externa - novamente, externa - , a variável também aparecerá em configurações. - Este é um livro didático. Releia, isso ajuda. : )) É claro que, ao declarar uma variável externa, ela deve ser referenciada dentro da função a esta variável global. E certifique-se de que os nomes não sejam idênticos. Caso contrário, você declarará tanto externo como interno com o mesmo nome. - Embora possa ser feito desta forma, mas parece que a função tomará o valor da variável interna - não me lembro exatamente. Aqui é onde você tem que passar por um livro didático. Faça-o você mesmo, se quiser experimentar. Normalmente dou nomes diferentes para evitar confusão e é só isso.


Muito obrigado...pensei que se o interior não é visível no exterior, então o exterior também não é visível no interior...
 

Olá. Escrevi um simples EA (estou tentando aprendê-lo eu mesmo). O robô só abre negócios para vender, mas não quer comprar. Entendo que não escrevi corretamente as condições de compra ou não as dividi corretamente. Estou pedindo ajuda. Aqui está:

int int externo tp=100;

sl=100;

externo int H=14;

externo int M=00;

duplo ma1, ma2;

int start()

{

ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

ma2=iMA (NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (OrderTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,",123,Red);

if (OrderTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,",123,Red);

}

retorno (0);

 
Pr0t0tip:
Hm, alguém pode me ajudar?

Vamos dar uma olhada - não sou muito experiente. Mas vamos tentar... : ))

Enquanto isso, você deve aprender a usar o botão SRC - ele permite que você insira o código corretamente, de forma bonita e clara. Assim, aqueles que o ajudarão (agora e no futuro), seria mais fácil de ler. Você pode quebrar seus olhos se o fizer. : ))