나만의 자동매매를 위한
메타트레이더에 EA설치를 배워보자!
이번과가 설치과정의 마지막이에요! 힘 내세요!
전체과정 (1) VPS설치 (2) 트레이딩뷰에 웹훅설치 (3) 메타트레이더 EA설치
중 (3)에 해당하는 과정입니다
메타트레이더 사용하시는 부분들에게는
아래의 내용의 대부분은 아시는 내용이고
중간에 "Allow WebRequest for listed URL부분"만 추가된다고 보시면 됩니다
그리고 Discord 알람을 추가해서 휴대폰앱으로 매매시 알람을 받을 수 있도록 추가했어요!
아래의 내용의 대부분은 아시는 내용이고
중간에 "Allow WebRequest for listed URL부분"만 추가된다고 보시면 됩니다
그리고 Discord 알람을 추가해서 휴대폰앱으로 매매시 알람을 받을 수 있도록 추가했어요!
시작합니다
아래의 링크, 제 Buy Me A Coffee 계정으로 가셔서, MQL5코딩을 복사합니다
https://buymeacoffee.com/onlyonetalent/tv2meta-mql5-ea-script-04
코딩창 위에 마우스를 올리시면 우상단에 카피라고 뜹니다 (누르면 카피)
한번만 더 구걸드리자면, 혹시나 설치하시고 트레이딩뷰에서 메타트레이더로 자동매매가 잘 되시면
불쌍한 저에게 커피 한 잔 사 주세요
당연히 실제로 테스트에서 돈을 날리면 안되니 Demo Account에서 테스트 하세요!
또 넥스트 클릭!
그러면 USDJPY 차트창이 열리구요
1분 단위로 셋업하시고, IDE누르세요
IDE프로그램이 열리면, 아래에 새로운 스크립트를 엽니다 (화살표)
그럼 마법사창이 뜨는데, 대충 아무거나 넣고 만드시면 됩니다
왜냐하면 아까 복사한 자동매매용 MQL5를 그대로 가져와서 붙여 넣이라 여기 뭐라고 설정해도 상관없습니다
넥스트 클릭!왜냐하면 아까 복사한 자동매매용 MQL5를 그대로 가져와서 붙여 넣이라 여기 뭐라고 설정해도 상관없습니다
그럼 이런 단순한 코딩이 들어가 있는 스크립트 창이 뜨구요
싹! 다 삭제하시구요자 그리고 Compile 클릭!
자 그럼 다시 메타트레이더 창으로 돌아오시면 아까 컴파일한 자동매매용 EA가 보이실겁니다
만약 EA가 여기 없으면 Navigator창의 폴더들을 이리저리 뒤져보시면 됩니다네비게이터창의 단축키는 Control+N이구요
안 되시면 View메뉴 안에 있습니다
자 그럼 이 자동매매EA를 마우스로 꼭 집어서 드래그하셔서 USDJPY차트창 위에 내려 놓으면 아래와 같은 창이 뜹니다
혹시나 위와 같은 창이 안뜨면 화살표의 Inputs누르시면 나옵니다
"http://64.176.229.37" 이 주소에서 중간에 64.176.229.37에 대한 부분만 고치시고 앞의 http://부분은 건드리지 마세요
이전에 저장하신 API키 가지고 오셔서 잘 붙여넣으시구요
가입하고 나면 왼편상단 디스코드 마크 바로 밑에 화살표가 가리키는 내 아이콘 클릭하시구요
Webhooks클릭!
그럼 내 아이디가 나오면 클릭!
여기에 디스코드 웹훅주소는 위의 서버주소와는 달리 그냥 싹 다지우시고, 위에서 가져온 디스코드 주소를 그대로 붙이시면 됩니다
자 그럼 여기 나온 각 Variable의 Value들을 바꾸어 주어야 합니다
첫째줄은 우리가 앞과에서 설정한 VPS의 서버주소를 넣어야겠죠?
"http://64.176.229.37" 이 주소에서 중간에 64.176.229.37에 대한 부분만 고치시고 앞의 http://부분은 건드리지 마세요
이전에 저장하신 API키 가지고 오셔서 잘 붙여넣으시구요
그리고 다음은 티커값이죠
지금은 테스트를 위해서 USDJPY를 쓰지만 나중에는 여러분이 자동매매할 티커를 넣으셔야 합니다
이 자동매매는 MQL5의 WebRequest라는 기능을 사용하여 VPS에 저장된 웹훅알람을 10초마다 읽어 와서 거래하는 방식입니다!
그리고 중요한 것은 이 티커가 트레이딩뷰의 티커를 철자 그대로 잘 가지고 와야 합니다
가령 사용하시는 선물브로커에서 티커가 USTEC 이면 그대로 USTEC, BTCUSD이면 그대로 BTCUSD입니다
그리고 시간확인 인터벌에 대한 부분입니다
잠시 솔루션의 환경에 대한 이해를 돕기 위해 좀 길게 설명드리자면,
10초보다 짧게 할 수는 없는가? 만약 원하시면 짧게 할 수도 있습니다
그런 경우 여기 "10"이라는 숫자를 줄이시면 됩니다
그럼에도 불구하고 제가 생각하는 가장 이상적인 시간대는 10초대라고 봅니다
기본적으로 이 솔루션은 MQL5의 WebRequest이라는 기능을 통해
집에 있는 로컬컴퓨터에서 WebRequest를 통해 VPS서버로 웹훅알람을 읽으러 가는 방식입니다
"읽으러 간다"
즉, 이런 시간적 Delay가 각 장치 사이사이에서 계속적으로 발생할 수 있습니다
다시말해 아주 짧은 시간대 거래 시, 즉 1분봉 거래시, 아직 매수가 완료되지 않았는데 자동매매에 의해 그 반대의 매도요청이 나올 수도 있게 되는 것입니다
특히 메타트레이더로 선물거래를 직접 해보시면 아시겠지만, 아주 작은 가격대에서는 가격신호가 엄청나게 빠른 속도로 움직입니다 (따라서 많은 선물트레이더들이 이런점 때문에, 구린 디자인에도 불구하고, 속도와 신뢰도 때문에 메타트레이더를 쓴다고 봅니다)
따라서 아무리 시장가로 매수신호가 들어갔다고 해도, 매수가 안되는 경우가 발생합니다
이런 점들을 고려할 때 적어도 15분봉 이상의 거래전략에서 이 자동매매 솔루션을 사용하시는 것을 추천 드립니다
잠깐만! 그럼 이 솔루션은 시장가오더 베이스라고? 이런 의문이 드신다면,
맞습니다! 이 솔루션은 시장가오더 베이스입니다
지금처럼 구조적으로 트레이딩뷰 -> VPS <-> 메타트레이더의 형식의 솔루션!
즉, 1차 트레이딩프로그램 -> VPS <-> 2차 트레이딩프로그램으로 연결되는 솔루션들은
시장가오더 베이스가 주류입니다 (이런 모델에서 지정가로 하는 방법은 제가 성공한 다음 소개하겠습니다)
만약 지정가매매방식으로 자동매매를 하기 원하신다면,
메타트레이더에서는 MQL5을 열심히 공부해서 MQL5만으로 자동매매코딩을 짜시면 충분히 가능합니다 (이 방법도 다음에 소개)
그리고 혹은 한국 주식 같은 경우 파이썬만으로 자동매매 코딩을 짜셔서 지정가주문을 거시면 됩니다 (이 방법 역시 다음에 소개)
그러나 어쨌거나, 이렇게 하나의 트레이딩프로그램이, 다른 트레이딩프로그램을 조종하는 경우, 다시말해 1차 트레이딩프로그램 -> VPS <-> 2차 트레이딩프로그램으로 연결되는 방식에서는 저의 지식으로는 지정가주문이 불가능합니다 (연구해보고 가능해지면 포스팅 할께요!)
자! 그다음은 매직넘버 넣어주시구요
메타트레이더 쓰시는 분들은 매직넘버 다 아시죠? 각 거래차트마다 다르게 넣어줘야 합니다
그다음은 디스코드 자신의 디스코드 웹훅주소를 넣으시구요
디스코드에 가입되어 있지 않으신 분은 (무료입니다)
https://discord.com 들어가셔서 가입하시구요(그 밑에 있는 것은 제가 가입한 장도강님의 디스코드 커뮤니티이죠! 리스펙!)
그거 누르면 #general뜨면 그옆에 톱니바퀴 클릭!
그러면 왼편에 나오는 메뉴 중에 Integration 클릭!
아래의 화살표 클릭하면 자동으로 주소가 복사 됩니다
여기에 디스코드 웹훅주소는 위의 서버주소와는 달리 그냥 싹 다지우시고, 위에서 가져온 디스코드 주소를 그대로 붙이시면 됩니다
일부러 위의 Server Address 에서는 http://를 살려둔 이유는자신의 도메인을 구입하시고 가져와서 넣으시는 경우에는https://로 적용하셔야 하기 때문에 이렇게 만든겁니다
여기서 잠깐! 디스코드앱을 휴대폰에 받으시고 아까 만드신 계정에 로그인하고 휴대폰 알람설정을 받을 수 있도록 동의해야만 휴대폰으로 알람이 옵니다
그리고 이 설정은 저장해 두시는 것이 좋습니다
EA가 시작되었다는 메세지가 아래 로그창에 뜹니다
그러나 메타트레이더가 좀 특이해서 이런다고 여기서 이게 켜지지 않습니다
오른쪽에 화살표가 EA의 아이콘인데요! 이게 회색이면 작동을 하지 않는다는 겁니다
그러면 왼쪽 화살표가 가르키는 Algo Trading 을 클릭해서 아래와 같이 세모가 되어야 작동이 된다는 겁니다그리고 여기서 하나더 설정창을 바꾸어 하는 부분이 있습니다
Tool안에 Options 클릭하시구요
Allow WebRequest for listed URL: 마크하시고 3개의 웹주소를 집어넣으셔야 합니다
첫번째 줄은 내 VPS서버주소이구요! 아까 EA 설정창에 내 서버주소 가지고 카피해서 가지고 오면 되겠죠?
둘째, 셋째줄은 디스코드 주소입니다
https://discord.com, https://discordapp.com 라고 차례대로 잘 넣으세요
그리고 OK하고 닫습니다
자 그러면 메타트레이더에서 아래와 같이 자동으로 Buy하고 Close를 자동으로 할 겁니다
자 방금전에 USDJPY를 0.01랏을 샀죠?그럼 트레이딩뷰로 가서 정말 사도록 명령한건지 볼까요?
그렇죠! 당연히 여기서 사라고 했으니까 샀겠죠?좀 더 지켜 볼까요?
자! 그럼 트레이딩뷰에서 미친듯이 1분마다 사팔사팔을 반복하고 있습니다그럼 메타트레이더에 가서 잘하고 있는지 볼까요?
시키는 데로 하고 있네요자 그럼 디스코드로 웹훅이 오는지 휴대폰을 볼까요?
아주 그냥 딱딱 잘 들어오네요!참고로 이 솔루션의 매수매도의 내용과 시그널은 다음과 같습니다
OPEN BUY: 롱을 매수ClOSE SELL: 롱을 매도하여 종료OPEN SELL: 숏을 매수ClOSE BUY: 숏을 매도하여 종료
자 이제 여러분이 사용하셨던 트레이딩뷰 전략을 선물에 적용하여
돈복사를 시작하시면 되겠습니다
짝짝짝!!!
트레이딩뷰 창에서 테스트로 사용한 파인스크립트를 여러분이 쓰시는 전략으로 바꾸고
메타트레이더에서 티커를 자동매매할 티커로 바꿔서 사용하시면 되겠죠?
잘 안되시는 분도 분명 있다고 봅니다
난 안돼! 안된다고!!!
이런 분들을 위해 다음 과에서는 점검해 볼 몇가지 사항을 다루어 보겠습니다









































