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

 
Se isso facilitar as coisas, vou postar de novo corretamente. escrevi uma função para detectar flytags e tropecei em algo que não entendo. se a declaração não funcionar. talvez eu tenha escrito algo errado em algum lugar, quero que você dê uma nova olhada, não entendo por quê. até gravei um vídeo de depuração mostrando valores iguais, mas não funciona. por favor, coloque meu cérebro de volta em))))
{
      int size = ArrayRange(arrayMinLow,0);
     
      
      double spreadFlat = highLine - lowLine;
      
     
      int directionFlat = -1;
      int slew = 0;
      for (int i = 0; i<size; i++){
            double hl =arrayMinLow[i][0];
            double ol = arrayMinLow[i][1];
            double cl = arrayMinLow[i][2];
            double ll = arrayMinLow[i][3];
            
            if (hl == highLine || ol == highLine){                                      //вот тут не срабатывает

                  if( directionFlat == -1 || directionFlat == 0)
                        slew++;

                  directionFlat = 1;
            }else if  (cl == lowLine|| ll ==lowLine){
               
                  if( directionFlat == -1 || directionFlat == 1)
                        slew++;               
               
                  directionFlat = 0;
               
           }
                  
      
      }
      
      if(slew >=4 )
         return true;
         
      return false;   
      
      

}




link do vídeo https://www.youtube.com/watch?v=k9Zo0SgrMCA



Não posso apagar o post anterior, copiei tudo em html e removi a etiqueta que preciso para editar o post

 
Leo59:
O que está errado? Por que existem áreas azuis deixadas de fora?




Sinceramente, eu não me aprofundo nos códigos das outras pessoas, a menos que seja necessário! Você encontrará tudo no Doc, a ajuda e o banco de dados! Há muitos exemplos!
 

Você poderia me dizer como organizar o recálculo da moeda de depósito?

Meu robô calcula o lote com base no saldo e nos fundos da conta. Mas isto, é claro, se o depósito for em dólares.

Se eu abro um depósito de rublo, então tenho que dividir o lote pela taxa de usdrur.

Posso permitir que meu consultor especializado analise a moeda do depósito e, se necessário, divida-a por usdrur?

 
neman:

Você poderia me dizer como organizar o recálculo da moeda de depósito?

Meu robô calcula o lote com base no saldo e nos fundos da conta. Mas isto, é claro, se o depósito for em dólares.

Se eu abrir um depósito de rublo, então terei que dividir o lote pela taxa de usdrur.

Posso permitir que meu consultor especializado analise a moeda do depósito e, se necessário, divida-a por usdrur?

Bem, AccountCurrency() e com base nisso formam um par e determinam a Licitação.
 

Eu entendo isso, só não sei como escrevê-lo corretamente.

Por exemplo:


duplo KursS=iClose("USDRUR",H1,0);

Se AccountCurrency() = USD, então K=1;

Se AccountCurrency() = RUR, entãoK=KursS ;

Como faço para registrar isso corretamente?


 
neman:

Eu entendo isso, só não sei como escrevê-lo corretamente.

Por exemplo:


duplo KursS=iClose("USDRUR",H1,0);

Se AccountCurrency() = USD, então K=1;

Se AccountCurrency() = RUR, entãoK=KursS ;

Como faço para registrar isso corretamente?


Você pulou por cima. Primeiro de tudo, é preciso definir a moeda "USDRUR". Se seu depósito for em euros, você precisa definir a taxa EURUSD.

Ou seja, você deve definir a cadeia K_Symbol = "USDRUR"; se o depósito estiver em rublos.

Acho que você pode descobrir como fazer isso. Se o corretor abrir contas em outras moedas, seriam cheques adicionais.

 
AlexeyVik:

Foi você quem pulou por cima. Primeiro, você tem que determinar que a moeda que você quer é "USDRUR". Se você quiser economizar o depósito em euros, você tem que definir a taxa EURUSD.

Isto é, para definir a cadeia K_Symbol = "USDRUR"; na condição de que o depósito esteja em rublos.

Acho que você pode descobrir como fazer isso. Se o corretor abrir contas em outras moedas, seriam cheques adicionais.

Em palavras, eu entendo tudo. A questão era como registrar...

 
neman:

Em palavras, eu entendo tudo. A questão era como escrevê-la...


Bem, há de tudo em nosso diálogo.

string K_Symbol;

if(AccountCurrency() == "USD") K = 1;
else
if(AccountCurrency() == "RUR")
 {
  K_Symbol = "USDRUR";
  K = iClose(K_Symbol, H1, 0);
 }
else
if(AccountCurrency() == "EUR")
 {
  K_Symbol = "EURUSD";
  K = iClose(K_Symbol, H1, 0);
 }


A segunda opção é um pouco mais curta...

string K_Symbol;

if(AccountCurrency() == "USD") K = 1;
else
 {
  if(AccountCurrency() == "RUR") K_Symbol = "USDRUR";
   if(AccountCurrency() == "EUR") K_Symbol = "EURUSD";
  K = iClose(K_Symbol, H1, 0);
 }


E a terceira opção, para todas as ocasiões e todas as moedas do depósito, um pouco mais complicada, e eu não vou inventar, e pronto não tenho, não houve necessidade de escrever.

 

Muito obrigado!

 
pycha:

Se isso facilitar as coisas, vou postar de novo corretamente. escrevi uma função para detectar flytags e tropecei em algo que não entendo. se a declaração não funcionar. talvez eu tenha escrito algo errado em algum lugar, quero que você dê uma nova olhada, porque não entendo por quê. até gravei um vídeo de depuração mostrando valores iguais, mas não funciona. por favor, coloque meu cérebro de volta em))))




link do vídeo https://www.youtube.com/watch?v=k9Zo0SgrMCA



Não posso apagar o post anterior, copiei tudo em html e removi a tag que você precisa para editar o post

Você ouviu alguma coisa sobre a comparação de números reais?

A solução para o problema foi sugerida há muito tempo e mais de uma vez.

Eu apaguei o post anterior.

Razão: