자청의 유튜브 추출기

유튜브 영상의 자막과 AI요약을 추출해보세요

AI 요약 제목

FX마진 자동매매 핵심! Mql4 기본 구문과 최신 빌드600 업데이트 완벽 정리

원본 제목

FX마진 자동매매 프로그래밍 강습 - 2. Mql4 언어의 기본 구문과 업데이트사항 (빌드600 버전이후)

FX 프라임의 FX마진 자동매매

조회수 조회수 2.0K 좋아요 좋아요 49 게시일 게시일

설명

네이버카페 https://cafe.naver.com/inmakpower/ 무료 C언어, C++ 언어 강습 https://edu.goorm.io/category/programming.programming-fundamentals?page=1&sort=newest&classification=C Mql4 빌드 600버전부터 달라진 점 https://cafe.naver.com/inmakpower/23509
자막

자막

전체 자막 보기
안녕하세요 nql 코딩 FX 마진 자동매매 프로그램인 강좌 두 번째 시간입니다 저는 FX 프라임이구요 오늘 다루는 내용은 실제로 코딩 하는데 그렇게 중요하진 않습니다 그 말은 예전 초창기 버전부터 mql을 하고 싶었거나 했었으나 지금은 관뒀다가 다시 시작하시는 분들한테 유용한 정보구요 현재는 업데이트에 대해서 상황에 대해서만 공부를 하시면 되기 때문에 그렇게 어렵지는 않습니다 이번 버전은 혹시 nql 사이트라든가 인터넷에서 예전에 만들어진 ex4 nql 파일 등을 구해서 소스를 벌 때 어 이거는 왜 이렇게 코딩이 되었지 뭔가 좀 다르다 이렇게 생각될 때 유용한 정보가 될 것이고요 실제로 기본적인 c언어라든가 그 부분에 대해서는 여기서 다루지 않고 있기 때문에이 점은 참고하시기 바랍니다 mcf는 mt4라는 HTS MT4 이거는 첫 번째 수업시간에서 말씀드렸습니다 원래는 C 프로그램 형태에서 약간 스크립트 형태였는데요 그래서이 언어로는 인디게이터라든가 스크립트 라이브러리 그래픽툴 그리고 자동 매매 그래야 지금 하려고 하는 EA 자동 매매 프로그램을 코딩할 수 있게 됩니다 먼저 c라든가 이런 부분에 대해서 전혀 모르시는 분들은 링크 구름 에듀라는 곳이구요 구로메드에 들어가셔서 강좌가 있는데요 무료로 10분 풀에 대해서 배울 수도 있고요 그 다음에 시계의 c언어 배우거나 한눈에 끝내는 처음 시작하는 시연을 쳐도 무료로 튀어나를 간단하게 배우실 수 있으니까 이런 과정을 통해서 c언어를 한번 배워 보시길 추천드립니다 본 강의에서는 c언어의 기본적인 코딩 방법 등은 알려드리지 않을 것 같구요 대신 처음 하시더라도 겔포에서 코딩 하실 수 있도록 기초적인 상식들을 알려드릴 생각입니다 죄송합니다 원래는 c하고 많이 비슷하다고 생각했었는데 빌트 600 버전부터는 10불에 가깝게 되었습니다 객체지향이면 클래스라든가 이런 구조체 이벤트 처리할 수 있는 것들이 상속이라든가 이렇게 복합적으로 할 수 있게끔 기능이 좋아졌다는 얘기인데 실제로 클래스를 사용해서 mql 코딩 하시는 분들도 많지 않습니다 그렇기 때문에 그렇게 중요하지 않고요 클래스 전혀 몰라도 코딩 가능합니다 있는 것과 상호작용할 수 있게끔 윈도우에 있는 드립 파일을 사용할 수 있게끔 되어 있고요 들어올 때 전체 구멍이 한 번씩 실행되는 구조로 되어 있습니다 시원하고 똑같이 주석은 슬러시입니다 코딩을 하실 때 지금이 부분에 보시면 슬러시가 2번이 들어 있는데이 부분은 프로그램이 해석하지 않고 넘어가는 부분입니다 이렇게 한 줄씩 갈 경우에는 슬러시를 두 번 치지만 동시에 같이 하고 싶을 때는 / 형태로도 사용할 수 있습니다 그래서 한줄일 때는 슬롯이 여러 줄일 때는 눈송이를 사용해서 사용하고요 보통 구문이 끝난 다음에 구분이 되면 슬러시를 해서 [음악] 이런 형식으로 주석을 사용할 수 있습니다 그래서 주석은 뭐 간단하구요 그 다음에 식별자라고 하는 거는 변수명 그러니까 쉽게 얘기해서 정의해서 사용하는 이름인데 63자까지 지원되고요 숫자하고 영어 대문자 소문자 그 다음에 언더바요 정도까지가 한글로도 변수명을 사용할 수 있습니다 한글로 하시는 분들도 많이 계시는데요 그래도 영어로 하시는 거 추천드리고요 제일 앞에 숫자가 올 수 없습니다이 부분은 거의 모든 언어가 동일하니까요 그냥 영어로 시작해서 숫자로 끝나거나 언더바 정도 사용해서 변수명을 설정한다 그리고 이미 예약되어 있는 언어는 사용할 수 없다라고 되어 있습니다 예약되어 있는 형태가 뭐냐면 그러니까 미리 mql에서 지정해 놓은 것들이거든요 여기서 변수에 데이터 형태인데 불 불은 트루와 폴스 이른치로 영원폴스에서 두 가지 값만 갖는 거고요 이놈이라는 거는 여러 가지가 지정해 놓은 값만 가지고 있는게 이놈이에요 구조체라든가 차라든가 불러 유차 이런 것들은 클래스까지 모르셔도 되고요 그냥 INT 이거는 정수입니다 플러스 마이너스 숫자형으로 되어 있는 정수 그리고 컬러는 색깔로 그냥 쓰면 되고요롱 이후로 이런 거 잘 안 쓰고 데이트 타임은 사용할 때만 사용하니까 나중에 한번 다룰 거고요 보통은 더블입니다 그러니까 소수점이죠 그러니까 쉽게 얘기해서 변수의 형태는 트루폴스나 이너 형태가 있지만 이런 경우에는 코딩을 사용하지 않고도 인트용으로 다 코딩이 가능하기 때문에 기본적으로 INT 정수형 숫자형 더블 소수점 소수점이 있는 정수 우리가 얘기하는 란 1.

2 가격 1.

00034 19와 같이 가격을 표시할 때는 더구령을 사용합니다 그 다음에 스팅 스트리밍은 뭐냐면 문자열입니다 쉽게 얘기해서 모든 문자열은 스트링형이라고 생각하시면 되고요 다른 것들을 복잡하게 쓰실 필요 없이이 네가지 형태 인트 더블 스트리트가 있는데요 이건 뭐냐면 아무것도 리턴하지 않는 변수형이란 뜻이에요 예전에는이 보이드형이 없어 가지고 다 엔트형으로 프로그램이 됐었는데 지금은 보이드 형태가 생겨 가지고 아무것도 리턴하지 않더라도 보이드 용기가 선호합니다이 부분은 함수에서 다시 한번 알려드릴 겁니다 접근을 하는 규제어나이 클래스에 접근하는 방법에 대해서 설명한 거고요 이건 클래스에서 사용하는 거기 때문에 이번 강의에서는 클래스 부분에 대해서는 거의 강의를 하지 않기 때문에 이거 모셔도 상관없습니다 왜 이렇게 모르는게 많고 이렇게 제끼는게 많냐고 생각하실 수 있는데요 저희가 충분히 지금 알려 드린 것만으로도 충분히 고급 프로그램을 개발할 수 있기 때문에 굳이 이걸 배우면서 시간 낭비하지 마시고 차라리 많은 매매의 전략과 만들어진 매매 전력을 최적화 하는데 많은 시간을 투자하시기 바랍니다 메모리 클래스는 익스터냐의 밖에서 변수를 선언하는게 있고요 스태틱은 고정 그러니까 고정해서 변수값을 사용하게끔 하는 겁니다이 부분도 조금 이따 다시 한번 다룰 겁니다 그 다음에 연산자는 이제 우리가 얘기하면 쉽게 하면 코딩할 때 들어가는 단어들이에요 여기서 많이 알 필요는 없고요 브레이크 저는 브레이크 몬차를 사용하지 않고요 두문도 저를 사용하지 않습니다이 포문에서 엘스가 들어가서 구문도 많이 사용하는데요 여기서 굳이 사용한다면 리턴 갑을 반환한다는 리터 그 다음 폼은 그 다음에 이품은 화일문 파일만도 전 별로 좋아하지 않아요 포모님을 충분하거든요 그래서 if 4 리턴이 정도만 알고 계셔도 충분히 코딩하실 수 있습니다이 부분은 다시 한번 코딩하는 부분에서 다루겠습니다 그 외에는 [음악] 헤더 파일이나 소스 파일을 가지고 오는 경우에 사용하는데요 여기서 중요한 것은 스트리트 엄격하게 적용을 할 것이냐 말 것이냐이 부분이 좀 달라졌습니다이 부분은 버전이 600 버전이 되면서부터 변경된 내용이 많아 가지고 이번에 처음 하시는 분들은 무시하셔도 되고요 예전에어나 예전에 한 10년 전에 5년 전에 mql 좀 해봤었는데 요즘에는 바뀌어 가지고 못 하겠습니다 때문에이 스트리트에 대해서 조금 배우셔야 돼요 그 부분은 아래 설명하겠습니다 변수는 변하는 숫자거든요 그래서 프로그램 시작할지 할 때 변수 향을 먼저 선언해요 형이라는 건 뭐냐면 INT 숫자형이다 정수영이다 변수명은 아니다 그리고 한주를 끝날 때는 무조건 세미콜론을 찍습니다 그리고 주석 한 줄 주석에는 한 줄로 변수 선언과 같이 한 줄 주석을 사용하며이 뒷부분은 컴퓨터 프로그램이 무시하게 됩니다 그래서 숫자형인 i라는 변수를 선언했다고 합니다 갑을 초기화하는 거 할당한다고도 말하고요 할당이란 건 뭐냐면 아이에게 아이에는 어떤 값도 존재하지 않습니다 그런데 0이라고 할당을 하면 0이 되는 거고 1이라고 할당하면 1이 되는 겁니다이 부분을 초기화라고 합니다 만약에 이런 형식으로 아이만 선언하게 되면 초기화가 되지 않았기 때문에 기본적으로 0으로 초기화됩니다 문자열이면 빈 문자에 아무것도 없는 공백 문자열로 속이 되었습니다 공백 문자열은 아예 문자가 없다는 얘기입니다 초기화 되겠습니다 변수는 한 줄로 선언하거나 한 줄이 여러 개 변수 또 선언할 수 있습니다 저같은 경우에도 한 줄로 여러 개 변수를 선호하는 것은 그냥 한 개 함수에서 여러 개의 변수를 동시에 사용하고 내가 기억하지 못해도 되는 경우에는 그냥 한 줄에 많이 사용합니다 그래서 우선 정수형 아이 한 줄래 변수를 선언했고이 갑에는 초기화되지 않았기 때문에 기본적으로 0이 입력되어 있습니다 스트립 스트링이라는 건 뭐냐면 문자열 문자열 타이틀이라는 변수와 텍스트라는 변수를 만들어 준 겁니다이 부분은 어떻게 해도 바꿀 수 있냐면 [음악] 초기화를 하게 되면 이런 형식으로 이렇게 표시한 것과 동일한 효과를 나타내고 있습니다 그리고 이제 더블 소수점이 있는 더불어 더블형의 변수 탑에는 1.

26236과 같이 변수를 선언했습니다 이건 뭐 가격이 이른 형태로 이루어져 있죠 fx에 가면은 1.

05154 일정 05154 이런 형식으로 소수점 다섯째 짜리까지 제공되어 있는 값이 있는데이 경우에는 모두 변수 더블형을 사용하는게 좋습니다 그리고 숫자형일 때는 그냥 값을 쓰면 되고요 스트링형일 때는 쌍다운 뼈를 사용하시면 됩니다 여기서는 배열까지는 기본으로 알려 드릴 건데요 더블 변수 5가지를 배열로 선언한 겁니다 그러니까 쉽게 얘기하면요 라세는 랏 1 라싸 란오 이렇게 해서 총 다섯 가지를 선언하고 거기에마다 변수를 선언하는 방법이 있지만 그렇게 하지 않고 그냥 변수를 하나의 변수명에 인덱스 여기 숫자만 변경해서 선언하는 방법이 있습니다 이럴 경우에는 중괄호 그리고 그 맥의 변수 사이에서는 콤마 콤마 콤마로 구분해서 사용하시면 됩니다 쉽게 얘기하면 배열은 0부터 시작하거든요 5개를 선언한 거고요 변수는 [음악] [음악] 이렇게 해서 총 5개의 변수가 선언되어 있다는 뜻입니다 여기서 중간에 변하는 숫자를 인덱스라고 얘기하고요 인덱스 꼭 배열은 0부터 시작한다는 거 알아주시면 감사하겠습니다 이거는 전 모든 언어에서 배열은 0부터 시작을 해요 그러니까 뭐 c형날은 조금이라도 배우셨거나 시 하나에서 배열을 보시면이 부분에 대해서 아실 수 있고요 이거는 초기화해서 할당한 겁니다 첫 번째 랏 0에는 0.

1 이런 형식으로 배열에 갑을 선언해 놨다고 보면 되는데요이 부분을 잘 보시면 마틴계에 대해서 라수를 변경할 때 사용할 때 이런 형식으로 배열을 선언했습니다 배열을 선언해서 값을 할당할 때 개수가 틀린 경우에 에러가 나기 때문에이 부분만 조심하시면 됩니다 항상 배열을 선언할 때는 전체 개수를 잘 맞춰서 사용하시고요 배열을 사용하는 경우도 있고요 사용하지 않는 경우도 있으니까요 배열을 배열을 좀 잘 알게 되면 배열을 사용하셔도 되고요 굳이 배열을 사용하지 않아도 충분히 코딩 가능합니다 우선은 c언어에 대해서 자세히 다루지 않을 거기 때문에 자주 사용하는 애하고 위주로만 강습을 진행할 것이기 때문에요 정도 부분만 알아도 시에서이 품은 폼은 사용까지 이해만 하시면요 정도만 하고도 충분히 코딩이 가능합니다 실제로 코딩 부분은 2시간도 2시간 정도만이 부분 인트 부분이라든가 변수 초기 한다던가 이품은 폼은 사용하는 거이 부분만 공부하시고 난 다음에 다시 한번 강의를 들어보시면 되게 쉽게 배우실 수 있습니다 이번에 하는 거는 빌트가 600 버전 쉽게 얘기하면 지금 현재는 mql [음악] 버전이 몇 번이 되냐면 지금은 130061 버전이에요 1361 버전이라는 것은 계속 업데이트가 많이 되고 있다는 얘기고요 600번 빌드가 600번이 되면서 또 프로그램이 굉장히 많이 변경됐습니다 그래서 에이전의 프로그램들은 빌드 600이 지나간 다음부터는 mql5 c++ 개최지향 프로그램의 표준화에 맞춰서 업데이트가 됐어요 그리고 예전에는 데이터 향이 되게 적었는데 데이터양을 좀 많이 추가를 했다는 거 차이점이 좀 있고요 문자열이 예전에는 안식코드였는데 요즘엔 다 유니코드죠 왜냐하면 유니코드가 돼야지 지원되기 때문에 유니코드 형태로 바뀌었구요 그 다음에 프로포트에 스트리트라는 속성이 추가됐어요이 부분이이 부분은 모르시면 넘어가시거나 그냥 듣고만 가시면 되는데요 그러니까 컴파일러라고 해서 mql을 컴파일 할 때이 strict라는게 기본적으로 들어있지 않았던 쿠폰 파일러가 있고요 그 다음에 600 버전부터는 3큰 판례에서도 스트릭트를 사용하는 컴파일러로 이렇게 총 3번의 버전이 변경됐어요이 부분은이 아래에 보시면 여기 링크를 누르시면 나오는이 글에 자세히 설명되어 있습니다 자세히 알고 싶으신 분들은 3가지 진입점을 가지고 있었는데 이제 진입점이 좀 바뀌었어요 그리고 여러 가지 예약어가 몇 개 추가되고요 그 다음에 컴파일러가 되면서 구조체험 클래스가 사용됐습니다 뭐 여기까지는 비슷해요 그래서 c에서 c++ 형태로 발전되었다가 프로퍼티 스트리트라면 컴파일로 변경되거든요 이용은 뭐냐면 변수에 선언하는 부분이 굉장히 짧아져요이 부분도 코딩하는 중간에 한번 알려드릴 겁니다 그러니까이 부분에 대해서는 너무 복잡하게 생각하실 필요가 없어요이 부분은 다음 시간에 알려드릴 거니까 걱정하지 마시고요 그럼 실제 코드를 한번 비교해서 볼게요 지금 현재 두 개의 파일이 파일은 파일에서 세무서를 눌러서 시스템 트레이딩을 만들겠다고 눌러 가지고 만들어진 타일입니다 기본 파일이구요 아무리 없구요 이거는이 버전은 2019년도 기준으로 만들어졌다는 걸 알려주고 있습니다 그리고 프로퍼티 스트릭트라고 엄격한 적용을 하겠다는 옵션이 기본적으로 작성되어 있고요이 버전은 2010년도 버전이에요 쉽게 얘기하면 무슨 얘기냐면 2010년도에 mql 에디터로 만들어진 소스 코드예요 뭐 이거는 금요일 날 그 다음에 월요일 아침에 개입으로 가격이 벌어지면이 갭을 쫓아가서 먹겠다는 개헌터라는 ea를 코딩했을 때 사용했던 코딩입니다 여기에 보시면 프로퍼티 스트리트가 없구요 보면 INT init int dinh 인터스타트 이렇게 해서 ea가 총 3가지로 구성되어 있고요 지금 버전이나 int 근데 dinh나 원틱이 보이드 형태로 바뀌었어요 보이드 형태로 바뀌었다는 건 무슨 얘기냐면 리턴하는 값이 없다는 거예요 int는 무조건 끝날 때 리턴이라는 값을 줘야 돼요 리턴에 성공했냐 1 실패했냐 0 이걸 주는 거거든요 예전 같은 경우는 그래서 어떻게 했냐면 다 인체형이기 때문에 뒤에가 리턴 이런 형식의 표현을 해요 0이라는 숫자로 갑을 리턴 해줘야지 int용은 리턴 됐다는 걸 알고 있어요 왜냐면이 함수는 정수형이기 때문에 정수값을 리턴 해줘야 돼요 여기도 똑같고요 스타트도 인트형이기 때문에 끝나고 났을 때 마지막에이 구문을 집어넣어 줘야 돼요 그런데 지금 보이드형일 경우에는 그냥 리턴만 사용을 합니다 그래서 에이전 소스와 요즘 소스를 보면 에이전 소스에서 리턴 0으로 되어 있는 소스들은 에이전 버전이구요 리턴으로 되어 있는 소스들은 요즘 버전이라고 보시면 됩니다 그러면이 코드까지는 지금 설명할 필요가 없구요 예전에 제가이 버전으로 실행도 하고 컴파일도 완성됐던 건데 이거를 다시 한번 컴파일 해보면 증과 같이 l은 없습니다 에러가 없다는 것은 실행은 된다는 뜻인데 11개의 경고와 11개 경고가 나타납니다이 말은 뭐냐면 리턴밸리 오브 오토 샌드 슈드비 체크등이 말은 무슨 말이냐면 예전에는 그냥 5도 샌들을 이렇게 집어넣기만 하면 됐었어요 그런데 이게 리턴 값이 있기 때문에 무조건 변수로 받아라 왜 요즘에는 그렇게 받지 않으면 에러코드 여기서 워닝이죠 에러는 실행이 안 되니까 워닝을 하면 워닝에 계속 하나 줄어들 겁니다 10개로 줄어들었죠 이런 형식으로이 오더샌드의 리턴밸류 작성해라 그러니까 오토샌드가 리턴되는 a 값을 그냥 코드를 추가해라 해서 inta라고 집어넣으면 되고 INT b라고 지금 그래서 워닝은 어느 정도 무시하고 코딩 하셔도 상관없습니다 그래서 방금 보신 것처럼 init 스타트 dinet가 이렇게 원칙으로 변경되었다는 거 그리고 지금은 프로퍼티의 스트릭트 속성이 자동으로 지정되지만 이걸 삭제하고 코딩이 되는데요 코딩을 새로 배우시는 분들은 그냥이 속성이 있는 상태에서 사용하시길 바랍니다 여기 보시면 그렇게 되죠 600번부터 보이드 형태가 추가되었습니다 그 전에 보이드가 없었구요 그 다음에 설치 폴더가 지금과 같이 이렇게 파일과 데이터 폴더 열기 형태로 변경되어 있다는 거 이것까지가 600번 버전부터 빌드업부터 변경된 내용입니다 실제로 600으로 변경한 이유는 아까도 말씀드렸듯이 D 컴파일러로 큰 파일을 했던 거를 소스를 decy를 할 수 있었기 때문인데 지금 현재 버전도 어느 정도 디컴파일 된다고 제가 말씀드렸습니다 다시 한번 c언어에 대해서 공부하시고 싶으신 분들은 구도 메뉴에서이 부분을 참고해서 한번 보시고요 그리고이 부분은 한번 훑어만 보시는 정도로만 하시면 됩니다 그리고 만약에 c언어를 배우겠다고 하시면은 주소 부분 변수명 그 다음에 변수 선언에서 초기화하는 법 그 다음에이 품은 포문이 정도까지만 공부하신 다음부터 코딩을 시작하시면 되겠습니다 수고하셨습니다
영상 정리

영상 정리

1. 오늘은 FX 자동매매 코딩 강좌 두 번째 시간입니다.

2. 이번 내용은 코딩에 꼭 필요하진 않습니다.

3. 예전 버전부터 mql을 하던 분들에게 유용한 정보입니다.

4. 지금은 업데이트 상황만 공부하면 되니 어렵지 않습니다.

5. 예전 소스와 차이점 이해에 도움이 될 거예요.

6. 기본 C언어는 다루지 않으며 참고만 하세요.

7. mql은 MT4에서 사용하는 프로그래밍 언어입니다.

8. C와 비슷하지만, 인디케이터와 자동매매에 특화됐어요.

9. 무료 강좌를 구름 에듀에서 쉽게 배울 수 있습니다.

10. C언어 기초는 별도로 배우는 걸 추천합니다.

11. 강의에서는 기초 코딩 방법만 간단히 알려줍니다.

12. 클래스와 객체지향은 이번 강의에서 제외됩니다.

13. 중요한 건 지금만으로도 충분히 고급 개발 가능하다는 점입니다.

14. 변수 선언은 형과 이름으로 이루어집니다.

15. 숫자형, 문자열, 더블, 배열 등 다양한 변수 타입이 있어요.

16. 변수 이름은 영어와 언더바, 한글도 가능하지만 영어 추천입니다.

17. 변수는 63자까지 지원하며, 숫자로 시작하면 안 됩니다.

18. 예약어는 사용할 수 없어요.

19. 불리언은 true/false, 정수는 int, 색깔은 color로 표현합니다.

20. 더블은 소수점 숫자, 문자열은 string형입니다.

21. 함수는 리턴값이 없으면 void형을 사용합니다.

22. 배열은 0부터 시작하며 인덱스로 접근합니다.

23. 배열 선언 시 개수와 값은 꼭 맞춰야 오류가 없습니다.

24. 강의는 2시간 내에 변수와 기본 코딩만 다루고 끝냅니다.

25. 현재 최신 버전은 130061이며, 업데이트가 계속됩니다.

26. 버전 600 이후로 많은 변화가 있었어요.

27. 유니코드 지원과 프로퍼티 스트릭트가 새로 도입됐습니다.

28. 예전 버전과 달리, 리턴값 없는 void형이 생겼어요.

29. 예전 소스와 새 소스 차이도 설명해 드릴게요.

30. 컴파일러와 버전별 차이도 참고하세요.

31. C언어를 배우고 싶으면 변수 선언과 초기화부터 시작하세요.

32. 포문과 변수 선언 정도만 익히면 코딩 시작 가능합니다.

33. 오늘 강의는 여기까지입니다. 수고하셨습니다.

최근 검색 기록