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 636

 

Linha de código:

int Dgt=MarketInfo(Symbol(),MODE_DIGITS);

Advertência:

possível perda de dados devido à conversão do tipo FinBuy1531.mq4 144 7

Acho que os tipos correspondem uns aos outros. O que está errado aqui?

 
hurkin:

Linha de código:

Advertência:

possível perda de dados devido à conversão do tipo FinBuy1531.mq4 144 7

Os tipos correspondem à minha opinião. O que há de errado aqui?

Não corresponder, MarketInfo(...) retorna o valor do tipoduplo

algo como isto:

int Dgt=(int)MarketInfo(Symbol(),MODE_DIGITS);
 
r772ra:

Sem correspondência, MarketInfo(...) retorna um valor do tipoduplo

assim:

Exemplo do diretório:

duplo vpoint =MarketInfo("EURUSD",MODE_POINT);
int vdigits =MarketInfo("EURUSD",MODE_DIGITS);
Algo mais parece estar errado?

 
Shurkin:

Um exemplo do diretório:

duplo vpoint =MarketInfo("EURUSD",MODE_POINT);
int vdigits =MarketInfo("EURUSD",MODE_DIGITS);
Algo mais parece estar errado?

No caso de "MODE_DIGITS", "MarketInfo" retorna um valor do tipo "duplo". Aqui parece ser um erro de implementação do "MarketInfo". Portanto, a maneira correta seria:

int Dgt=(int)MarketInfo(Symbol(),MODE_DIGITS);
 

Todas as últimas perguntas!

OBJ_LABEL. nas descrições dos objetos, há texto (não nome) e dígito, mudanças de dígito com carrapatos.

Como faço para tirar o número?

 
Top2n:

Todas as últimas perguntas!

Há OBJ_LABEL. nas descrições dos objetos, há texto (não nome) e dígito, mudanças de dígito com carrapatos.

Como faço para tirar o número?

StringFind o ajudará. E há o StringToInteger ou o Long StringToInteger
 

Boa tarde. Por favor, ajude-me a resolver o problema.

Instalei o MT4 646º edifício. Coloquei em pasta ...\MetaTrader 4 Admiral Markets AS\MQL4\Indicadores dois arquivos - um arquivo com código indicador LC-RSI_Histo3.mq4 e um arquivo com código indicador LC-RSI_Histo3.ex4 compilado. Executo o indicador - ele funciona. No entanto, quero mudar o código fonte. Abro o editor de código embutido. O problema é que após qualquer alteração, mesmo cosmética, no código (por exemplo, adição de um espaço) e sua subseqüente compilação, o indicador após a partida funciona incorretamente - todas as suas colunas mostram o mesmo valor:

O arquivo .ex4 compilado (anexado com o nome LC-RSI_Histo3_1.ex4) pesa muito mais que o original (copiado para a pasta).

Qual é a razão? Como corrigi-lo?

Arquivos anexados:
 

Olá a todos!

Ajude-me com este erro: Código nº 7 "Direitos insuficientes" ou "Direitos insuficientes".

O que está acontecendo: Um consultor especializado em um par EURCHFX M1 não pode abrir uma posição, este erro aparece (encontrado na revista), mas ao mesmo tempo, abre sem problemas em outros pares e EURCHF M5. Abre à mão sem qualquer problema. Em outro corretor, funciona. Qual pode ser o problema?

Agradeço antecipadamente a ajuda de vocês.

 
AlexeyVik:
StringFind é o seu guia. E então int StrToInteger ou StringToInteger longo


Esta função retorna o número de posição no período de tempo, não o número em si.

int  StringFind(
   string  string_value,        // строка, в которой ищем
   string  match_substring,     // что ищем
   int     start_pos=0          // с какой позиции начинать поиск
   );

Digamos que eu tenho o número da posição, então como eu extraio esta posição?

 
Boeing747:

Alguém tem um pedaço de código para um exemplo em que os elementos de um conjunto de cordas estão agrupados em ordem alfabética?

obrigado antecipadamente.


   string w[]={"E","c","f","b","j","R","A","H","a","c"}; // массив для экзекуции
   int size=ArraySize(w);
   string abc[]={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
   string ABC[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
   int c,e,i;

   for(i=0; i<26; i++)
     {
      for(e=c; e<size; e++)
        {
         if(ABC[i]==w[e])
           {
            w[e]=w[c];
            w[c]=ABC[i];
            c++;
           }
         else
           {
            if(abc[i]==w[e])
              {
               w[e]=w[c];
               w[c]=abc[i];
               c++;
              }
           }


        }
     }
   
   Alert(w[0],w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],w[9]);

Outro exemplo para tarefas aplicadas

   string w[]={"EURUSD","USDCHF","BRNQ4","AUDUSD","GOLD","AUDCHF","NZDUSD","USDCAD","SILVER","GBPUSD"}; // массив для экзекуции
   int size=ArraySize(w);
   string f=" ";
   string ABC[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
   int c,e,i;

   for(i=0; i<26; i++)
     {
      for(e=c; e<size; e++)
        {
         f=w[e];
         if(ABC[i]==StringSubstr(f,0,1))
           {
            w[e]=w[c];
            w[c]=f;
            c++;
           }
        }
     }

   Alert(w[0],", ",w[1],", ",w[2],", ",w[3],", ",w[4],", ",w[5],", ",w[6],", ",w[7],", ",w[8],", ",w[9]);



Razão: