Toute question d'un PROFI à un SUPER PROFI - 1. - page 18

 
C-4:


Merci pour le conseil. Mais pour une raison quelconque, la fonction semble un peu étroite :

500 SB ont été utilisés et, d'une manière ou d'une autre, 99,7 % d'entre eux ne semblent pas correspondre à trois sigmas.

Eh bien, nous devons calculer le logiciel directement et le vérifier. Il n'y a pas grand-chose à dire sur la figure - tout me semble correct.

Si le schéma de génération est binomial et que les échantillons voisins sont complètement indépendants, la TSP devrait être satisfaite. Mais si la condition d'indépendance n'est pas remplie (mauvais oscillateur, etc.), les "queues de pie" sont tout à fait possibles.

 
 

comment calculer la taille du texte en pixels ?

DrawText vs GetTextExtent

#define DT_CALCRECT 0x00000400

#import "user32.dll"
        int DrawTextA(int hDC, string lpchText, int nCount, int lpRect[4], int uFormat);
        int GetWindowDC(int hWnd);
        int ReleaseDC(int hWnd, int hDC);
#import

start()
{
  string txt="abcdef1234567";
  int hWnd=WindowHandle(Symbol(), Period());
  int hDC=GetWindowDC(hWnd);
  int rect[4]={0,0,0,0};
  DrawTextA(hDC, txt, 8, rect, DT_CALCRECT);
  ReleaseDC(hWnd, hDC);
  Print("x1="+rect[0]+" y1="+rect[1]+"  x2="+rect[2]+" y2="+rect[3]);
}
 
// Функция GetTextExtentPoint32 вычисляет ширину и высоту заданной строки текста.
BOOL GetTextExtentPoint32
(
  HDC hdc,           // дескриптор DC
  LPCTSTR lpString,  // текстовая строка
  int cbString,      // число символов в строке
  LPSIZE lpSize      // размер строки
);
 

GetTextExtentPoint32 est probablement plus correct.

mais en principe, DrawTextA compte aussi. La seule chose à faire est de changer HFONT par celui qui est requis. Sinon, je ne pense pas que le résultat sera tout à fait correct.
 
sergeev:

GetTextExtentPoint32 est probablement plus correct.

La variable string stocke la valeur int dans sa représentation interne en quatre octets.

Comment il est arrivé là n'est pas important.

Peut-on faire entrer ce nombre dans une variable int sans utiliser d'opérations sur les bits?

 
more:

La variable string stocke la valeur int dans la représentation interne en quatre octets.

Comment il est arrivé là n'est pas important.

Peut-on faire entrer ce nombre dans une variable int sans utiliser d'opérations sur les bits ?

std::string sText = "12";
int nValue = (MAX_CHAR + 1) * sText[0] + sText[1];
Approximativement comme ça pour deux octets.
 
Zhunko:
A propos de ça pour deux octets.

Qu'est-ce que c'est ?

Je parle des variables dans un programme MQL4.

 
more:

La variable string stocke la valeur int dans la représentation interne en quatre octets.

Comment il est arrivé là n'est pas important.

Peut-on faire entrer ce nombre dans une variable int sans utiliser d'opérations sur les bits ?


Vous pouvez, en multipliant chaque octet par une puissance de 256 et en l'additionnant. Quelque chose comme ça, en gros...

 
Integer:


Vous pouvez, en multipliant chaque octet par une puissance de 256 et en l'additionnant.

En d'autres termes, ça se passe comme ça :

int i = StringGetChar(str,3) ;

i +=StringGetChar(str,2) * 256 ;

i +=StringGetChar(str,1) * 256*256 ;

i +=StringGetChar(str,0) * 256*256*256 ;


Très bien.

Merci !