Alle Fragen von einem PROFI an einen SUPER PROFI - 1. - Seite 18

 
C-4:


Danke für den Rat. Aber aus irgendeinem Grund scheint die Funktion ein bisschen eng zu sein:

Es wurden 500 SBs verwendet, und irgendwie scheinen 99,7 % von ihnen nicht innerhalb von drei Sigmas zu liegen.

Nun, wir müssen die Software direkt berechnen und sie überprüfen. Zu der Abbildung gibt es nicht viel zu sagen - mir scheint alles korrekt zu sein.

Wenn das Generierungsschema binomisch ist und benachbarte Stichproben völlig unabhängig sind, sollte das TSP erfüllt sein. Wenn jedoch die Unabhängigkeitsbedingung nicht erfüllt ist (schlechter Oszillator usw.), sind "fette Schwänze" durchaus möglich

 
 

Wie berechnet man die Textgröße in Pixeln?

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 ist wahrscheinlich korrekter

aber im Prinzip zählt auch DrawTextA. Das Einzige, was Sie tun müssen, ist, HFONT auf den gewünschten Wert zu ändern. Andernfalls wird das Ergebnis meiner Meinung nach nicht ganz korrekt sein.
 
sergeev:

GetTextExtentPoint32 ist wahrscheinlich korrekter

Die String-Variable speichert den int-Wert in ihrer internen Darstellung in vier Bytes.

Wie sie dorthin gekommen ist, ist nicht wichtig.

Können wir diese Zahl in eine int-Variable übertragen, ohne bitweise Operationen zu verwenden?

 
more:

Die String-Variable speichert den int-Wert in der internen Darstellung in vier Bytes.

Wie sie dorthin gekommen ist, ist nicht wichtig.

Können wir diese Zahl in eine int-Variable übertragen, ohne bitweise Operationen zu verwenden?

std::string sText = "12";
int nValue = (MAX_CHAR + 1) * sText[0] + sText[1];
Ungefähr so für zwei Bytes.
 
Zhunko:
Hierüber für zwei Bytes.

Was ist das?

Ich spreche von Variablen in einem MQL4-Programm.

 
more:

Die String-Variable speichert den int-Wert in der internen Darstellung in vier Bytes.

Wie sie dorthin gekommen ist, ist nicht wichtig.

Können wir diese Zahl in eine int-Variable übertragen, ohne bitweise Operationen zu verwenden?


Sie können dies tun, indem Sie jedes Byte mit einer Potenz von 256 multiplizieren und addieren. Ungefähr so...

 
Integer:


Das geht, indem man jedes Byte mit einer Potenz von 256 multipliziert und addiert.

Mit anderen Worten: Es geht so:

int i = StringGetChar(str,3) ;

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

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

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


Sehr gut.

Ich danke Ihnen!