mql5 언어의 특징, 미묘함 및 작업 방법 - 페이지 39

 
바실리 소콜로프 :
유니온에 의한 캐스팅의 완전한 교체는 언급되지 않았습니다.
예, 그들은 기회를 차단합니다.
 
바실리 소콜로프 :

바이너리 쓰기/읽기를 통한 임의 캐스팅... 불을 꺼라. 더 읽을 필요가 없습니다...

더 나은 제안이 있습니까?
 
바실리 소콜로프 :

ps 귀하의 코드를 살펴보았습니다:

바이너리 쓰기/읽기를 통한 임의 캐스팅... 불을 꺼라. 더 읽을 필요가 없습니다...

사용자 정의 생성자와 복사 연산자가 없는 단순한 구조 인 공용체를 통한 임의의 캐스팅이 있습니다. 이 리소스의 모든 기사에 대해 이 캐스팅이 작동합니다.

 template < typename T>
class CASTING
{
public :
   template < typename T1>
   static const T Casting( const T1 &Value )
  {
    union CAST
    {
      T1 Value1;
       const T Value2;

      CAST( const T1 &Value)
      {
         this .Value1 = Value; // кастомный оператор может все испортить
      }
    };

     const CAST Union(Value);

     return (Union.Value2);
  }
};

#define _C(A, B) CASTING<A>::Casting(B)

void OnStart ()
{
   MqlTick Tick = { 0 };
  
  Tick = _C( MqlTick , Tick); // Tick = (MqlTick)Tick;
}

하지만 캐스팅을 100% 덮고 싶은 사람 - 파일을 통해. 선택이 있습니다.

 
결합기 :
더 나은 제안이 있습니까?
구조 및 할당 연산자 에서 사용자 정의 생성자를 사용하지 않는 것이 분명합니다. 간단한 코드를 작성하십시오.
 
바실리 소콜로프 :
구조 및 할당 연산자 에서 사용자 정의 생성자를 사용하지 않는 것이 분명합니다. 간단한 코드를 작성하십시오.
그런 다음 구조체의 const 필드를 포기해야 합니다.
 

인기있는 테스트

 if ( ArrayResize (Array, NewSize) == NewSize)
// ....

그래서 이것은 동일하지 않습니다

 if ( ArrayResize (Array, NewSize) == ArraySize (Array))
// ....
 

실제로 ArrayResize() 반환

반환 값

성공하면 이 함수는 크기 조정 후 배열에 포함된 모든 요소의 수를 반환합니다. 그렇지 않으면 -1을 반환하고 배열의 크기는 조정되지 않습니다.


 
로프필드 :

실제로 ArrayResize() 반환

1년 전 행동이 달라졌다. 이번 주에 도움말에 설명이 있었습니다.
 
CopyTicks는 표시기에서만 비동기식입니다.

이제 지표에 대해서만 남아 있습니다. 하나의 요청과 우리가 가지고 있는 데이터로 물러납니다. 그리고 스왑은 자체적으로 작동합니다.

전문가와 스크립트는 약간 다릅니다. 거기에서 필요한 데이터를 기다리기 위해 여러 번 시도합니다. 데이터가 들어오는 동안 시도가 이루어집니다. 의사 소통에 문제가 발생하자마자 우리는 즉시 떨어집니다.

 

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

5월 MetaQuotes-Demo 챔피언십 참가자 등록

블라디미르 카르푸토프 , 2017.05.05 11:54

추가되었습니다. 예, 터미널에서 전체 신호 데이터베이스를 반복해야 합니다.

SignalBaseTotal

터미널에서 사용할 수 있는 총 신호 수를 반환합니다.


그건 그렇고, 나는 이러한 검색 전에(특히 다른 서버에서 전환할 때 또는 시작 직후에) 터미널의 "신호" 탭을 한 번 이상 클릭하는 것이 좋습니다. 이렇게 하면 현재 데이터베이스의 스와핑이 활성화되어야 합니다.