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

 
fxsaber :

속도 또는 개체를 위해 수정 없이 참조로 전달할 필요가 있습니다.

글쎄, 이것에는 전혀 문제가 없습니다. 수정을 위해 전송할 필요가 없다면 내가 쓴 모든 것을 귀에다 건너 뛸 수 있습니다)

이 문제가 발생할 때 MQL5에 실제 예가 있습니까?

편의성의 실제 예가 누락되었습니다.

글쎄, 나는 모든 것을 단어와 코드로 자세히 설명 한 것 같습니다. 어떤 이유로 이것은 당신에게 이해할 수 없는 것처럼 보이기 때문에 분명히 설명된 문제가 발생하지 않을 것입니다. 축하합니다. 잘 자, 친애하는 친구)

내 게시물은 아마도 지루한 유형 검사의 팬뿐만 아니라 하드 코어 템플릿 사람들을 대상으로했을 것입니다.

 
알렉세이 나보이코프 :

종종 일부 변수를 수정하기 위해 참조로 템플릿 인수로 전달해야 할 필요가 있습니다. 그러나 불행히도 기존 C++ 템플릿 사양에서는 일반 함수의 경우와 같이 인수의 비 const 를 명시적으로 지정할 수 없습니다.

첫째, C ++에서 템플릿의 가능성은 훨씬 더 풍부하고, 둘째, C ++에는 SFINAE가 있어 머리카락을 꼿꼿이 세우는 일을 할 수 있습니다.

다음과 같이 보일 수 있습니다.

template< class T>
     static void const_check(T & t){
        BOOST_STATIC_ASSERT(! boost::is_const<T>:: value );
    }
일반적으로 포인터와 동일합니다. 원하는 유형 이 비포인터 여야 한다고 직접 지정할 수는 없지만 컴파일되지 않은 특수화를 통해 이를 수행할 수 있습니다.
 
더엑스퍼트 :

이것이 어떻게 보일지 모른다

내가 이해하는 것처럼 이것은 함수 본문에 컴파일 오류 (어쨌든 호출할 수 있음)를 유발하지만 템플릿 선택은 프로세스에 영향을 미치지 않습니다. 함수의 반환 유형으로 조작해야 합니다. 그러나 그것이 요점이 아닙니다. 물론 C++에서 많은 일을 할 수 있다는 것은 분명합니다. 그러나 이 모든 것은 템플릿 덕분에 구현될 뿐만 아니라 MQL에 없는 decltype 지정자 때문에 구현되지만 필요합니다.

 
알렉세이 나보이코프 :

내 게시물은 아마도 지루한 유형 검사의 팬뿐만 아니라 하드 코어 템플릿 사람들을 대상으로했을 것입니다.

TypeToBytes를 쓰고 나서 템플릿에 더 능숙해졌다고 생각했습니다.

 
fxsaber :

TypeToBytes를 쓰고 나서 템플릿에 더 능숙해졌다고 생각했습니다.

사실 MQL과 관련하여 "하드코어 템플릿 엔진"이라는 문구가 아이러니하게 들린다는 것을 지금 깨달았습니다. 대략 "인증된 MQL 프로그래머"))

여기서는 템플릿에서 특별히 복잡한 작업을 수행할 수 없습니다. 추가 언어 기능 이 부족할 뿐만 아니라 기존 기능이 잘못 작동하기 때문입니다. 끊임없이 버그에 부딪칩니다.

 

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

오류, 버그, 질문

슬라바 , 2018.09.19 06:37

등록 순서에 관계없이 객체를 다른 객체보다 위에 배치하려면 먼저 모든 기간에서 객체를 보이지 않게 한 다음 다시 가시성을 반환해야 합니다.
 

안녕하세요!

설명서는 OnTick 핸들러 https://www.mql5.com/en/docs/runtime/event_fire#newtick 의 작동 중에 명시적으로 명시되어 있습니다.

새로 받은 틱은 처리되지 않습니다. OnBookEvent , OnTimer , OnChartEvent 핸들러 에 대해서도 마찬가지입니다 .

이 질문은 나열된 모든 핸들러에서 내 자신의 틱 처리를 사용한다는 사실로 인해 발생합니다.

Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
Сразу же после того, как клиентский терминал загрузит программу (эксперт или пользовательский индикатор) и запустит процесс инициализации глобальных переменных, будет послано событие Init, которое обрабатывается функцией OnInit(), если она есть. Это событие также генерируется после смены финансового инструмента и/или периода графика, после...
 
안드레이 코트린 :

안녕하세요!

설명서는 OnTick 핸들러 https://www.mql5.com/en/docs/runtime/event_fire#newtick 의 작동 중에 명시적으로 명시되어 있습니다.

새로 도착한 틱의 처리는 수행되지 않습니다. OnBookEvent, OnTimer, OnChartEvent 핸들러 에 대해서도 마찬가지입니다 .

이 질문은 나열된 모든 핸들러에서 내 자신의 틱 처리를 사용한다는 사실로 인해 발생합니다.

정확하지 않습니다.

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

라이브러리: HistoryTicks

fxsaber , 2018.04.10 17:53

빈번한 거래 주문 (분당 여러 번)과 100ms 핑이 있는 고주파 기호(분당 200-350틱)의 전투 고문은 표준 모드에서 틱의 ~5%를 잃습니다.

HistoryTicks 모드에서는 손실이 없습니다.


위협 MT5에서 다중 통화 OnTick을 안전하게 사용할 수 있습니다.

 
fxsaber :

정확하지 않습니다.


위협 MT5З에서 다중 통화 OnTick을 안전하게 사용할 수 있습니다.

링크 주셔서 감사합니다! 실제로 문제는 틱 손실이 아니라 현재 정보를 처리할 때 정보의 부분 업데이트 가능성에 있습니다. 나는 로봇의 통신을 동시에 거래를 구성 할 때 비슷한 문제를 해결했습니다.

터미널 변수를 통해 다른 도구에서. 로봇은 호스팅 작업을 지향하므로 타사 dll 사용 및 이에 따라 뮤텍스 가 불가능하므로 GlobalVariableSetOnCondition으로 에뮬레이션을 사용했습니다.

 
안드레이 코트린 :

링크 주셔서 감사합니다! 실제로 문제는 틱 손실이 아니라 현재 정보를 처리할 때 정보의 부분 업데이트 가능성에 있습니다. 나는 로봇의 통신을 동시에 거래를 구성 할 때 비슷한 문제를 해결했습니다.

터미널 변수를 통해 다른 도구에서. 로봇은 호스팅 작업을 지향하므로 타사 dll 사용 및 이에 따라 뮤텍스 가 불가능하므로 GlobalVariableSetOnCondition으로 에뮬레이션을 사용했습니다.

리소스 를 통해 데이터를 전송하는 옵션이 귀하에게 적합할 수 있습니다.

사유: