본문 바로가기

MQL5   ( 15 )


메타트레이더 5. 체계정리. 활용법/지식 MetaTrader 5 메타트레이더 5 , 메타에디터, MQL5 활용정보 체계정리. 본 글에서 주요 정리대상 정보 1. 메타트레이더 5 사용법. 2. MQL5 언어 기반 "직접 코딩"하여 메타프레이더5에서 자동매매 달성하기 위한 기술적 정보 주요참고. 직접 자동매매 전략 코딩하는 것만이 유일한 자동매매 수단은 아니다. 코딩작업 전혀 하지 않아도 다른 전략 개발자(전세계 누구나 가능)의 매매 그대로 카피 매매 가능하다( 카피 매매 상세 ). 카피 매매 목적에서는 본 글에서 정리된 코딩 정보는 안봐도 됨. 단, 직접 전략 개발하여 본인 시그널을 다른 사람에게 제공하고 안정적인 신호제공 수수료 수익도 얻을 수 있기 때문에 직접 개발성공시 압도적인 안정적인 수익을 얻을 수 있긴하다. 물론 기존 신호 공급자 들보.. 2020. 11. 9.
MQL5. 포지션 생성, 청산 시점 검출 이벤트 드리븐 코드. 개요 - 이벤트 드리븐 방식으로 포지션 생성,제거(청산) 시점 검출 코드 클래스로 구현. 백그라운드. - 메타트레이더 EA 구현시 포지션 정보를 함수 호출하여 폴링으로 확인하는건 이 코드예 에서 처럼 간단하게 구현가능하다. - 그러나, 포지션 변경이 언제 생길지 알수 없는데 수시로 함수호출하는 폴링방식으로 포지션의 생성 , 청산을 확인 하는 코드는 비효율적일 수 밖에 없기에, 이벤트 드리븐 방식으로 포지션 생성/청산 시점 검출방식으로 구현되어야 한다. - 포지션 생성, 청산시 호출되는 이벤트핸들러는 OnTrade() 이며, 이곳에서 구현하면 되는데, OnTrade 로는 포지션외에 주문관련 이벤트를 비롯하여 여러 가지 이벤트 요인에 의하여 호출된다. - OnTrade() 로 포지션 생성/청산 정보 검출하려.. 2020. 11. 9.
MQL5. CArray. 동적 배열 CArray - CArray 를 베이스 클래스로 하는 CArrayChar, CArrayDouble, CArrayFloat, CArrayInt, CArrayLong, CArrayObj, CArrayShort, CArrayString 코드예. - CArrayLong - 다른 것도 거의 동일. #include CArrayLong arr_keys_deleted; arr_keys_deleted.Add(200) ; // 요소추가. for(int idx = 0; idx 2020. 11. 9.
MQL5. 포지션 함수, 클래스 활용코드 . 심볼1개의 모든 포지션등. 1. 계정의 모든 심볼의 모든 포지션 정보들 확보하기. #include CPositionInfo m_PosiInfo; int Proc_SupplyPosition() { int num_position_all_symbol = PositionsTotal(); // 계좌의 모든 포지션 수량 반환됨. for(int idx_posi = 0 ; idx_posi < num_position_all_symbol; idx_posi++) { m_PosiInfo.SelectByIndex(idx_posi); // 인덱스로 포지션 선택하고, Proc_GetInfoPosi(); // 현재 선택된 포지션 1개에서 필요한 정보 확보. } return 1; } void Proc_GetInfoPosi() { // 필요한정보들 m_PosiI.. 2020. 11. 8.
MQL5. CopyTime. Open.High.Low.Close.TickVolume.RealVolume.Spread. 개요. MQL5 에서 캔들 데이터의 요소(Time, Open, High, Low, Close, TickVolume, RealVolume, Spread) 개별적으로 배열로 확보하는함수들. 비교. CopyRates 의 경우엔 구조체 MqlRates 의 배열로 확보하는 함수인데, 실제 데이터를 활용하는 경우 MqlRates 의 배열보다는 각 멤버의 배열로 구성된 것이 활용상 더 편리한 경우가 많다. 즉, 구조체 MqlRates 의 배열로 시리즈 데이터를 받은 경우 종가들만 그리기 위해서는 별도로 MqlRates 에서 종가들만 골라내는 추가의 변환코드가 필요한 반면, 각 멤버의 배열로 받아둔 경우 별도의 변환 코드 없이 즉시 활용가능한 시리즈 데이터들이 마련된다. 구조체 MqlRates , MqlRates 의 .. 2020. 10. 12.
MQL5. MqlRates. CopyRates MqlRates struct MqlRates { datetime time; // Period start time double open; // Open price double high; // The highest price of the period double low; // The lowest price of the period double close; // Close price long tick_volume; // Tick volume int spread; // Spread long real_volume; // Trade volume }; // Code Example void OnStart() { MqlRates rates[]; int copied=CopyRates(NULL,0,0,100,rates); .. 2020. 10. 11.
Visual Studio Code 에서 MQL 문법 하이라이팅. Visual Studio Code. MQL 문법하이라이트 익스텐션 Visual Studio Code 에서 MQL4 나, MQL5 코드 편집가능하다. MQL 문법 하이라이팅해주는 Extension 설치하기. 설치방법. Visual Studio Code 실행하여 메뉴 -> Extension 에서 검색 MQL 하여 MQL4 Syntax Highlight 선택하여 설치한다. 동영상 - 설치 방법 2023.03.23 추가 extension : MQL TOOL -아래 영상에서 소개된 MQL TOOL 은 매우 유용하며 코딩환경이 훨씬 좋음. VSCode 에 MQL Tools 설정 별도 정리 . 2024.02.25 https://igotit.tistory.com/5126 메타트레이더 . VSCode 에서 MQL Too.. 2019. 4. 30.
메타트레이더 5. MetaEditor. MQL5 Script. CyClosePositionAll 개요 MQL5 에서의 Script 는 챠트에 배치되면 1회 실행 되며 코드 내에서 OnStart 라는 이벤트 핸들러가 있다. 1. MetaEditor 에서 Script 파일 생성하는법. 2. 스크립트 코드 구현예로 스크립트 실행시 보유한 포지션 모두 청산시키는 기능 구현 코딩 과정 보임. 기타. 용어 "스크립트" 때문에 "스크립트 언어" 와 유사한 형식의 것인가? 라고 생각할 수 도 있는데, C++ (MQL5) 로 작성되며 컴파일하여 실행바이너리 생성된다. MetaEditor 에서 신규 스크립트 생성하기. - 본 예에서는 Scripts 하위에 폴더 igotit 를 만들고 이곳에 스크립트 파일(이름 예 : CyClosePositionAll ) 생성한다. 코드 - 아래 소스 코드 처럼 작성하자. 기본 생성된.. 2019. 4. 19.
메타트레이더 5. MQL5. 이벤트 및 핸들러. 개요 MQL5 코드내에서 활용가능한 이벤트 들. 이벤트 전체 리스트. 이벤트소스 이벤트핸들러 Init OnInit() Deinit OnDeinit() Start OnStart() NewTick OnTick() Calculate OnCalculate() Timer OnTimer() Trade OnTrade() 주문 관련 이벤트. TradeTransaction OnTradeTransaction() 계좌(account) 관련 이벤트. Tester OnTester() TesterInit OnTesterInit() TesterPass OnTesterPass() TesterDeinit OnTesterDeinit() ChartEvent OnChartEvent() BookEvent OnBookEvent() DOM(De.. 2019. 4. 17.
메타트레이더 5. MQL5. 주문함수 오류 및 해결방법. 개요 MQL5 의 주문 함수 OrderSend 실행시 오류들 원인및 해결책 정리. OrderSend 함수 호출 반환값이 fail 인 경우 그 원인은 여러가지가 있다. 해당 원인은 OrderSend 의 두번째 인자 MqlTradeResult 의 멤버변수 rectocde 값을 보면 알 수 있다. retcode 값에 따라 원인및 해결법 정리. 기본 배경지식.MQL5 의 주문함수들 기본 정보 : http://igotit.tistory.com/1815 오류1. retcode 10004. TRADE_RETCODE_REQUOTE 10004 반환 되는 상황예. 시장가 주문으로 .OrderSend 주문하는 경우에도 인자 price 에 가격 지정하고, 동시에 deviation 값도 지정해야한다. deviation 값은 주.. 2018. 8. 28.
메타트레이더 5. 메타에디터 Navigator 폴더. 터미널 Navigator 표현과의 관계. 개요 MetaEditor 에서 작업한 코드파일들이 저장되는 경로에 관련된 사항들. MT5 터미널 프로그램에서의 창 Navigator 에서의 Indicator, Expert Advisor, Scripts 에 표현되기 위한 MetaEditor 에서 필수 준수 규칙. MetaEditor 의 창 Navigator 1. MetaEditor 에서 사용자가 작업한 코드파일들이 저장되는 경로는 창 Navigator 에서 보이는 MQL5 하위만 가능하다. 2. Navigator 에서 보이는 MQL5 폴더의 실제 경로 예 C:\Users\igotit\AppData\Roaming\MetaQuotes\Terminal\8B052D0699A0083067EBF3A36123603B\MQL5 이 경로를 쉽게 접근하기 위해서는 창 Na.. 2018. 8. 26.
메타트레이더 5. MQL5. 클래스 CTrade. 주문처리. CTrade 개요 MQL5 의 Standard Library 중 주문 실행 클래스. 클래스 내부적으로함수 OrderSend 가 이용되고 있다. MQL5 Standard Library ref. CTrade ref. 상기 CTrdae 설명사이트를 보면 방대하게 많아서 당장 코딩시 필요한 것이 뭔지 애매하다. 처음엔 아래 리스트 것부터 보면된다. OrderOpen Places the pending order with set parameters. OrderModify Modifies the pending order parameters. OrderDelete Deletes the pending order. PositionOpen Opens the position with set parameters. Positio.. 2018. 8. 25.
메타트레이더 . MQL5 Storage. 원격저장소. 버전 관리. MQL5 Storage 개요 MQL5 Storage - 메타에디터에서 코딩 작업하는 소스코드를 로컬 PC가 아닌 무료 원격서버에 저장가능. - 버전관리 기능. 사용되는 버전관리 시스템 Subversion (공식사이트 보기) - 프로젝트 팀 공유/공동작업 가능. - 모든 사용자가 볼 수 있는 공개프로젝트 형식으로도 설정가능. - 스토리지의 내용 웹에서 보고 파일 다운로드 가능. : https://storage.mql5.io 에 본인 MQL5.community 계정으로 로그인. - 메타 트레이더 5 뿐만 아니라 메타트레이더 4 에서도 활용가능. 그림(아래). 메타에디터에서 MQL5 Storage 연동상황. 그림(아래). https://storage.mql5.io 에서보이는 모습예. MQL5 Storage 활.. 2018. 8. 25.
메타트레이더 5. MQL5.Code Example. OnChartEvent. mouse, key. 개요 MQL5 의 OnChartEvent 내에서 키 입력, 마우스 이벤트 처리하는 코드 예. 관련 기본지식.MQL5의 이벤트 : http://igotit.tistory.com/1817 소스. 상기 소스 코드에서 키별 코드 값은 http://igotit.tistory.com/218 에서 확인가능하다. 실행화면. 본 글 포함된 상위 정리글. 1. MQL5의 이벤트 : http://igotit.tistory.com/1817 의 OnChartEvent 2. 메타트레이더 5 체계정리. 활용법/지식 : http://igotit.tistory.com/1775 ///1818. 2018. 8. 24.
메타트레이더 5. MetaEditor. MQL5 EA 생성. 개요 - 메타트레이더 5 (MT5) 에서 메타에디터 실행방법. - 메타에디터에서 신규 EA 생성방법. - EA 파일 생성된 경로 보는 방법. MT5 에서 메타에디터 실행. - MT5 메뉴 Tools -> "MetaQuotes Language Editor" 클릭 하여 에디터 프로그램 실행. 혹은 툴바에서 아이콘 클릭(아래 동영상 ) 메타 에디터에서 신규 EA 생성. - 메타 에디터에서 제공되는 생성툴 이용하면 EA 의 기본 골격 코드 즉시 만들어진다. - 만들어진 ez 를 챠트에 배치하고 실행하는 과정까지. 생성된 ea 의 파일 경로 보기. 아래 동영상에서 EA 파일 경로로 접근하는 방법을 보여준다. 2개의 파일 MyTestEA1.ex5, MyTestEA1.mq5 생성된다. 확장자 mq5 는 해당 ea 의.. 2018. 8. 19.


 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5