Domande da un "manichino" - pagina 163

 

Urain ha descritto la funzione sopra.

Ottiene il tempo della barra del timeframe desiderato in base alla data.

 

Potete dirmi perché ottengo valori diversi quando calcolo le dimensioni dei lotti in diversi DC?

Per esempio: 1DC - fondi disponibili: 10000, min.lot 0.01 calcolato il 100% dei fondi disponibili per ottenere la dimensione del lotto 79.37

2DC - fondi liberi: 10000, min.lot 0.01 calcolato il 100% dei fondi disponibili ottiene la dimensione del lotto 7.96.

Quello che non prendo in considerazione, perché la dimensione del lotto è diversa?

 
pusheax:

Potete dirmi perché ottengo valori diversi quando calcolo le dimensioni dei lotti in diversi DC?

Per esempio: 1DC - fondi disponibili: 10000, min.lot 0.01 calcolato il 100% dei fondi disponibili per ottenere la dimensione del lotto 79.37

2DC - fondi liberi: 10000, min.lot 0.01 calcolato il 100% dei fondi disponibili ottiene la dimensione del lotto 7.96.

Quello che non prendo in considerazione, perché la dimensione del lotto è diversa?


Ci sono società di brokeraggio dove 1 lotto = 10000 unità della valuta di base (ad esempio Insta). Fare riferimento alle specifiche dei contratti.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
pusheax:

Potete dirmi perché ottengo valori diversi quando calcolo le dimensioni dei lotti in diversi DC?

Per esempio: 1DC - fondi disponibili: 10000, min.lot 0.01 calcolato il 100% dei fondi disponibili per ottenere la dimensione del lotto 79.37

2DC - fondi liberi: 10000, min.lot 0.01 calcolato il 100% dei fondi disponibili ottiene la dimensione del lotto 7.96.

Quello che non prendo in considerazione, perché la dimensione del lotto è diversa?

Numero di segni?
 
Silent:
Numero di caratteri?
Cosa c'entra il numero di cifre? Non è nemmeno un ordine di grandezza di differenza. È la differenza di 0,23 lotti. E la coppia è esattamente la stessa? E il prezzo di apertura?
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
sumkin75:
Cosa c'entrano i segnali di chiamata. La questione non è nemmeno un ordine di grandezza di differenza. È la differenza di 0,23 lotti. E la coppia è esattamente la stessa? E il prezzo di apertura?

Questo è chiamato mini o microreale.

Alcuni commercianti danno semplicemente lotti frazionari, altri cambiano la dimensione del contratto, così un lotto 0,01 in un conto regolare si trasforma in 1 lotto in un conto microreale.

Questi sono i cosiddetti conti in centesimi.

Potete ottenere il valore in questo modo:

SymbolInfoDouble(_Symbol,SYMBOL_TRADE_CONTRACT_SIZE);
 
sumkin75:
Cosa c'entrano i segnali di chiamata? Non è nemmeno una questione di un ordine di grandezza di differenza. È solo la differenza di 0,23 lotti. E la coppia è esattamente la stessa? E qual è il prezzo di apertura?

Sì, mi hai dato un buon suggerimento!

Devo continuare a fare così?

g_d_ContractSize = SymbolInfoDouble(s_Symbol,SYMBOL_TRADE_CONTRACT_SIZE);//Dimensione del contratto di trading 10000-Insta, 100000-altro

g_d_ContractSizeDiv = 100000/g_d_ContractSize;//Differenza

e poi moltiplicare g_d_ContractSizeDiv per la dimensione del lotto?

 
Potete dirmi se c'è una funzione pronta all'uso per dividere per migliaia, per esempio: da 1000000 a 1 000 000?
 
pusheax:
Sapete se esiste una funzione che divide un numero in migliaia, come 1000000 a 1 000 000?

Quindi capisco che hai bisogno di una divisione visiva, poi devi convertire il numero in stringa. E poi fate tutto quello che dovete fare con le stringhe.

La funzione che volete manca, ma potete facilmente crearla da soli usando la funzione StringSubstr().

Funzioni di stringa

Più o meno è così:

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:

Quindi capisco che hai bisogno di una divisione visiva, poi devi convertire il numero in stringa. E poi fate tutto quello che dovete fare con le stringhe.

La funzione che volete manca, ma potete facilmente crearla da soli usando la funzione StringSubstr().

Funzioni di stringa

Questo è tutto:

Grazie, cercherò di aggiungerlo.