MQL5: 표준 라이브러리가 업데이트되었습니다. CDealInfo, CHistoryOrderInfo, COrderInfo 및 CPositionInfo 클래스의 Type() 메서드가 각각 DealType(), OrderType() 및 PositionType() 으로 이름이 변경되었습니다.
...
이 모델은 기본 트레이딩 클래스에 의존하기 때문에 인터페이스의 사소한 변경이라도 중요합니다. 이 경우 TableOrders.mqh 파일에서 Type() 메서드를 해당 OrderType()으로 변경하기만 하면 오류를 쉽게 수정할 수 있습니다.
조만간 이 문서에 첨부된 코드가 최신 컴파일러 및 터미널 빌드에서 올바르게 작동하도록 업데이트될 예정입니다.
"m_timing 변수를 별도로 설명할 가치가 있습니다. 전문가 어드바이저의 작업 과정에서 특정 시간 간격으로 특정 이벤트를 호출해야 합니다.모델마다 시간 간격이 다를 수 있으므로OnTimer() 함수는이에 적합하지 않습니다.
예를 들어 일부 이벤트는 새 막대가 생길 때마다 호출해야 합니다. 시간별 차트에서 거래하는 모델의 경우 이러한 이벤트는 매시간, 일일 차트에서 거래하는 모델의 경우 새로운 일일 막대가 생길 때마다 호출되어야 합니다. 이러한 모델은 시간 설정이 다르므로 각각에 따라 자체 모델에 저장해야 합니다. CModel 클래스에 포함된 t_period 구조를 사용하면 이러한 설정을 각각 고유한 모델에 별도로 저장할 수 있습니다.
다음은 이 구조의 모습입니다:
struct t_period
{
большая структура
};
보시다시피 일반적인 기간 열거가 포함되어 있습니다. 새 막대가 발생했는지 확인하려면 마지막 막대의 시간을 t_period 구조에 기록된 시간과 비교해야 합니다. 시간이 일치하지 않으면 새 막대가 발생한 것이고, 구조의 시간이 현재 막대의 시간으로 업데이트되어 양수 결과(true)를 반환해야 합니다. 마지막 막대와 구조의 시간이 일치하면 새 막대가 아직 발생하지 않았음을 의미하며 음수 결과(false)를 반환하면 됩니다.
페어 트레이딩(다른 심볼)을 지원하도록 모델 또는 프로세싱() 함수를 향상시키려면 어떻게 해야 하나요? 지금은 모든 것이 동일한 심볼에 대한 지표 및 후속 거래로만 작동합니다. 심볼1과 심볼2를 추가하여 심볼1을 매수하고 심볼2를 동시에 매도할 수 있도록 하려면 어떻게 해야 하나요?
페어 트레이딩(다른 심볼)을 지원하도록 모델 또는 프로세싱() 함수를 향상시키려면 어떻게 해야 하나요? 지금은 모든 것이 동일한 심볼에 대한 지표 및 후속 거래로만 작동합니다. 심볼1과 심볼2를 추가하여 심볼1을 매수하고 심볼2를 동시에 매도할 수 있도록 하려면 어떻게 해야 하나요?
MetaTrader 5 Client Terminal build 381
...
MQL5: 표준 라이브러리가 업데이트되었습니다. CDealInfo, CHistoryOrderInfo, COrderInfo 및 CPositionInfo 클래스의 Type() 메서드가 각각 DealType(), OrderType() 및 PositionType() 으로 이름이 변경되었습니다.
...
이 모델은 기본 트레이딩 클래스에 의존하기 때문에 인터페이스의 사소한 변경이라도 중요합니다. 이 경우 TableOrders.mqh 파일에서 Type() 메서드를 해당 OrderType()으로 변경하기만 하면 오류를 쉽게 수정할 수 있습니다.
조만간 이 문서에 첨부된 코드가 최신 컴파일러 및 터미널 빌드에서 올바르게 작동하도록 업데이트될 예정입니다.
chr1sch4n: 오류가 없습니다... 다시 작성한 코드가 동일합니다.
C 언어에서는 대/소문자가 구분되므로 break 문을 넣어야 하며, 따라서 Buy는 다음 문으로 넘어가면서도 주문을 실행해야 합니다.
참조: http: //en.wikipedia.org/wiki/Switch_statement ; 섹션 C, C++, Java, PHP, 액션스크립트, 자바스크립트; "이것은 대소문자를 허용하기 위해 줄 바꿈을 생략한 전형적인 예입니다."
cheers
요청 - 영어 파일에 있는 댓글을 번역할 수 있나요?
글에 표시된 인상적인 백테스트가 나오지 않는 것 같은데 어떻게 설정해야 하나요?
"m_timing 변수를 별도로 설명할 가치가 있습니다. 전문가 어드바이저의 작업 과정에서 특정 시간 간격으로 특정 이벤트를 호출해야 합니다.모델마다 시간 간격이 다를 수 있으므로OnTimer() 함수는이에 적합하지 않습니다.
예를 들어 일부 이벤트는 새 막대가 생길 때마다 호출해야 합니다. 시간별 차트에서 거래하는 모델의 경우 이러한 이벤트는 매시간, 일일 차트에서 거래하는 모델의 경우 새로운 일일 막대가 생길 때마다 호출되어야 합니다. 이러한 모델은 시간 설정이 다르므로 각각에 따라 자체 모델에 저장해야 합니다. CModel 클래스에 포함된 t_period 구조를 사용하면 이러한 설정을 각각 고유한 모델에 별도로 저장할 수 있습니다.
다음은 이 구조의 모습입니다:
struct t_period { большая структура };
보시다시피 일반적인 기간 열거가 포함되어 있습니다. 새 막대가 발생했는지 확인하려면 마지막 막대의 시간을 t_period 구조에 기록된 시간과 비교해야 합니다. 시간이 일치하지 않으면 새 막대가 발생한 것이고, 구조의 시간이 현재 막대의 시간으로 업데이트되어 양수 결과(true)를 반환해야 합니다. 마지막 막대와 구조의 시간이 일치하면 새 막대가 아직 발생하지 않았음을 의미하며 음수 결과(false)를 반환하면 됩니다.
다음은 설명한 알고리즘에 따라 작동하는 함수입니다:
"
물론 저는 초보 프로그래머 일 뿐이지 만 새 막대의 시작을 결정하는 것이 가능할 수도 있습니다 (변수를 날짜 시간으로 만 만들면서):
결론이 틀렸다면 미리 사과하고 정정 해달라고 요청합니다. 내가 착각하지 않았다면이 사이트와 특히 여기에서 일하는 모든 사람들 (기사, 문서 작성)에게 감사드립니다.
추신 : 그건 그렇고, 훌륭한 기사에 감사드립니다.
안녕하세요,
페어 트레이딩(다른 심볼)을 지원하도록 모델 또는 프로세싱() 함수를 향상시키려면 어떻게 해야 하나요? 지금은 모든 것이 동일한 심볼에 대한 지표 및 후속 거래로만 작동합니다. 심볼1과 심볼2를 추가하여 심볼1을 매수하고 심볼2를 동시에 매도할 수 있도록 하려면 어떻게 해야 하나요?
도와주셔서 감사합니다.
추신: 또는 심볼2의 지표 동작에 따라 심볼1을 매수/매도합니다...
안녕하세요,
페어 트레이딩(다른 심볼)을 지원하도록 모델 또는 프로세싱() 함수를 향상시키려면 어떻게 해야 하나요? 지금은 모든 것이 동일한 심볼에 대한 지표 및 후속 거래로만 작동합니다. 심볼1과 심볼2를 추가하여 심볼1을 매수하고 심볼2를 동시에 매도할 수 있도록 하려면 어떻게 해야 하나요?
도와주셔서 감사합니다.
추신: 또는 심볼2의 지표 동작에 따라 심볼1을 매수/매도하는 것도...
수정되었습니다. 고마워요.
안녕하세요,
이 훌륭한 기사에 감사드립니다...
ReplacedDelayedOrders 함수에서 코드 줄은 다음과 같습니다: for(int b=0;i<history_orders;b++)
나는 이것이 끝없는 루프를 일으킬 것이라고 생각합니까, 아니면 내가 틀렸습니까?
내 생각에 코드 줄은 다음과 같아야 합니다: for(int b=0;b<history_orders;b++)
안녕, T.