기고글 토론 "Expert Advisor에서 OnTrade() 함수를 이용한 거래 이벤트 처리"

 

새로운 기고글 Expert Advisor에서 OnTrade() 함수를 이용한 거래 이벤트 처리 가 게재되었습니다:

MQL5는 다양한 유형의 이벤트 (타이머 이벤트, 거래 이벤트, 맞춤 이벤트 등) 작업을 포함하여 많은 혁신을 제공했습니다. 이벤트 처리 기능을 통해 자동 및 반자동 거래를 위한 완전히 새로운 유형의 프로그램을 만들 수 있습니다. 이 기사에서는 거래 이벤트를 고려하고 거래 이벤트를 처리할 OnTrade() 함수에 대한 코드를 작성합니다.

그런 다음 시장 함수 OnTrade()에 의한 개장 후 Alert가 4 번 실행되었음을 알 수 있습니다.

그림 1. 경고

그림 1. 경고

작성자: KlimMalgin

 

컴파일 시 다음 줄에서 '숫자'를 '문자열'로 암시적으로 변환하는 오류가 발생합니다. TradeControl.mq5 349 99

_alerts += "+PositionList[i].symbol+" 쌍에서 스톱로스가 "+ PrevPositionList[i].sl +"에서 "+ PositionList[i].sl +"\n"으로 변경되었습니다;

 
sergey1294:

컴파일 시 다음 줄에서 '숫자'를 '문자열'로 암시적으로 변환하는 오류가 발생합니다. TradeControl.mq5 349 99

_alerts += "+PositionList[i].symbol+" 쌍에서 스톱로스가 "+ PrevPositionList[i].sl +"에서 "+ PositionList[i].sl +"\n"으로 변경되었습니다;

이는 오류가 아니라 이 줄에 숫자를 문자열로 암시적으로 변환하는 내용이 포함되어 있다는 경고입니다. 이러한 경우 컴파일러는 변환에 대해 경고하며 프로그래머는 이 변환이 오류인지 아닌지를 결정해야 합니다.

이 경고를 제거하려면 명시적으로 변환해야 합니다:

_alerts += "On Steam."+PositionList[i].symbol+" 에서 손절매를 변경했습니다.+ (string)PrevPositionList[i].sl +" 켜기 "+ (string)PositionList[i].sl +"\n";
 
KlimMalgin:

이것은 오류가 아니라 이 줄에 숫자를 문자열로 암시적으로 변환한 내용이 포함되어 있다는 경고입니다. 이러한 경우 컴파일러는 변환에 대해 경고하며 프로그래머는 이 변환이 오류인지 아닌지를 결정해야 합니다.

이 경고를 제거하려면 명시적 변환을 수행해야 합니다:

감사합니다, 시도해 보겠습니다.
 

어떻게 든 제대로 작동하지 않고 포지션이 테이크프로핏으로 마감되었지만 이에 대한 정보가 없습니다. 다음은 로그입니다.

DS 0 TradeControl (EURUSD,M5) 22:36:06 거래 이벤트 수신
EJ 0 TradeControl (EURUSD,M5) 22:36:06 오류 # 4751
PN 0 TradeControl (EURUSD,M5) 22:36:06 876874 처리할 주문 접수
DH 0 TradeControl (EURUSD,M5) 22:36:08 거래 이벤트 수신
IS 0 TradeControl (EURUSD,M5) 22:36:08 오류 #4751 주문 876874를 찾을 수 없음!
홍콩 0 트레이드컨트롤 (EURUSD,M5) 22:36:08 오류 # 4751 상태:4
RQ 0 TradeControl (EURUSD,M5) 22:36:08 0 주문 체결, 거래 진행
OD 0 TradeControl (EURUSD,M5) 22:36:08 876874 주문 생성된 거래 #947094
RS 0 TradeControl (EURUSD,M5) 22:36:08 EURUSD에 매수 포지션 오픈
DQ 0 TradeControl (EURUSD,M5) 22:36:08 거래 이벤트 수신
DI 0 TradeControl (EURUSD,M5) 22:36:08 거래 이벤트 수신
KQ 0 TradeControl (EURUSD,M5) 22: 41:45 거래 이벤트 수신
KI 0 TradeControl (EURUSD,M5) 22:41:45 거래 이벤트 수신
KQ 0 TradeControl (EURUSD,M5) 22:41:45 거래 이벤트 수신

 
이 기사에서는 이익실현 및 손절매 포지션 청산에 대해서는 다루지 않습니다. 글의 시작 부분에 표시된 이벤트만 고려합니다.
 
KlimMalgin:
이 기사에서는 이익실현 및 손절매 포지션 청산에 대해서는 다루지 않습니다. 기사 시작 부분에 표시된 이벤트만 고려됩니다.

고려되지 않은 것은 유감입니다. 비슷한 기사가 나타날 때까지 기다리거나 그에 따라 기사를 추가 할 것입니다. MT4에 대한 기사의 아날로그는 여기에서 찾을 수 있습니다 https://www.mql5.com/ru/articles/1399.

  1. 포지션 개설하기
    • "시장 포지션
      • 매수
      • Sell
    • 지정가 주문
      • 매수 제한
      • 매도 제한
      • 매수 스탑
      • 매도 중지
  2. 주문 트리거링
    • 매수 제한
    • 매도 제한
    • 매수-스톱
    • 매도 중지
  3. 포지션 청산
    • "시장 포지션
      • 매수
        • 손절매
        • 이익실현
        • 수동 (손절 또는 이익실현이 아님)
      • Sell
        • 손절매
        • 이익실현
        • 수동
    • 지정가 주문(삭제)
      • 구매 한도
        • 만료 시간
        • 수동
      • 매도 제한
        • 만료 시간
        • 수동
      • 매수-스톱
        • 만료 시간
        • 수동
      • 판매 중지
        • 만료 시간
        • 수동
  4. 포지션 수정
    • "시장 포지션
      • 매수
        • 손절매
        • 이익 실현
      • Sell
        • 스톱로스
        • 이익실현
    • 지정가 주문
      • 매수 제한
        • 개시 가격
        • 스톱로스
        • 이익 실현
        • 만기 시간
      • 매도 제한
        • 개시 가격
        • 스톱로스
        • 이익 실현
        • 만기 시간
      • 매수 스톱
        • 개시 가격
        • 스톱로스
        • 이익 실현
        • 만기 시간
      • 매도 스톱
        • 개시 가격
        • 스톱로스
        • 이익 실현
        • 만기 시간
События в МetaТrader 4
События в МetaТrader 4
  • 2006.05.29
  • Andrey Khatimlianskii
  • www.mql5.com
Статья посвящена программному отслеживанию событий в терминале МetaТrader 4, таких как открытие, закрытие и модификация ордеров, и рассчитана на пользователя, обладающего базовыми навыками работы с терминалом и программирования на MQL 4.
 

HistorySelect()==false를 처리하지 않았습니다! 꽤 빈번한 경우...

 
KlimMalgin:
이 기사에서는 이익실현 및 손절매 포지션 청산에 대해서는 다루지 않습니다. 기사의 시작 부분에 표시된 이벤트만 고려됩니다.
당신은 헛된... 스톱 핸들링의 예시만 보고 이 기사를 기다렸는데...
 

MQL5는 이벤트 처리 모드를 제공합니다,

이벤트의 매개변수를 제공하지 않는 이유는 무엇인가요?

온차트이벤트(....) 처럼이벤트 아이디와 파라미터를 제공해주세요!!!!!!!!!!!!!

 
DxdCn:
온차트이벤트(....) 처럼이벤트 ID와 매개변수 제공!!!!!!!!!!!!!

온차트이벤트는 트레이딩을 위한 MQL5에서 활성 제어 패널 만들기 문서에서 사용되었습니다.