[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 95

 
dixi:

O MetaEditor parou de funcionar após a reinstalação do terminal. Só funciona se você não mudar nada no código indicador. Se você mudar algo, mesmo a cor da linha, isso gera um erro:

O sistema operacional é o Windows 7. Quem sabe, talvez alguém tenha enfrentado tal falha. Você pode me dizer o que devo fazer?


Primeiramente, vá para as propriedades do terminal e na guia "Compatibilidade" marque "Executar como administrador". Segundo, faça o mesmo com o arquivo que lança o editor de código. O arquivo é MetaEditor.exe. Em terceiro lugar, personalize seu sistema operacional. O último ponto é bastante rápido se você souber exatamente o que precisa.
 
demlin:

Saudações a todos!

Por favor, ajude com este problema: não consigo fazer com que o indicador redesenha com a aparência de uma nova barra (intervalo D). П

Tenho que reiniciá-la manualmente.


A linha 44 é absolutamente desnecessária. A chamada da função de recálculo dos castiçais não-calculados retornará todos eles. Além disso, no código da função iniciar, chamar a mesma função (linha 64) deveria, em teoria, retornar zero. Preste atenção a isto. Chegou um novo dia (um novo castiçal). não está claro o que está acontecendo - o indicador foi cortado ontem e reiniciado hoje, ou está sendo testado no testador? O reinício desencadeará a função de inicialização e, em seguida, a partida será iniciada. A partida não vai redesenhar nada, como já chamamos as barras não calculadas na partida. Se no testador, ele pode ser redesenhado.

 
FxPro2:
Olá a todos! Encontrei um velho especialista trabalhando com o indicador de ascendência. Gostaria de verificar como este indicador se comporta em tempo real, mas nem sempre posso seguir os pontos e minha negociação não está cheia. Eu verifiquei o testador, há um sinal em cada ponto, mas coloquei-o em uma demonstração e notei que a demonstração salta sinais, enquanto o registro não escrevia nada para o especialista, escavar o código e não entendia qual era o problema :( talvez alguém mete o nariz no que pode ser o problema?

O problema é que você não entende o código que está usando. O problema é que você está segurando uma metralhadora e por alguma razão ela nem sempre dispara. Não seria melhor colocar suas mãos em um dispositivo que você entende tudo? А?
 
drknn:

Primeiramente, vá para as propriedades do terminal e na guia Compatibilidade verifique a caixa "Executar como administrador". Segundo, faça o mesmo com o arquivo que lança o editor de código. O arquivo é MetaEditor.exe. Em terceiro lugar, personalize seu sistema operacional. O último ponto é bastante fácil de resolver, se você souber o que quer.
Obrigado! Consegui!!! :)))
 
Dimka-novitsek:

if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0,5*Point)

É que a variante sem NormalizeDouble não é tão confiável quando comparada a zero. Funciona aqui.


Não se trata de ND. Ponto é o tamanho de um ponto; vamos multiplicá-lo por zero cinco, será 0,00005 por exemplo; não vejo nenhum motivo para comparar este número com OrderClosePrice()-OrderTakeProfit(). A TP não garante exatamente o mesmo preço de fechamento. Além disso, as condições de verificação serão diferentes para Bais e Selves.

if(OrderType() == OP_SELL)
       {
        if( NormalizeDouble(OrderTakeProfit()-OrderClosePrice(),Digits) >= 0
          && OrderTakeProfit() != 0)    

Este projeto é mais confiável.

 
drknn:

O senão é que você não entende o código que está usando. O problema é que você pegou uma metralhadora e por alguma razão ela nem sempre dispara. Não seria melhor colocar suas mãos em um dispositivo que você entende tudo? А?
Talvez. Mas seus dois últimos cargos não passam de moralizantes, e você faria melhor em apontá-los para a idéia certa. Se você não tem esse desejo, por que escrever coisas desnecessárias? Não forcei ninguém a me ajudar, se não há desejo, não me ofenderei, o trabalho é difícil, entendo perfeitamente.
 
drknn:
Vocês com os códigos longos! Gostaria de reiterar que o código de outra pessoa é, antes de tudo, um criptograma, que ainda não foi decifrado! E isso é muito trabalho! Você acha que algum programador quer cavar quilômetros de listagem? Deixe-me dar meu código a um de vocês por apenas três mil linhas e pedir para eliminar um pequeno mal-entendido deste código. Você acha que só quer entrar na minha cabeça? Duvido novamente. Portanto, tenho um pedido a lhe fazer - quando você fizer uma pergunta-chave, descreva o problema o mais brevemente possível e, ao mesmo tempo, faça com que a descrição seja suficiente para entender sua essência. Caso contrário, seu grito é um grito no vazio. O código pode ser anexado ao correio. Tudo isso é necessário e suficiente.

Concordo plenamente com você.


FxPro2:

drknn:

O senão é que você não entende o código que está usando. O senão é que você pegou uma metralhadora e por alguma razão ela nem sempre dispara. Não seria melhor colocar suas mãos em um dispositivo que você entende tudo? А?
Talvez. São apenas seus dois últimos cargos que não foram a lugar algum, apenas moralizantes, ou melhor ainda, apontando para a idéia certa. Se você não tem esse desejo, por que escrever coisas desnecessárias? Não forcei ninguém a me ajudar, se não há desejo, não me ofenderei, o trabalho é difícil, entendo perfeitamente.

Mas você realmente não entende o código que você deu antes, não é mesmo?

 

Olá a todos!!! Ajude a plz, apenas aprendendo a escrever, peredomnoy tem este problema, eu não posso escrever código para aumentar o tamanho do lote por um certo passo dado no prametrov, revisei um monte de conselheiros e fui capaz de resolver, eu tenho que aumentar o lote, apenas dependendo da margem. Por favor, informe onde procurar, e minha cabeça já está quebrada. Já estou com a cabeça lixada. Obrigado!

 
SeALALex:

Olá a todos!!! Ajude a plz, apenas aprendendo a escrever, peredomnoy tem este problema, eu não posso escrever código para aumentar o tamanho do lote por um certo passo dado no prametrov, revisei um monte de conselheiros e fui capaz de resolver, eu tenho que aumentar o lote, apenas dependendo da margem. Por favor, informe onde procurar, e minha cabeça já está quebrada. Já estou com a cabeça lixada. Obrigado!

Mostre seu código com condição, depois do qual você precisa aumentar o lote em um determinado passo, definido em parâmetros, e como você tentou implementar isto.
 
Болк открытия на бай
if(Buy==true) 
  {Buy=false;

   ticket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask, Digits),5,SL,TP,Order,070177,0,Orange);
   if(ticket>0)
    { 
     if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) 
      {Print("BUY order opened : ",OrderOpenPrice());
       Alert("Buy Order for ",Symbol());
       SendMail("Buy Order "+Symbol()+" "+Ask,SL);     
       }
     }
     else Print("Error opening BUY order : ",GetLastError()); 
     return(0); 
   }

Умножение лота в зависимости от маржи нашел в советнике, 
код вставил работает вот только в советнике он увеличивает на определенный шаг, у меня просто в %-ом соотношении

double LotSize() 
  
   {
   double lots_0;
   if (MicroLots == FALSE) {
      lots_0 = NormalizeDouble(AccountFreeMargin() * RiskPercent / 1000.0, 1);
      if (lots_0 < 0.1) lots_0 = Lots;
      if (lots_0 >= 1.0) lots_0 = NormalizeDouble(lots_0, 1);
      if (lots_0 >= 100.0) lots_0 = 100;
   } else {
      lots_0 = NormalizeDouble(AccountFreeMargin() * RiskPercent / 1000.0, 2);
      if (lots_0 < 0.01) lots_0 = Lots;
      if (lots_0 >= 1.0) lots_0 = NormalizeDouble(lots_0, 2);
      if (lots_0 >= 100.0) lots_0 = 100;
   }
   return (lots_0);
}
É assim