오류, 버그, 질문 - 페이지 2656

 
Andrey Khatimlianskii :

재현할 세부 정보를 제공합니다. 아마도 누군가가 관심을 가질 것입니다. 그래서 기회가 전혀 없습니다.

코드, 도구, 테스트 매개변수.

도구는 이미 그림에서 2 번 이상 나에 의해 표시됩니다. MOEX의 주식 섹션에 있는 모든 코드는 이 결과를 제공합니다. 설정도 any이며, 계산방식을 변경해야만 자기자본이 적절하게 표시되기 시작합니다.
 
Andrey Khatimlianskii :

재현할 세부 정보를 제공합니다. 아마도 누군가가 관심을 가질 것입니다. 그래서 기회가 전혀 없습니다.

코드, 도구, 테스트 매개변수.

물론이죠



 

dll 없이 일반 마우스 포인터를 프로그래밍 방식으로 변경하는 기능이 실제로 부족합니다.

또는 일반 마우스의 렌더링을 끄는 기능.

 

EventChartCustom() 도움말은 다음과 같이 말합니다.

스팸

【인】 OnChartEvent 함수에 전달된 문자열 유형의 이벤트 매개변수입니다. 문자열이 63자보다 길면 문자열이 잘립니다.

그러나 96자 문자열이 성공적으로 전달되었는데 변경된 사항이 있습니까?

여기에서 문자열을 암호화하여 이벤트에 전달하고 성공적으로 해독합니다. 도움말에서 말한 대로 문자열이 잘리지 않고 이것은 훌륭합니다(해독된 후 암호화된 첫 번째 문자열).

2020.02.26 14:36:10.949 아이스파이 (EURUSD,H1) 38CFD250C299F2420D5AFB1D070196F2F9246A164C2B1905C3921E466D6124306D836A2A09D4A06DD4B02FBDD1DE6857

2020.02.26 14:36:10.949 아이스파이 (EURUSD,H1) EURUSD:1.08753:1.0875:0.0:1582716971862:0.0

2020.02.26 14:36:16.391 아이스파이 (EURUSD,H1) 2588EC84729FA3BFE07B09BCB13832AF026A4F9DEA5634477EFF2C1FCAC355A35A67EDC5D5A8621570D3EBF80A7A942A

2020.02.26 14:36:16.391 아이스파이 (EURUSD,H1) EURUSD:1.08752:1.08749:0.0:1582716977068:0.0


실제로 문자열이 잘리지 않고 이벤트에서 얼마나 오래 문자열을 전달할 수 있습니까?


 
Andrey Dik :

EventChartCustom() 도움말은 다음과 같이 말합니다.

스팸

【인】 OnChartEvent 함수에 전달된 문자열 유형의 이벤트 매개변수입니다. 문자열이 63자보다 길면 문자열이 잘립니다.

그러나 96자 문자열이 성공적으로 전달되었는데 변경된 사항이 있습니까?

128바이트. 127개의 uchar 문자 또는 63개의 ushort 문자입니다.

 

MQL에서 그러한 것을 구현하는 방법:

 #include <Controls\Button.mqh>

   class Collection
  {
     protected :
       int size;

     public :
      Collection(CWnd &refs[]) { size = ArraySize (refs); }
  };


void OnStart ()
{
  CButton buttons[];
  CWnd wnd[];
  Collection data1(wnd);     // ok
  Collection data2(buttons); // error
   // 'buttons' - parameter conversion not allowed
   // 'buttons' - variable of the same type expected
}
?
 
fxsaber :

128바이트. 127개의 uchar 문자 또는 63개의 ushort 문자입니다.

실제로는 160바이트입니다.


파일:
 
Stanislav Korotky :

MQL에서 그러한 것을 구현하는 방법:

?
CWnd에서 CButton 상속
아니면 표준 라이브러리 의 클래스 객체 입니까?
각각이 CObject에서 상속된 경우 다음을 수행합니다.
Collection(CObject &refs[]) { size = ArraySize (refs); }
 

개발자 여러분, UTM 태그를 어떻게든 변경할 수 있습니까?


또는 레이블을 순서대로 넣을 수 있습니까?

utm_campaign=mt4터미널

utm_source=properties.indicator

utm_medium=indicatorName

utm_term=indicatorVersion

utm_content=연도


현재 현재 UTM 태그는 정보가 없습니다...

Finteza panel: website analytics and advertising management
Finteza panel: website analytics and advertising management
  • panel.finteza.com
Real-time unsampled analytical data, traffic attribution and quality evaluation, creation of conversion funnels and targeted advertising in apps and websites
 
Artyom Trishkin :
CWnd에서 CButton 상속
아니면 표준 라이브러리 의 클래스 객체 입니까?
각각이 CObject에서 상속된 경우:

문제의 사실은 클래스 트리에 공통 노드 CWnd가 있다는 것입니다(CObject는 더 나아가 일반적으로 루트에 있음).

CButton -> CWndObj -> CWnd -> CObject.

메서드의 매개변수를 CObject로 변경하면 2배 더 많은 오류가 발생합니다.

'wnd' - parameter conversion not allowed
'wnd' - variable of the same type expected
'buttons' - parameter conversion not allowed
'buttons' - variable of the same type expected

어레이가 아닌 경우에도 유사한 클래스 계층이 작동합니다. 다음은 컴파일된 코드입니다.

 #include <Controls\Button.mqh>

   class Collection
  {
     protected :
       int size;

     public :
      Collection(CWnd &object) { size = 1 ; }
  };


void OnStart ()
{
  CButton button1;
  CWnd wnd1;
  Collection data1(wnd1);     // ok
  Collection data2(button1);   // ok
}

문제는 어레이에서도 작동하도록 하는 방법입니다.

템플릿이 도움이 된다는 것을 알고 있지만 그냥 피하고 싶습니다.

IMHO는 상속 권한으로 템플릿 없이 작동해야 합니다.

C ++에서와 같이 확인되었습니다.

 class CWnd
{
   public :
     int x;
    CWnd( int _x = 0 ): x(_x){}
};
class CButton: public CWnd
{
   public :
    CButton(): CWnd( 10 ) {}
};

class Collection
{
   public :
    Collection(CWnd (&ptrs)[ 1 ]) { cout << ptrs[ 0 ].x; }
};


int main()
{
  CButton buttons[ 1 ];
  CWnd wnd[ 1 ];
  Collection data1(wnd);
  Collection data2( (CWnd (&)[ 1 ]) buttons);
   return 0 ;
}

공장. 그러나 MQL은 인덱스가 있든 없든 이를 소화하지 않습니다.