English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
preview
MQL5 Algo Forge 시작하기

MQL5 Algo Forge 시작하기

MetaTrader 5 |
566 29
MetaQuotes
MetaQuotes

새로운 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는 필수 명령어를 통합하여 코드 작성, 진행 상황 저장, 롤백에 대비하는 데 집중할 수 있습니다.


MQL5 Algo Forge에 오신 것을 환영합니다!


유용한 링크:

MetaQuotes 소프트웨어 사를 통해 러시아어가 번역됨.
원본 기고글: https://www.mql5.com/ru/articles/18518

최근 코멘트 | 토론으로 가기 (29)
Vladislav Boyko
Vladislav Boyko | 16 7월 2026 에서 05:56
Vladislav Boyko #:
Swagger를 사용하여 자신을 삭제해 볼 수 있습니다:

방금 테스트 계정을 공동 작업자로 추가했습니다(2단계 인증은 설정되어 있지 않습니다). 공동 작업자 관리자가 아니라면 이 방법은 작동하지 않습니다:

{

   "message": "user should be an owner or a collaborator with admin write of a repository",

   "url": "https://forge.mql5.io/api/swagger"

}

테스트 계정을 관리자로 지정한 후에는 Swagger를 통해 해당 계정을 삭제할 수 있었습니다. 하지만 여러분이 그곳의 관리자일 가능성은 낮으므로, 이 방법은 도움이 되지 않을 것입니다.


Aleksandr Slavskii
Aleksandr Slavskii | 16 7월 2026 에서 06:38
Vladislav Boyko #:

아마도 귀하는 이 저장소의 공동 작성자일 것입니다. swagger를 사용하여 자신을 제거해 볼 수 있습니다:

https://forge.mql5.io/api/swagger#/repository/repoDeleteCollaborator

인증 필요 (페이지 상단):


이 방법을 시도해 보았습니다(테스트 계정에 저를 공동 작성자로 추가한 후), 하지만 401 오류(invalid provided OTP)가 발생했습니다. 아마도 제 계정에 2단계 인증(2FA)이 활성화되어 있기 때문일 것입니다. 저는 2단계 인증을 끄고 싶지 않습니다. 원하시면 직접 시도해 보세요.

저에게는 이게 완전히 낯선 영역입니다. 어떤 키를 요구하는데, 그걸 어디서 구하죠? 그리고 제가 어떻게 거기서 공동 작성자가 될 수 있나요?

이 게시물이나 뭐든 간에 제가 어딘가에서 우연히 건드린 것임을 충분히 이해합니다. 하지만 제게 필요 없는 쓰레기를 삭제할 수 없다는 사실이 정말 놀랍습니다.

Vladislav Boyko
Vladislav Boyko | 16 7월 2026 에서 17:44
Aleksandr Slavskii #:
그리고 거기서 어떻게 공동 저자가 될 수 있나요?

아래 영상에서 보시는 것처럼요.

아마도 여러분이 한때 관심을 표명하셨고, 저장소 소유자가 여러분에게 기여할 기회를 주기로 결정한 것 같습니다.

Vladislav Boyko
Vladislav Boyko | 16 7월 2026 에서 17:50
Aleksandr Slavskii #:
무언가 키를 입력하라고 하는데, 도대체 그걸 어디서 구해야 하는 거죠?

사용자 이름과 비밀번호로 로그인하는 옵션이 있긴 합니다. 하지만 제가 이미 확인했듯이, 이 방법은 해당 저장소의 관리자일 때만 작동합니다. 그럴 가능성은 거의 없으니, 이 일에 시간을 낭비할 필요는 없습니다.


Vladislav Boyko
Vladislav Boyko | 16 7월 2026 에서 18:54
Aleksandr Slavskii #:
내 페이지에서 다른 사람의 프로젝트를 어떻게 삭제하나요?

본인이 직접 공동 작업자 지위를 해제할 수 있는 기술적 방법이 없는 것으로 보입니다.

singwai에게 연락하여 협업자 목록에서 자신을 제거해 달라고 요청해 보세요.

해당 사용자가 응답하지 않는다면, 아마도 AlgoForge 관리자(MQ 소속인 사람일 것임)만이 귀하를 공동 작업자 목록에서 제거할 수 있을 것입니다.

MQL5 Algo Forge로 이동하기(1부): 메인 리포지토리 만들기 MQL5 Algo Forge로 이동하기(1부): 메인 리포지토리 만들기
MetaEditor에서 프로젝트를 작업할 때 개발자는 종종 코드 버전을 관리해야 하는 상황에 직면합니다. MetaQuotes는 최근 코드 버전 관리 및 협업 기능을 갖춘 MQL5 Algo Forge의 출시와 함께 GIT로의 마이그레이션을 발표했습니다. 이 글에서는 이 새로운 도구와 기존 도구를 더 효율적으로 사용하는 방법에 대해 설명합니다.
MQL5 프로그램 구조에 대해 알아야 할 모든 것 MQL5 프로그램 구조에 대해 알아야 할 모든 것
프로그래밍 언어로 된 모든 프로그램에는 특정한 구조가 있습니다. 이 글에서는 MetaTrader 5에서 실행 가능한 MQL5 거래 시스템 또는 거래 도구를 만들 때 매우 유용한 MQL5 프로그램 구조의 모든 부분에 대한 프로그래밍의 기초를 이해함으로써 MQL5 프로그램 구조의 필수 부분을 학습할 수 있습니다.
다양한 이동 평균 유형을 테스트하여 이들이 얼마나 통찰력이 있는지 확인합니다. 다양한 이동 평균 유형을 테스트하여 이들이 얼마나 통찰력이 있는지 확인합니다.
우리 모두 이동평균 지표의 중요성을 잘 알고 있습니다. 트레이딩에 유용한 다른 유형의 이동평균들도 있으며 이 글에서는 이러한 유형을 식별하고 각각의 유형과 가장 인기있는 단순 이동평균 유형을 간단히 비교하여 어떤 유형이 최상의 결과를 보여줄 수 있는지 알아볼 것입니다.
애플리케이션을 통한 MQL5 함수의 이해 애플리케이션을 통한 MQL5 함수의 이해
함수는 모든 프로그래밍 언어에서 중요한 요소이며 DRY(반복하지 말라는 의미)의 개념을 적용하는 데 도움이 되는 등 여러 가지 이점이 있습니다. 이 글에서는 함수에 대한 자세한 정보와 복잡한 작업 없이 트레이딩 시스템을 강화하기 위해 모든 시스템에서 사용하거나 호출할 수 있는 간단한 애플리케이션으로 MQL5에서 우리만의 함수를 만드는 방법에 대해 자세히 설명합니다.