mql4 언어의 기능, 미묘함 및 작업 방법 - 페이지 16

 
나는 당신이 친구가되기를 바랍니다
 
Fast528 :
나는 당신이 친구가되기를 바랍니다

타이탄의 전쟁은 없을 것입니다.

 
스레드가 죽지 않기를 바랍니다. 다음 문제가 있습니다. 모니터가 4k이므로 Windows에서 글꼴이 증가합니다(200% 크기). 표시기용 텍스트 개체 를 만들 때 텍스트 크기는 Windows 설정을 기반으로 하고 크기도 조정됩니다. 결과적으로 일반 시스템에서 정상적으로 보이는 작업을 수행하면 내 컴퓨터에서 텍스트가 각 항목 위에 올라갑니다. 기타, 하지만 당신이 나를 위해 정상적으로 한다면, 일반 설정에서는 텍스트가 너무 작습니다. 사용자가 직접 스케일링 또는 스케일링되지 않은 옵션을 선택하도록 표시기에서 입력 설정을 했지만 별로 마음에 들지 않습니다.

프로그램에서 현재 창에 있는 글꼴(확대 여부)을 직접 확인하고 사용자를 건드리지 않고 코드에서 수정하는 방법이 있습니까? 일부 사람들은 크기가 조정된 텍스트가 있는 4k 모니터를 가지고 있으며 시장의 대부분의 표시기(텍스트가 사용되는 곳)가 그들에게 가난하고 무섭게 보입니다.
 
Olga Miakhovich :
스레드가 죽지 않기를 바랍니다. 다음과 같은 문제가 있습니다. 모니터가 4k이므로 Windows에서 글꼴이 증가합니다(200% 크기). 표시기용 텍스트 개체 를 만들 때 텍스트 크기는 Windows 설정을 기반으로 하고 크기도 조정됩니다. 결과적으로 일반 시스템에서 정상적으로 보이는 작업을 수행하면 내 컴퓨터에서 텍스트가 각 항목 위에 올라갑니다. 기타, 하지만 당신이 나를 위해 정상적으로 한다면, 일반 설정에서는 텍스트가 너무 작습니다. 사용자가 직접 스케일링 또는 스케일링되지 않은 옵션을 선택하도록 표시기에서 입력 설정을 했지만 별로 마음에 들지 않습니다.

프로그램에서 현재 창에 있는 글꼴(확대 여부)을 직접 확인하고 사용자를 건드리지 않고 코드에서 수정하는 방법이 있습니까? 일부 사람들은 크기가 조정된 텍스트가 있는 4k 모니터를 가지고 있으며 시장의 대부분의 표시기(텍스트가 사용되는 곳)가 그들에게 가난하고 무섭게 보입니다.

리소스 작업으로 전환해야 합니까, 아니면 CCanvas로 작업해야 합니까?

그런 다음 운영 체제 설정에 따라 글꼴 크기를 설정할 수 있습니다.

TextOut(), TextSetFont()에 대해 읽기

Документация по MQL5: Графические объекты / TextSetFont
Документация по MQL5: Графические объекты / TextSetFont
  • www.mql5.com
Устанавливает шрифт для вывода текста методами рисования и возвращает результат успешности этой операции. По умолчанию используется шрифт Arial и размер -120 (12 pt). [in]  Размер шрифта, который может задаваться положительными и отрицательными значениями. При положительных значениях размер выводимого текста не зависит от настроек размеров...
 
모든 것, 해결책을 찾았습니다. 궁금하신 분들을 위해: TerminalInfoInteger (TERMINAL_SCREEN_DPI) 함수를 사용하십시오. 표준 스케일링을 사용하면 96이 됩니다. 2배 이상인 경우 스케일링은 각각 2배입니다.
 
Olga Miakhovich :
모든 것, 해결책을 찾았습니다. 궁금하신 분들을 위해: TerminalInfoInteger(TERMINAL_SCREEN_DPI) 기능을 사용하십시오. 표준 스케일링을 사용하면 96이 됩니다. 2배 이상인 경우 스케일링은 각각 2배입니다.

해결책은 도움말에 있습니다.

스케일 팩터 계산 의 예 :

//--- 화면에 1.5인치 너비의 버튼 생성
int screen_dpi = 터미널 정보 정수 ( TERMINAL_SCREEN_DPI ); // 사용자 모니터의 DPI 가져오기
정수 base_width = 144; // DPI=96인 표준 모니터에 대한 화면 픽셀의 기본 너비
정수 너비 = (버튼 너비 * 화면 dpi) / 96; // 사용자 모니터의 버튼 너비 계산(DPI 고려)
...
 
//--- 퍼센트 단위의 배율 계산
int scale_factor=( TerminalInfoInteger ( TERMINAL_SCREEN_DPI ) * 100) / 96;
//--- 스케일링 팩터 사용
너비=(base_width * scale_factor) / 100;

 
Vladimir Pastushak :

해결책은 도움말에 있습니다.

예, 하지만 글꼴용이 아닙니다.

올가 미아호비치 :
모든 것, 해결책이 발견되었습니다.

사실이야? 스케일링이 모니터 dpi에 영향을 줍니까?

 
다차원 배열 을 위한 ArrayResize의 기능
 void OnStart ()
{
   int Array[][ 2 ];
  
   Print ( ArrayResize (Array, 7 )); // MQL5 - 7, MQL4 - 14
   Print ( ArraySize (Array));       // 14
}
 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

mql5 언어의 특징, 미묘함 및 작업 방법

fxsaber , 2019.02.19 22:28

같은 가격으로 포지션을 오픈하고 마감한 것을 볼 수 있습니다. 그러나 정규화 없이 비교할 때 가격은 동일하지 않습니다!

 
네, 그렇습니다.
사유: