
MQL5 Algo Forge 시작하기
새로운 MQL5 Algo Forge는 단순한 프로젝트 목록이 아니라 개발자를 위한 본격적인 소셜 네트워크입니다. 여러분은 여기서 변경 사항을 쉽게 추적하고 프로젝트 기록을 관리하고 같은 생각을 가진 전문가들과 소통하고 새로운 아이디어들을 발견할 수 있습니다. 여러분은 이곳에서 흥미로운 저자를 팔로우하고 팀을 구성하고 알고리즘 트레이딩 프로젝트에 대해 협업할 수 있습니다.
MQL5 Algo Forge는 최신 버전 관리 시스템인 Git을 기반으로 구축되었습니다. 모든 개발자들에게 프로젝트 기록 추적, 브랜칭, 실험, 팀 작업을 위한 강력한 도구 세트를 제공합니다. 하지만 이 모든 것이 어떻게 작동할까요? 이 글에서는 MQL5 Algo Forge를 시작하는 방법에 대해 설명합니다.
MQL5 Algo Forge의 리포지토리란 무엇인가요?
소프트웨어 개발은 일반적으로 시간과 디버깅이 필요한 기난긴 과정으로 코드는 작성 및 유지 관리 뿐만 아니라 안전하게 저장되어야 합니다. 최신 트레이딩 알고리즘은 단순한 이동평균 크로스오버를 훨씬 뛰어넘어 수학 라이브러리, 신경망, 머신 러닝을 기반으로 구축되었습니다. 즉 개발자들에게는 변경 사항을 빠르게 저장하고 어디서나 최신 코드에 액세스할 수 있는 편리한 방법이 필요합니다.
MQL5 저장소는 MetaEditor에 통합된 내장 버전 관리 시스템입니다. 이전에는 모든 기록이 MetaQuotes 서버에 저장되는 중앙 집중식 버전 관리 시스템인 Subversion 1.7을 사용했었습니다. 인터넷에 연결되어 있지 않으면 변경 내용을 commit하거나 이전 버전으로 롤백 하거나 기록을 볼 수 없었습니다. 이제는 더 강력하고 유연한 솔루션인 MQL5 Algo Forge로 완전히 대체되었습니다.
이제 MQL5 Algo Forge는 다르게 작동합니다:
MQL5 Algo Forge(Git 기반) | MQL5 스토리지(레거시) | |
---|---|---|
기록 저장 | 로컬 및 클라우드 | MetaQuotes 클라우드 전용 |
오프라인 작업 | 전체(commit, rolbacks, diff) | 제한되거나 사용할 수 없음 |
작동 속도 | 인스턴트, 로컬 | 네트워크/서버에 따라 다름 |
Algo Forge는 여러분께 편리함을 드립니다. 여러분은 기차 안에서 오프라인으로 작업하고 실험적인 branch를 만들고 중간 결과를 저장하고 나중에 이들을 메인 branch에 병합할 수 있습니다.
Algo Forge의 프로젝트 리포지토리는 단순한 클라우드 폴더가 아닙니다. 로컬 드라이브에 존재하는 구조화된 Git 리포지토리로 MQL5 Algo Forge 클라우드 서버와 동기화되며 여러 계층으로 구성되어 있습니다:
MetaEditor의 작업 디렉토리
![]() | MetaEditor에서 편집 가능한 .MQ5, .MQH, .SET 및 기타 파일. 여기에서 Expert Advisor 코드를 작성하고 지표를 연결하고 전략을 테스트할 수 있습니다. 사용자가 명시적으로 변경 사항을 추가할 때까지 Algo Forge는 변경 사항을 추적하지 않습니다. |
스테이징 영역(색인)
![]() | 프로젝트 기록에 변경 내용을 저장하기 전에 준비합니다. 'Git 추가' 명령을 사용하여 다음 commit에 포함할 파일을 선택합니다. 이를 통해 여러분은 인터페이스 또는 구성 업데이트와 별도로 트레이딩 로직에 대한 조정을 저장하는 등 변경 사항을 논리적으로 그룹화할 수 있습니다. |
로컬 리포지토리
![]() | 'Git commit'으로 변경 사항을 commit하면 Algo Forge는 파일의 스냅샷을 컴퓨터의 로컬 리포지토리에 저장합니다. 그러면 여러분은 언제든지 이전 버전을 검토하거나 이전 상태로 롤백하거나 어떤 수정 사항이 Expert Advisor의 성과에 영향을 미쳤는지 분석할 수 있습니다. |
MQL5 Algo Forge 원격 리포지토리
![]() | 준비가 되면 'Git Push'를 사용하여 MQL5 Algo Forge 서버로 commit을 할 push수 있습니다. 이렇게 하면 안전한 백업이 만들어지고 팀원들이 변경 사항을 사용할 수 있습니다. 혼자 작업하는 경우에도 코드가 클라우드에 안전하게 저장되고 프로젝트 기록이 그대로 유지되므로 유용합니다. |
MQL5 Algo Forge에 연결하는 방법
MQL5 Algo Forge로 작업을 시작하려면 MQL5 계정이 있으면 됩니다. https://forge.mql5.io/ 에서 로그인하기만 하면 됩니다.
로그인하면 모든 기능을 살펴볼 수 있습니다. 공개 프로젝트는 Explore 섹션에서 프로젝트를 검색하고 코드를 공부하고 자신의 작업을 공유하고 다른 사람들과 협업할 수 있습니다.
그러나 대부분의 개발 작업은 MetaEditor 환경에서 이루어집니다. MetaEditor를 MQL5 Algo Forge에 연결하려면 Community 탭에서 MQL5 계정으로 로그인하면 됩니다.
Git이란 무엇이며 MQL5 Algo Forge에서 어떻게 작동하나요?
Git은 해당 시점의 파일을 기록하는 버전 관리 시스템입니다. 중요한 변경 사항의 손실을 방지하고 쉽게 롤백할 수 있으며 실험을 위한 분기를 지원하고 여러 개발자가 동일한 프로젝트에서 공동 작업할 수 있습니다.
MetaEditor에서는 Git 명령으로 직접 작업하지 않고 모든 것이 사용자 친화적인 인터페이스를 통해 처리됩니다. 내부적으로는 이때 Git은 몇 가지 필수 작업을 실행하고 있습니다. MetaEditor에서 각 명령을 세분화하여 해당 명령을 사용할 경우 어떤 일이 발생하는지 살펴 보겠습니다.
공개 프로젝트 폴더에 새 프로젝트 "Base_EA"를 만들어 보겠습니다.
프로젝트 파일을 마우스 오른쪽 버튼으로 클릭하면 사용 가능한 Git 명령어를 볼 수 있습니다.
1. Git 파일/폴더 추가 - 변경사항 스테이징
파일을 편집할 때 Git은 파일을 자동으로 추적하지 않습니다. 시스템에 이러한 변경 사항을 저장하고 싶다고 알리려면 index에 파일을 추가합니다. 'Git 파일/폴더 추가'를 통해 또는 commit할 파일을 선택할 때 이 작업을 수행할 수 있습니다.
Git은 파일의 현재 상태를 스냅샷으로 찍어 저장할 준비를 합니다(예: 문서를 'to be signed' 폴더에 넣는 등).
2. Git commit - 프로젝트 스냅샷 저장하기
MetaEditor에서 'Git commit'을 클릭하면 프로젝트의 현재 상태가 캡처 되어 버전 기록에 저장됩니다.
이렇게 진행됩니다:
- Git은 변경 내용을 이전 파일과 비교합니다.
- (공간 절약을 위해) 차이점만 저장합니다.
- 변경 내용은 숨겨진 .git 폴더에 기록됩니다.
- commit은 고유한 SHA-1 식별자를 얻습니다.
commit은 본질적으로 프로젝트의 현재 상태를 보여주는 체크포인트입니다. 나중에 여러분은 언제든지 해당 지점으로 돌아가서 계속 진행할 수 있습니다.
3. Git Push - MQL5 Algo Forge Cloud로 보내기
'Git Push;'를 선택하면 로컬 commit이 MQL5 Algo Forge 서버에 업로드 됩니다.
프로젝트의 새 버전을 클라우드에 업로드하는 것과 같지만 변경 내역이 모두 기록됩니다.
편의를 위해 MetaEditor는 'Git Commit' 직후에 자동으로 'Git Push'를 수행합니다. 이렇게 하면 현재 버전이 항상 클라우드에 동기화됩니다. 어떤 이유로든 서버에 변경 사항을 push하는 데 실패하면 수동으로 'Git Push'를 실행할 수 있습니다.
4. Git Pull - 최신 버전 가져오기
공동 작업 시 다른 사람이 나보다 먼저 프로젝트를 업데이트할 수 있습니다. 또는 한 컴퓨터에서 변경 내용을 commit하고 다른 컴퓨터에서(또는 같은 컴퓨터이지만 다른 터미널에서) 작업을 계속할 수도 있습니다. 이러한 업데이트를 가져오려면 Forge에서 모든 변경 사항을 가져오는 'Git Pull'을 사용하세요.
Git은 클라우드에서 새로운 commit을 다운로드하여 로컬 버전과 병합합니다.
5. Git Branch - 안전하게 분기하고 실험하기
때로는 메인 프로젝트에 영향을 주지 않고 아이디어를 테스트하고 싶을 때가 있습니다. 이 작업은 branches를 통해 수행할 수 있습니다. 예를 들어 branch를 만들어 다른 지표를 테스트하거나 전략에 필터를 추가할 수 있습니다. 각 branch에는 고유한 이름이 있으며 branch 간에 자유롭게 전환할 수 있습니다.
branch는 또 다른 개발입니다. 원하는 만큼 실험한 다음 폐기하거나 메인 branch에 병합할 수 있습니다.
6. Git Difference - 파일 변경 사항 검토하기
이 명령은 commit하기 전에 파일에서 변경된 내용을 줄 단위로 정확하게 표시합니다. 추가, 삭제 또는 수정된 줄을 강조 표시하는 비교 패널이 열립니다.
7. Git Log - 프로젝트 기록 보기
'Git Log' 명령은 모든 commit을 날짜, 작성자, commit 메시지와 함께 나열합니다. 이렇게 하면 프로젝트 개발 타임라인을 명확하게 파악할 수 있고 누가 언제 무엇을 변경했는지 추적할 수도 있습니다.
8. Git Revert - Commit 실행 취소하기
'Git revert'는 이전 commit의 효과를 기록에서 지우지 않고 취소하는 새로운 commit을 생성합니다. 이 방법이 가장 안전하게 변경 내용을 되돌릴 수 있는 방법입니다. 하지만 최신 commit에서만 깔끔하게 작동합니다.
이 명령은 commit으로 인해 Expert Advisor가 손상되었을 경우 특히 유용할 수 있는데 다른 commit에 영향을 주지 않고 빠르게 실행 취소할 수 있습니다. 그러나 되돌린 commit이 동일한 코드에 대해 이후의 commit과 같이 영향을 미치는 경우 병합 충돌이 발생할 수 있으므로 수동으로 해결해야 합니다.
프로젝트 작업을 위한 안전 수칙
버전 관리에서 가장 일반적인 문제 중 하나는 로컬 버전과 원격 버전 간의 충돌입니다. 이를 방지하려면 간단한 규칙을 따르세요: 항상 먼저 pull 합니다. 작업을 계속하기 위해 프로젝트를 열면 'Git Pull'을 실행하여 최신 버전이 있는지 확인하세요.
또 다른 규칙은 항상 마지막에 commit + push입니다. 작업이 끝나면 자동 push 기능으로 'Git Commit'을 실행하여 업데이트를 클라우드로 전송합니다. 이러한 습관을 따르면 원활하고 충돌 없이 작업을 유지하면서 코드를 항상 안전하게 보호할 수 있습니다.
MQL5 Algo Forge - 안정적인 프로젝트 관리에 필요한 모든 것
Git 명령을 수동으로 입력할 필요가 없습니다. 모든 것이 MetaEditor에 통합되어 있습니다:
- 프로젝트 컨텍스트 메뉴를 통해 파일 추가, commit 및 branching을 할 수 있습니다.
- push와 pull - 클라우드와 동기화하기 위해 버튼 두 개만 누르면 됩니다.
- Branch 및 Revert - 개발 제어를 위한 간단한 명령어입니다.
- Chnage history - 기본 내장 로그로 제공됩니다.
이 8가지 명령어만 있으면 MQL5 Algo Forge를 자신 있게 사용할 수 있습니다. MQL5 Algo Forge는 체계적인 개발, 안전한 실험, 팀워크 지원, 데이터 손실에 대한 완벽한 보호 기능을 제공합니다.
지금 시작하기
MQL5 Algo Forge는 단순한 스토리지가 아니라 알고리즘 트레이더를 위한 완벽한 프로젝트 관리 시스템입니다. 모든 변경 사항을 추적하고 위험 없이 실험하고 팀으로 협업하고 안정적이고 신뢰할 수 있는 코드를 유지하고 관리할 수 있습니다.
Git이 너무 복잡하게 느껴졌다면 MQL5 Algo Forge를 사용하면 간단해집니다. MetaEditor는 필수 명령어를 통합하여 코드 작성, 진행 상황 저장, 롤백에 대비하는 데 집중할 수 있습니다.
유용한 링크:
MetaQuotes 소프트웨어 사를 통해 러시아어가 번역됨.
원본 기고글: https://www.mql5.com/ru/articles/18518
경고: 이 자료들에 대한 모든 권한은 MetaQuotes(MetaQuotes Ltd.)에 있습니다. 이 자료들의 전부 또는 일부에 대한 복제 및 재출력은 금지됩니다.




MQL5 카탈로그의 루트는 denkir/mql5라는 개인 프로젝트입니다. 이 프로젝트는 공유할 수 없으며 개인 소유입니다.
MQL5 루트 폴더의 모든 파일은 Algo Forge의 저장소로 완전히 사용할 수 있습니다.
그러나 공유 프로젝트 카탈로그에 있는 프로젝트는 공유 MQL5 폴더에서 제외되며 별도의 프로젝트 또는 공유 프로젝트의 시작점입니다. 공유 프로젝트에서 프로젝트를 생성하면 다른 사용자에게 읽기 또는 쓰기 액세스 권한을 부여할 수 있습니다.
공유할 수 없습니다.
공유할 수 있습니다. forgejo 서버를 통해 git 리포지토리를 공유할 수 없다면 이상할 것입니다. 다음은 탐색의 첫 번째 리포지토리입니다(직접 확인하지는 않았습니다):
https://forge.mql5.io/darashikoh/mql5
공유할 수 있습니다. forgejo 서버를 통해 git 리포지토리를 공유할 수 없다면 이상할 것입니다. 다음은 Explore의 첫 번째 리포지토리입니다(직접 확인하지는 않았습니다):
https://forge.mql5.io/darashikoh/mql5
네. 공개되어 있는 것을 확인했습니다. 🙂 👍 GITHUB와 비슷한 것 같지만 MQL에 맞춰져 있는 것 같습니다.
"Git Clone"을 사용하여 다른 사용자의 저장소를 복제하려면 어떻게 해야 하나요, AlgoForge 웹사이트가 아닌 MetaEditor 내에서?
위조 웹 사이트에서 " 메타에디터에서 열기" 링크를 통해 이 작업을 수행할 때 "휴대용" 모드만 사용하고 있기 때문에 실패합니다. 여러 개를 설치한 경우에도 문제가 될 수 있습니다.
메타에디터에서"Git Clone" 메뉴 옵션을 사용하는 방법에 대한 설명서를 찾을 수 없습니다.
편집: 지금까지 제가 찾은 유일한 해결책은 외부 Git 클라이언트를 사용하여 먼저 리포지토리를 복제하는 것이었습니다("공유 프로젝트" 디렉토리 아래에서).
좋은 아침입니다,
git을 사용한 새로운 빌드를 사용하면 mql5book과 같은 mql5 커뮤니티에서 프로젝트를 가입하고 다운로드 할 수 없습니다. "가입"버튼을 클릭 할 수 없거나 "algoforge 활성화"를 클릭 할 수 없습니다. 어떻게해야하나요?