Trading2020. 12. 31. 14:41

MetaTrader 4


 

메타트레이더 4 활용정보 체계정리. 

- 글로벌 트레이딩 소프트웨어. 

- 지속 발전 가능한 안정된 시스템.

- 직접 코딩 가능한 MQL4 언어. C 언어 유사.

- 높은 개발자 자유도.  

- 글로벌 커뮤니티. 


비교 : 자동매매 코드 개발자 입장에서는 MT4 보다 훨씬 강력한 MT5 강력추천. 


본 글에서 주요 정리대상 정보  


1. 메타트레이더 4 사용법.


2. MQL4 언어 기반 "직접 코딩"하여 메타트레이더4에서 자동매매 달성하기 위한 기술적 정보


주요 활용 정보. 

직접 자동매매 전략 코딩하는 것만이 유일한 자동매매 수단은 아니다. 메타트레이더4 이용하면 코드 전혀 없이도 다른 전략 개발자(전세계 누구나 가능)의 시그널 (시그널 예 보기 ) 을 본인 프로그램에서 카피 매매 가능하다(단수수료는 지급해야한다). 카피 매매 목적에서는 본 글에서 정리된 코딩 정보는 안봐도 됨. 단, 직접 전략 개발하여 본인 시그널을 다른 사람에게 제공하고 안정적인 신호제공 수수료 수익도 얻을 수 있기 때문에 직접 개발성공시 압도적인 안정적인 수익을 얻을 수 있긴하다.  

 

 





 

메타트레이더 4 개요

 
 

메타트레이더 개요 


- 메타트레이더, 언어 MQL, Expert Advisior 등.. 전체적인 윤곽부터 개념정리한다.  


- 메타트레이더 4와 5의 차이점 개요.  http://igotit.tistory.com/711


- 메타트레이더로 나스닥 항셍 같은 지수, 골드, 오일 등의 CFD 종목도 거래가능 함. 상세 : https://igotit.tistory.com/2541



 


 

 

메타드레이더 4 설치/ 설정/ 셋팅

 

 

메타트레이더 4 PC용 설치 1 

- 제조사에서 배포하는 MT4 설치하기 : http://igotit.tistory.com/712 <- 이 정보 폐기.


- 현재(2018년 8월 ) 제조사에서 배포하지 않음. 아래 브로커에서 배포하는 MT4 를 다운로드 받을것. 



메타트레이더 4 PC용 설치 . 브로커 배포 MT4. 



FXTM 에서 배포하는 MT4 다운로드 하고 설치. 상세보기 :  http://igotit.tistory.com/1728


- Land-FX 에서 배포하는 MT4 다운로드. 설치. 상세보기 : https://igotit.tistory.com/2660



메타트레이더 4 PC 1개 에서 다중 실행

- 1개 PC에 MT4 여러 개 설치하고 실행한다. 상세보기 : http://igotit.tistory.com/1744  



메타트레이더 4 데모계좌 만들기.

시험용 매매 가능한 데모계좌 만들어서 프로그램 사용법 충분히 익숙해져야한다. 


-  FXTM 에서 데모계좌 만들기 : http://igotit.tistory.com/1774



메타트레이더 MQL 커뮤니티 가입하기. 


메타트레이더 4 에서 MQL 커뮤니티 로그인 설정하기.




메타트레이더 4  안드로이드 폰에 설치하기. 

- 상세보기 : http://igotit.tistory.com/1777




 


 


 

메타트레이더 4 기본 활용

 

메타 트레이더 4 수동 주문 방법. 

- 자동매매 (본인 전략 운용하든 다른 사람 신호 카피 매매 하든 ) 운용하는 경우에도 수동 주문 방법 필수 숙지해야한다.



메타 트레이더 4 수동 주문에서의 Trailing Stop. 

- 상세보기 : http://igotit.tistory.com/1758


 
 


 


 

메타트레이더 4 MQL4 코딩. 

 
 

MQL4 Expert Advisor 생성방법. 


MQL4 문자열 출력 함수들. Alert, Comment, MessageBox, Print 등 

 

MQL4 주문함수 

- 상세보기 : http://igotit.tistory.com/1749


MQL4 함수 OrderSend error 130 원인 및 해결방법. 



 


 





첫등록 : 2016년 3월 13일

최종수정 : 2020년 12월 31일 


본 글 단축주소 : https://igotit.tistory.com/1756







Posted by 리치굿맨

댓글을 달아 주세요

  1. Harry

    안녕하세요 igotit님
    igotit님이 작성하신 포스트를 보고 최근에 Amibroker에서 Metatrader로 옮겨서 Metatader를 현재 공부하고 있는 중입니다.
    이전 프로그램에서는 Tick chart기반으로 알고리즘 트레이딩을 만들었는데
    Metatrader4에서는 tick chart를 지원하지 않은걸로 알고있습니다
    구글링을 열심히 해봤지만 Tick chart를 Indicator 로 만들어서 사용할수밖에 없을뿐 아니라 period또한 제한이 있는 것 같아서 고민입니다
    이렇게 Tick chart로 Metatrader4를 코딩하고 싶을때는 어떻게 해야하는지 조언을 부탁드립니다.
    항상 포스팅통해서 배우고 있습니다
    감사합니다

    2021.02.02 22:23 [ ADDR : EDIT/ DEL : REPLY ]
    • 넵 반갑습니다~.

      메타트레이더의 시간봉 챠트에 ea 를 배치하지만 실제 ea 의 작동은 챠트의 시간봉이 1분봉이든 일봉이든 관계없이 OnTick 이벤트 핸들러에서 매번의 틱 단위로 처리하게되므로 기본적으로는 틱드리븐 코딩을 하게 됩니다.

      한편, 메타트레이더에서 기본 제공되는 지표들은 시간봉 데이터만으로 계산되는 것들이어서, 틱 기반 지표가 요구될 때는 개발자가 OnTick 내부에서 수신된 tick 데이터를 활용하여 지표 계산처리부를 직접 구현해야합니다.

      2021.02.03 12:56 신고 [ ADDR : EDIT/ DEL ]
  2. Harry

    말씀 감사합니다
    제가 배움이 부족해서 한가지만 더 여쭤보자면
    메타트레이더에서 제공되는 차트나 지표들이 시간봉 데이터 기준으로 만들어 져있기 때문에 close값이라던지 predefined값들이 current chart기준으로 설정되어 실제로 제가 만드는 Tick data 기반의 코딩이 제대로 돌아가는지 확인하려면 인터넷을 Searching한 결과 Offline chart를 만들고 이를 통해서 확인해야하는 것으로 알고 있습니다.
    만약 이 생각이 맞다면 Offline chart같은 경우에는 실시간으로 업데이트가 되지 않는데 이 차트를 가지고 만든 코딩으로 실시간 거래가 가능한지 그리고 가능하다면 어떻게 해야하는 건가요?
    긴 질문 답해주셔서 정말 감사합니다...
    메타트레이더에 관해서 한국 전문가들이 많은 없는 관계로 이렇게 igotit님이 답해주시는 것을 정말 감사하게 생각하고 있습니다.

    2021.02.03 15:21 [ ADDR : EDIT/ DEL : REPLY ]
    • 1
      메타에서의 모든 지표 함수들에 적용가능한 심볼과 period 등은 ea 가 배치된 챠트의 심볼과 period 가 아닌 것에도 적용가능합니다. 예 ; EURUSD 1분봉 챠트에 ea 를 배치해도 지표함수 호출시 EURUSD 가 아닌 심볼을 인자로 전달할 수 있고 period 도 개발자가 임의 지정 가능합니다.
      코드예 : https://igotit.tistory.com/2146 의 코드에서 iATR 의 인자에 임의 심볼과 임의 timeframe 기록하면 됩니다.

      즉, ea 를 챠트에 배치하는것은 단지 ea 를 실행한다의 의미로 보면 됩니다. 유일하게 챠트의 심볼에 종속되는것은 OnTick 입니다. OnTick 은 ea 가 배치된 챠트의 심볼의 틱데이터 수신시에만 실행되는 함수입니다.

      실시간성은 부족하지만 EURUSD 챠트의 OnTick 내에서 다른 심볼의 현재시점 틱데이터를 함수로 요청하여 확보 할 수도 있습니다.

      2.
      틱데이터 및 관련처리 결과를 오프라인으로 처리결과 확인하면서 개발하는 방식.
      - 틱기반 전략의 실전 자동매매 운영시 틱 챠트나 지표를 시각적으로 그릴 필요는 없는 경우라면, 개발 과정에서 나의 코드가 정상적으로 계산 수행하고 있는지 확인 용도로 적절할 것 같습니다.
      - 만일, 손매매 활용목적등에서 시각적 표현이 필요한 경우라면 오프라인으로 챠팅하고 지표 그리는 방식으로는 불가능하니 실시간 챠팅되게 구현해야할텐데요... 커뮤니티에 보면 틱 기반 처리및 챠팅을 메타트레이더 내에서 구현한 내용도 있었던것 같아요.. 저같은 경우엔 메타 트레이더와 통신하는 외부의 별도 프로그램에서 틱데이터 활용하는 식으로 구현하여 활용합니다.

      외부 프로그램 구현예.
      메타트레이더는 Visual C++ DLL 을 임포팅가능하며 메타의 OnTick 에서 DLL 의 함수 호출하여 틱데이터를 외부 프로그램으로 송신하고, 주문은 외부프로그램->DLL 임포팅한 메타트레이더 식으로 활용중입니다.
      (구현시작할 때는 개념적으로는 간단해보였으나 구현 중에 지옥같은 해결대상 문제들이 많이 생기더라구요.. Visual C++ 전문가가 아닌 경우엔 이 방식을 추천하고 싶지는 않습니다. ㅠㅠ )

      참고
      메타에서 DLL 활용
      https://igotit.tistory.com/2177

      VC++ DLL 만들기 예 : https://igotit.tistory.com/148

      MQL5 의 OnChartEvent https://igotit.tistory.com/1817

      윈도우메시지
      https://igotit.tistory.com/319




      2021.02.03 17:58 신고 [ ADDR : EDIT/ DEL ]
  3. Harry

    알려주셔서 감사합니다 말씀하신거 토대로 열심히 공부해보겠습니다!!
    외람되지만 추후에 궁금한 점이 있으면 이런식으로 댓글을 달면 될까요?
    가르침 감사합니다~~!!!!

    2021.02.03 21:18 [ ADDR : EDIT/ DEL : REPLY ]