Qualsiasi domanda da un PROFI a un SUPER PROFI - 1. - pagina 17

 
Ho ragione nel supporre che ho bisogno di convertire le stringhe in un array di interi?
 
hrenfx:
Ho ragione nel supporre che ho bisogno di convertire le stringhe in un array di interi?
A Unicode. L'array di interi è solo da sostituire alla DLL
 

Questo?

#define SIZEOF_INT 4
#define BYTE_BITS 8
#define SIZEOF_ANSI 1
#define SIZEOF_UNICODE 2

void StringToINT( string Str, int& Buffer[], bool UniCode = FALSE )
{
  int Koef;
  
  if (UniCode)
    Koef = SIZEOF_UNICODE;
  else
    Koef = SIZEOF_ANSI;
    
  int i = 0, j, Len = StringLen(Str);
  int Pos = 0, Size =  Koef * Len / SIZEOF_INT;
    
  if ((Koef * Len) % SIZEOF_INT > 0)
    Size++;
    
  ArrayResize(Buffer, Size);
    
  while (i < Len)
  {
    Buffer[Pos] = 0;
    
    for (j = 0; j < SIZEOF_INT / Koef; j++)
    {
      if (i < Len)
        Buffer[Pos] |= StringGetChar(Str, i) << (Koef * j * BYTE_BITS);
        
      i++;
    }
    
    Pos++;
  }
  
  return;
}

string INTToString( int& Buffer[], bool UniCode = FALSE )
{
  string Str = "";
  int Tmp, Size = ArraySize(Buffer);
  int Koef;
  
  if (UniCode)
    Koef = SIZEOF_UNICODE;
  else
    Koef = SIZEOF_ANSI;
  
  for (int i = 0; i < Size; i++)
  {
    Tmp = Buffer[i];
    
    while (Tmp != 0)
    {
      Str = Str + CharToStr(Tmp & 0xFF);
      
      Tmp >>= Koef * BYTE_BITS;
    }
  }  
  
  return(Str);
}

void start()
{
  int Buffer[];
  string Str = "abcde";
  
  StringToINT(Str, Buffer, FALSE); // ANSI
  Str = INTToString(Buffer, FALSE); // ANSI
  Print(ArraySize(Buffer));

  Print(Str);

  StringToINT(Str, Buffer, TRUE); // UNICODE
  Str = INTToString(Buffer, TRUE); // UNICODE  

  Print(ArraySize(Buffer));
  Print(Str);
  
  return;
} 
 

Grazie a tutti per il vostro aiuto e la vostra partecipazione.

a pagina 15 - Zhunko e TheXpert mi hanno già indicato la direzione giusta e ho fatto quasi tutto bene :)


Ma per inesperienza, ho dimenticato e ho inviato la funzione MultiByteToWideChar invece di CP_ACP a CP_UTF8

Grazie a Dio Ilnur è arrivato e ha corretto il mio codice, altrimenti volevo rinunciare a questo robot in MT4


Grazie ancora a tutti per la soluzione, siamo una banda insieme!:)

 
File:
 

Sto sviluppando un indicatore che incorpora una campana di distribuzione normale. Di conseguenza, ecco il problema da risolvere.

Per stimare la significatività statistica dei risultati ottenuti abbiamo bisogno di trovare il valore della deviazione standard di un processo casuale al momento del test N. In questo caso l'aspettativa matematica è nota in anticipo ed è uguale a zero, mentre la probabilità di esito positivo (+1) di ogni prova è uguale alla probabilità di esito negativo (-1) ed è uguale a 0,5 in modo corrispondente.

Esempio 1. Due giocatori giocheranno una partita di aquila fino a fare 1000 lanci di moneta. Determinare i limiti della gamma, in cui uno di loro vincerà e l'altro perderà con una probabilità del 99,7%.

Cioè, tutto ciò che serve è una formula per questa curva sigma. Lo so, il problema è vecchio come il mondo e io stesso so come calcolare queste deviazioni sulla base della sequenza disponibile (MNC), ma ho bisogno di calcolarlo da solo, senza BP stesso.

 
C-4:

Sto sviluppando un indicatore che incorpora una campana di distribuzione normale. Di conseguenza, ecco il problema da risolvere.

Per stimare la significatività statistica dei risultati ottenuti abbiamo bisogno di trovare il valore della deviazione standard di un processo casuale al momento del test N. In questo caso l'aspettativa matematica è nota in anticipo ed è uguale a zero, mentre la probabilità di esito positivo (+1) di ogni prova è uguale alla probabilità di esito negativo (-1) ed è uguale a 0,5 in modo corrispondente.

Esempio 1. Due giocatori giocheranno una partita di aquila fino a fare 1000 lanci di moneta. Determinare i limiti della gamma, in cui uno di loro vincerà e l'altro perderà con una probabilità del 99,7%.

Cioè, tutto ciò che serve è una formula per questa curva sigma. Lo so, il problema è vecchio come il mondo, e io stesso so come calcolare queste deviazioni sulla base della sequenza disponibile (OLS), ma ho bisogno di calcolarlo da solo, senza BP.

C-4,

Per una distribuzione binomiale, che è il caso qui (e che si approssima bene a una distribuzione normale quando N è grande), la deviazione standard (sigma) è sqrt(N*p*q), dove N è il numero di prove, p è la probabilità di una singola vittoria, q = 1-p è la probabilità di una singola perdita.

la radice aggiunta)))

 

Cioè sqrt(1000*0.5*0.5) = sqrt(250) = 15.81

Di conseguenza, il 99,7% rientra in più o meno tre sigma 3*15,81 = 47,434

 
In generale, per determinare approssimativamente qualsiasi quantile dello schema binomiale, si può usare il teorema integrale di Mois-Laplace (google). I valori della funzione F(x) sono ben tabulati, ed esistono algoritmi che eseguono l'integrazione numerica. Il problema è standard, quindi è già stato risolto un milione di volte)
 
alsu:

Cioè, sqrt(1000*0.5*0.5) = sqrt(250) = 15.81

Di conseguenza, il 99,7% di loro sono entro più o meno tre sigma 3*15,81 = 47,434


Grazie per il suggerimento. Ma per qualche motivo la funzione sembra un po' stretta:

Sono stati utilizzati 500 SB e in qualche modo non sembra che il 99,7% di essi rientri nei tre sigma.