Perguntas de um "boneco" - página 163

 

O Urain descreveu a função acima.

Obter a hora da barra do prazo desejado com base na data.

 

Pode dizer-me porque é que recebo valores diferentes ao calcular tamanhos de lotes em diferentes CD?

Por exemplo: 1DC - fundos disponíveis: 10000, mín.lote 0,01 calculado 100% dos fundos disponíveis obter tamanho de lote 79,37

2DC - fundos grátis: 10000, min.lote 0,01 calculado 100% dos fundos disponíveis obtêm o tamanho de lote 7,96.

O que não levo em conta, porque é que o tamanho do lote é diferente?

 
pusheax:

Pode dizer-me porque é que recebo valores diferentes ao calcular tamanhos de lotes em diferentes CD?

Por exemplo: 1DC - fundos disponíveis: 10000, mín.lote 0,01 calculado 100% dos fundos disponíveis obter tamanho de lote 79,37

2DC - fundos grátis: 10000, min.lote 0,01 calculado 100% dos fundos disponíveis obtêm o tamanho de lote 7,96.

O que não levo em conta, porque é que o tamanho do lote é diferente?


Há empresas de corretagem onde 1 lote = 10000 unidades da moeda base (por exemplo, Insta). Consultar a especificação dos contratos.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
pusheax:

Pode dizer-me porque é que recebo valores diferentes ao calcular tamanhos de lotes em diferentes CD?

Por exemplo: 1DC - fundos disponíveis: 10000, mín.lote 0,01 calculado 100% dos fundos disponíveis obter tamanho de lote 79,37

2DC - fundos grátis: 10000, min.lote 0,01 calculado 100% dos fundos disponíveis obtêm o tamanho de lote 7,96.

O que não levo em conta, porque é que o tamanho do lote é diferente?

Número de sinais?
 
Silent:
Número de caracteres?
O que é que o número de dígitos tem a ver com isto? Não é sequer uma ordem de magnitude de diferença. É a diferença de 0,23 lotes. E o par é exactamente o mesmo? E o preço de abertura?
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
sumkin75:
O que é que os sinais de chamada têm a ver com isto. A questão nem sequer é uma ordem de grandeza de diferença. É a diferença de 0,23 lotes. E o par é exactamente o mesmo? E o preço de abertura?

A isto chama-se um mini ou microreal.

Alguns comerciantes simplesmente dão lotes fracionários, outros mudam o tamanho do contrato, por isso um lote 0,01 numa conta normal transforma-se em 1 lote numa conta microreal.

Estas são as chamadas contas em cêntimos.

Pode obter o valor desta forma:

SymbolInfoDouble(_Symbol,SYMBOL_TRADE_CONTRACT_SIZE);
 
sumkin75:
O que é que os sinais de chamada têm a ver com isto? Não é sequer uma ordem de magnitude de diferença. É apenas a diferença de 0,23 lotes. E o par é exactamente o mesmo? E qual é o preço de abertura?

Sim, deu-me uma boa dica!

Será que continuo a fazer isto?

g_d_ContractSize = SymbolInfoDouble(s_Symbol,SYMBOL_TRADE_CONTRACT_SIZE);//Trading contract size 10000-Insta, 100000-other

g_d_ContractSizeDiv = 100000/g_d_ContractSize;//Diferença

e depois multiplicar g_d_ContractSizeDiv pelo tamanho do lote?

 
Pode dizer-me se existe uma função pronta a usar para dividir por milhares, por exemplo: de 1000000 a 1 000 000?
 
pusheax:
Sabe se existe uma função que divide um número em milhares, como 1000000 a 1 000 000?

Por isso, compreendo que é preciso uma divisão visual, depois é preciso converter o número em string. E depois fazer o que for preciso com cordel.

A função que deseja está em falta, mas pode facilmente criá-la você mesmo usando a função StringSubstr().

Funções das cordas

É mais ou menos isso:

string FormatInteger(ulong val)
  {
   string temp=IntegerToString(val),res="";
   int len=StringLen(temp);
   int i=len-3;   
   while(i>=0)
     {
      res=" "+StringSubstr(temp,i,3)+res;
      i-=3;      
     }
   if(len%3!=0)res=" "+StringSubstr(temp,0,len%3)+res;  
   return(res);  
  }
void OnStart()
  {
   Print(FormatInteger(10000000));   
  }
 
Urain:

Por isso, compreendo que é preciso uma divisão visual, depois é preciso converter o número em string. E depois fazer o que for preciso com cordel.

A função que deseja está em falta, mas pode facilmente criá-la você mesmo usando a função StringSubstr().

Funções das cordas

É isso mesmo:

Obrigado, vou tentar adicioná-lo.