English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
최초 구매 고객을 위한 팁

최초 구매 고객을 위한 팁

MetaTrader 5트레이딩 | 11 10월 2021, 16:01
96 0
Dmitriy Skub
Dmitriy Skub

개요

유명한 말이 있죠? '실패는 성공의 어머니다'라고. 반박하기 힘든 말입니다. 여러분 또는 타인의 과거의 실패를 분석해서 미래의 실패를 최소화할 수 있죠. 구인 서비스를 이용할 때 일어날 수 있는 여러 상황에 대해 알아보겠습니다.

최대한 객관적으로 글을 쓰려고 해요. 어떤 상황이든 개발자의 입장에서 대처하는 방법을 쓸 겁니다. 우선 다음 사항을 짚고 넘어가고 싶네요.

실제 이름, 닉네임, 사진 또는 시각 자료가 사용된 경우 이는 의도된 것이 아닙니다. 아래 내용은 저자의 개인적인 의견입니다.


1. 구인 서비스-대체 왜 필요한가?

구인 서비스 이용 여부는 여러분의 선택에 달려 있습니다. 저는 이용하는 것을 추천합니다. 이유를 설명해 드릴게요. 우선 구매자와 개발자 사이에 발생할 수 있는 문제들을 알아보겠습니다.

  • 구매자의 불명확하거나 애매한 요구 조건 상세(RS)로 인한 개발자의 결과물 차이
  • 개발자가 일을 제대로 완수하지 않고 보수만 받아갈 것이라는 구매자의 걱정
  • 개발 완료 후 구매자가 잔금을 지불하지 않을 것이라는 개발자의 걱정
  • 구매자와 개발자 모두 서로가 100% 맞다고 우기며 타협하지 않으려는 논쟁 상황

마지막 세 문제는 모두 해결 가능합니다. 불명확한 요구 조건 상세도 어느 정도 해결 가능하고요. 다만 한 가지 신경 쓰이는 게 있죠. 바로 구매자와 개발자가 서로 할 일을 제대로 하느냐의 문제입니다. 주문을 한다든지, 송금을 한다든지, 중재 서비스를 이용한다든지요. 하지만 마음 편히 구인 서비스를 이용하려면 그 정도의 노력은 아무것도 아니라고 생각해요.

구인 서비스를 통한 인디케이터, EA 또는 스크립트의 개발이나 수정을 원하시나요? 그렇다면 구인 서비스 이용 규칙을 먼저 읽어 보아야 합니다. 아직 읽지 않았다면 꼭 읽어 보세요.

'엑스퍼트 어드바이저, 주문하고 원하는 결과 얻기''MQL5와 MQL4로 트레이딩 로봇 주문하기'도 살펴보시는 게 좋습니다. 구인 서비스를 효과적으로 이용하는 데에 도움이 될 거예요. 서로 꼼꼼하고 양심적으로 임해야 합니다.


2. 흔한 주문 유형

가장 자주 문제가 발생하는 주문 유형을 알아봅시다. 전체를 포함하는 건 아니지만 대략 다음의 목록과 같다고 보면 됩니다.


2.1. 정말 쉬운 외환 시장

뭘 원하는지도 모르고 뭐가 어떻게 돌아가는지도 모르는 고객이 있습니다. 약간의 정보만을 주워 듣고 외환 시장을 쉽게 본 경우일 겁니다. 두 개의 이동 평균이 교차하는 지점을 찾고 MACD까지 추가한(같은 МА인지도 모르고) 고객은 아마 훌륭한 매매 시스템을 찾았으니 EA로 옮기기만 하면 돈방석에 오를거라 생각할 겁니다.

이런 고객들의 주문 내용은 주로 '간단한 엑스퍼트 어드바이저', '간단한 인디케이터' 또는 '간단한'과 '쉬운'이라는 표현을 포함합니다. 보수도 10~20 크레딧밖에 되지 않죠. 구인 서비스의 최저 임금이거든요.

해당 고객은 아마 자신이 초보자라는 사실을 인정하지 않을 거고, 주문 내용이나 가격 또한 말도 안되는 경우가 많을 겁니다. 왜인지는 모르겠지만 영어를 할 줄 아는 사람들은 바로 인정하고 시스템에 대한 조언을 구하는 경우도 있더군요.

이때 줄 수 있는 유일한 조언은 최소 1년 이상의 타임프레임에 시스템을 테스트해 보고 구인 서비스를 이용하라는 겁니다. 테스터의 시각화 모드에서 Trading SIMULATOR 2와 같은 기존의 개장가/종가 EA를 이용하거나 테스트 전용 프로그램을 이용해 봐도 좋고요.


2.2. 인디케이터 대란

초보자의 또 한 가지 특징은 한번에 여러가지 인디케이터를 이용하는 겁니다. 상호 배타적인 신호를 발생시키는 인디케이터들도 있죠. 스케일이 다른 인디케이터를 한 인디케이터 창에 실행해서 인디케이터 간 교차 신호를 찾는 것도 또 다른 특징입니다. 물론 외환 거래 초보자들만 이런 것은 아니죠.

무엇이 불가능하다고 아무리 설명해 봐도 전반적인 이해도가 낮으니 참 답답하죠. '어떤 프로그래머는 엄청 쉽게 했다던데' 식의 이야기도 나오고요. 터미널 사용 경험이 적을수록 이해도가 낮고 고집은 센 것 같아요.

위에서 언급한 인디케이터 조합의 예를 볼게요. 0~100의 정규화 범위를 갖는 RSI와 0~1보다 훨씬 작은 미지의 수까지의 비정규화 범위를 갖는 ATR을 살펴보겠습니다. ATR이 다음 바에서 아래에서 위로 RSI와 교차되는 경우 매수합니다. 그림 1의 회색 사각형에서 매수 신호가 나타납니다.

일단 세로 점선으로 표시해 놓고 어떻게 되나 보죠.

그림 1. 매수 신호 출현

그림 1. 매수 신호 출현

그림 2의 매수 신호는 그림 1보다 강해진 반면 좌측으로 이동했습니다. 시간축의 세로 점선 위치는 그대로입니다. 좀 더 일찍 들어가야 했던 것 같네요. 뭔가 잘못된 것 같아요.

그림 2. 매수 신호 지속

그림 2. 매수 신호 지속

그림 3은 굉장히 헷갈립니다. 신호가 사라졌어요. 아예 없었던 것처럼 완전히 사라졌습니다. 이는 스케일링의 결과입니다. 서로 다른 범위 값을 갖는 여러 인디케이터를 한번에 볼 수 있도록 한 차트에 적용한 것이죠.

그림 3. 사라진 매수 신호

그림 3. 사라진 매수 신호


또 다른 흔한 특징은 인디케이터의 과거 실적 기록을 보면서 환상에 빠지는 겁니다. 가격 변화에 따라 인디케이터 적용 결과가 달라진다는 사실과 꽤 많은 인디케이터들이 가격에 좌우된다는 것을 잘 모르기 때문인데요. 그래서 자꾸 차트만 새로 그려 보죠. 가장 눈에 띄는 예는 지그재그 인디케이터가 되겠네요.

이런 고객과의 대화는 끝도 없고 정신적 스트레스가 정말 크죠.

굉장히 쉬운 팁이 있습니다. 바로 인디케이터의 역학 변화를 관찰하는 거죠. 시간축과 가격축을 따라 차트 스케일을 변경할 때 신호가 사라지는지 확인하라고 하세요. 가격이 변할 때 인디케이터의 히스토그램이나 곡선이 이전 바에서 다르게 나타나는지 물어보세요. 테스터의 시각화 모드에서 차트에 인디케이터를 추가해 확인할 수 있습니다. 아무 엑스퍼트 어드바이저나 이용해도 됩니다.


2.3. 수동 시스템 자동화

가장 복잡한 경우 중 하나인데요. 성공적인 투자자도 자신의 전략을 알고리즘으로 옮기는 데에 어려움을 겪고는 합니다. 투자가 직감에 의해 이루어지기 때문이죠. 정보는 무의식적으로 프로세싱되고 결과만 보이는 겁니다. 사실 이런 투자자는 어떻게 자신이 얻은 결과가 나왔는지 잘 모릅니다.

시스템을 형식화하지 못했다면 차선은 투자 프로세스를 점진적으로 자동화하는 것입니다. 모든 시스템은 기본 엘리먼트(개장가/종가, 포지션/주문, 위험 관리, 포지션 관리 등)를 포함합니다. 프로세스를 여러 단계로 나누어 각 단계를 따로 분석하세요. 그렇게 하다 보면 투자 프로세스의 거의 모든 부분을 자동화할 수 있습니다.

자동 매매 시스템이 마음에 들지 않으면 반자동 시스템을 개발할 수도 있는데요. 반자동 시스템에서는 투자자가 포지션 오픈 시점과 가격을 결정하고 나머지는 EA가 처리합니다. 혹은 시간 및/또는 엔트리 가격 범위를 직접 설정하고 EA가 해당 조건을 관찰하며 설정 범위 내에서 포지션을 오픈하죠.

그러니까 두 가지 접근법이 있네요. 첫째는 거래 오퍼레이션의 대부분을 담당할 반자동 시스템을 개발하는 겁니다. 둘째는 거래 프로세스를 단계 별로 나누는 거고요. 둘 모두 EA의 개발로 이어집니다. 두 접근법을 섞어서 사용해도 좋습니다.


2.4. 엑스퍼트 어드바이저한테 다 떠밀기

가끔 RS 중 아주 일부만이 거래에 직접적으로 관련된 함수인 경우가 있습니다. 나머지는 컴퓨터와 네트워크 모니터링, 문자나 이메일 전송, 오류 추적 등으로 이루어진 거죠. 여기에 소리 또는 목소리 알림이 추가될 수도 있고요.

고객과 개발자의 합의만 있으면 당연히 실현 가능한 일입니다. 하지만 함수 구현에 비용을 지불하기를 꺼려하는 고객이 많습니다. EA가 정말 위의 모든 기능을 커버해야 할까요? 저는 아니라고 생각합니다. 게다가 그런 EA는 완전히 독립적으로 실행되지 못합니다. 치명적인 오류가 발생할 수도 있죠.

따라서, EA의 기능에 어느 정도 제한을 두어야 합니다. 개발 비용도 절감하고 EA의 안정성도 높이는 좋은 방법이죠. 기능이 적으면 오류도 적게 일어날 테니까요.


2.5. 모르는 것을 해라

사실 제목의 첫 부분은 '모르는 곳으로 가라'로 시작하죠. 작업 마무리 단계에서 고객과 개발자에게 흔히 발생하는 일입니다. 매매 시스템에 보완이 필요하다고 생각하는 고객들은 EA 또는 인디케이터 개발 중에 RS를 변경하거나 내용을 추가하고 삭제하기도 합니다.

간단한 프로그래밍이면 그냥 해줄 수도 있을 거 같아요. 아주 작은 디테일을 깜박했을 수도 있으니까요. 하지만 대부분의 경우 고객에게는 별로 중요하지 않은 사항이어도 EA 코드를 대폭 수정해야 하는 경우가 있습니다. 프로그래밍 논리 자체를 바꿔야 하는 거죠. 흔한 예로는 개장 시 주문 실행을 대기 주문 실행으로 변경하는 것이 있죠. 그 반대도 마찬가지고요.

제가 드릴 수 있는 유일한 조언은 고객과 함께 RS 포함 사항을 꼭 확실히 하는 겁니다. RS 수정이 EA 작성보다 더 오래 걸리는 경우도 있습니다. 고객의 목표를 이해하는 것도 일의 일부입니다.


3. 이상적인 RS란 어떤 것일까?

이상적인 RS는 다음과 비슷합니다.

3.1.작업 환경

개발에 사용될 터미널(MT4/MT5)이 명시되지 않은 경우가 많습니다. 가장 중요한 건데 말이죠. 터미널 버전은 반드시 명시되어야 합니다. 모든 개발자가 MQL5를 사용할 줄 아는 것도 아니고 MQL5를 능숙하게 구사해도 MQL4는 모를 수도 있으니까요.

3.2. 결과물을 적용할 딜링 센터 또는 브로커

특히 EA를 개발할 때 필요한 정보입니다. 센터 또는 브로커 별로 정해진 룰이 다를 수 있거든요. 주문 실행 방법이나 랏 사이즈, 오버나잇 포지션, 시세 가격 자리수, 계좌 통화, 주말 시세 등 많은 것이 포함됩니다.

고객이 직접 이용하는 센터 또는 브로커에 원하는 통화쌍이 적용된 데모 계좌를 오픈한 후 개발자에게 제공해 주면 가장 좋죠. 데모 계좌를 열려고 해도 웹사이트에 등록이 필요한 경우(Oanda)가 있으니까요. 개발자의 시간은 소중합니다. 디버깅과 테스트 단계에서 필요할 수도 있고요.

3.3. 실제 계좌에 적용할 것인지 테스트 또는 데모 계좌용인지 알리기

정말 중요한 부분입니다. 테스트 시에는 작업 속도가 가장 중요한 반면, 실제 계좌에 적용할 EA의 경우 에러 핸들링, 조정 시스템, 터미널 리부트 등이 중요하니까요. 실제 계좌에 적용할 EA는 훨씬 느리게 작동합니다. EA의 목적에 따라 개발 비용도 크게 달라지고요.

고객은 정말 실제 계좌에 적용할 EA가 필요한지에 대해 깊게 생각해 볼 필요가 있습니다. 시험삼아 해보는 것이라든지 아직 알고리즘이 확실하지 않아 수정이 필요한 경우에는 실제 계좌에 적용할 EA를 주문할 필요는 없죠. 최적화 속도도 훨씬 느려지고요. 우선 알고리즘을 해결한 후에 실제 계좌용 EA 개발을 다시 주문해도 됩니다. 비싸지는 않을 거예요.

3.4. 오퍼레이션 알고리즘 설명

외부 매개 변수가 있는 경우 선호하는 변수 이름과 디폴트 값이 포함된 목록을 제공받는 것이 좋습니다. 개발자의 시간도 절약되고 고객에게 이것저것 물어보며 고객을 귀찮게 할 필요도 없으니까요.

3.5. 정보 디스플레이

디스플레이가 고객이 원하는 모든 것을 포함할 수는 없으므로 꼭 정해야 합니다. RS 마무리 단계에서 정하는 게 가장 좋죠. 만약 EA 또는 인디케이터 실행 중 표시되기를 원하는 부분이 있다면 대략적인 형태와 차트 배경색 등을 명시해 주세요.

알고리즘 설명에 일러스트레이션이 필요한 경우 고객이 제공해야 합니다. 글 몇 장보다 설명이 곁들여진 일러스트레이션이 훨씬 간단하고 확실한 방법으로 알고리즘을 설명할 수 있습니다.

주문을 통해 원하는 결과를 얻기 위해서는 RS를 잘 준비하는 것이 매우 중요합니다. RS 작성에 충분히 시간을 할애하세요. 그만큼 좋은 결과물이 나올 겁니다.

3.6. 기타

일반 거래 조건에 대한 내용입니다. 소스 코드와 그에 대한 설명을 요청하거나 에러 수정 기간 등을 설정하는 거죠.


4. 디버깅 및 테스트 관련 팁

RS에 명시된 기능이 인디케이터 또는 EA 결과물에 잘 반영되었는지 확인하는 단계입니다. 프로그래밍의 머피의 법칙이 있죠. 모든 프로그램은 최소 하나의 버그를 포함한다고들 하잖아요. 모든 버그를 수정하고 나면 꼭 버그가 하나 더 나타난다는 말도 있고요. 농담으로 하는 말이지만 엑스퍼트 어드바이저나 인디케이터처럼 복잡한 프로그램을 개발할 때는 충분히 있을 수 있는 일입니다.

따라서 결과물에서 버그가 검출되었다고 해서 개발자를 의심하지는 마세요. 개발자의 서비스의 질적 측면은 작업 중 발견된 에러를 빠르고 효과적으로 수정하는 데에 있다고 생각합니다.

브랜치나 복잡한 논리를 포함하는 알고리즘을 구현할 때는 개발도 단계 별로, 테스트도 단계 별로 진행해야 한다고 믿어요. 문제를 서로 독립적인 여러 개의 부분으로 나누어 고객과 개발자가 함께 점진적으로 해결해 나가는 거죠. 최종 단계에서는 기존에 테스트한 부분과 전체에 대한 테스트의 인터랙션이 중요합니다.

복잡성과 단순성의 개념은 매우 주관적이며 개발자의 경험과 작업에 대한 고객의 이해도에 좌우됩니다. MT4와 MT5는 아주 다양한 테스트 방법을 제안하기 때문에 테스터에서 과거 기록을 EA 적용할 수 있다는 걸 모르는 고객들도 있을 수 있습니다. 하지만 가장 중요한 건 테스터가 시각 테스트 모드를 제공한다는 것이죠.

테스트 방법 중 가장 정확하고 편리한 방법입니다. 거래 및 관련 정보를 시각적으로 모니터링하면서 시세 기록이 적용된 인디케이터 또는 EA를 단 몇 분 만에 테스트할 수 있거든요. 특정 거래 분석을 위해 시세가 천천히 나타나거나 잠깐 나타나지 않을 수도 있습니다.

테스터 테스트를 완료한 후 데모 계좌에서 EA를 실행해 한번 더 확인합니다. 데모 계좌에서 1.5일 정도 실시간으로 EA를 적용하면 효율성을 확실히 확인할 수 있습니다. 물론 1주 이상의 긴 타임프레임은 사용하면 안되겠죠.


5. 오류 설명하기

고객이 에러를 탐지한 경우 해당 에러를 설명하는 최적의 방법을 알려 드리겠습니다. 최악의 예는 'EA 안 돌아가요. 포지션 하나도 안 열였어요.' 식의 설명이 되겠네요.

금융 상품, 타임프레임, 매개 변수 등에 대한 정보가 없이는 개발자도 그저 뭐가 문제인지 추측할 뿐입니다.

제 생각에는 시각 자료를 활용하는 게 가장 좋은 방법 같아요. MT4와 MT5에서는 차트를 이미지 파일로 저장할 수 있습니다. MT4에서는 gif와 bmp 파일로, MT5에서는 gif, bmp, png 파일로 저장 가능하죠. png 파일로 저장할 것을 추천합니다. 차트가 가장 선명하게 저장되거든요.

선과 바의 위치, 차트 값 등을 확인하려면 이미지의 선명도가 아주 중요하죠.

그림 4는 MT4 터미널의 모습입니다. 해당 차트에서 오른쪽 클릭을 하면 팝업 메뉴가 나타날 겁니다.

그림. 4. 차트 이미지 저장하기

그림. 4. 차트 이미지 저장하기


MT4에서도 비슷한 방법을 이용합니다. 팝업 메뉴의 내용은 다르지만 그림으로 저장하기라는 동일한 명령을 이용하죠.

선택을 완료하면 추가 대화 상자가 나타나 저장할 영역과 해상도를 설정합니다. 그림 5를 참고하세요.

그림 5. 저장 이미지 매개 변수 선택

그림 5. 저장 이미지 매개 변수 선택


차트가 있는 창의 이미지만 저장하는 경우 '현재 차트'를 선택합니다. '현재 작업 영역'은 전체 터미널 윈도우를 저장하는데요. 한번에 여러 개의 차트를 나타내야 할 때 유용하게 쓰입니다.

저장된 사진에 영향이 갈 수 있으므로 현재 차트의 해상도는 변경하지 마세요.

Alt+PrtScr이나 PrtScr 키를 눌러 클립보드에 사진을 저장할 수도 있습니다. 이 경우 그래픽 에디터를 따로 열어 파일로 저장합니다.

필요한 경우 그래픽 에디터에서 에러에 대한 설명 등을 추가할 수 있습니다. 가장 쉬운 방법은 그림판을 이용하는 거죠. 자기 마음이긴 하지만요.


6. RS의 함정

이런 문제가 발생하는 데에는 몇 가지 이유가 있습니다. 시장의 가격 결정 과정을 잘 이해하지 못하거나 시간축과 가격축을 따라 스케일을 변경할 때 주의해야할 점 등을 모르는 거죠. RS 논의 단계에서 개발자가 관련 내용을 언급할지 아니면 다른 조치를 취하게 될지는 개발자의 능력과 시장 거래에 대한 이해도에 따라 달라집니다. 물론 정직성과도 관련이 있죠.

RS 작성 시 고객이 실제 금융 시장을 고려하기 보다는 일종의 '구형 소'를 생각해 가격 변동을 너무 긍정적인 방향으로 생각할 수도 있습니다.

6.1. 가격 변화의 불연속성

다음의 예를 살펴볼게요. RS 내용 중 '가격이 외부 매개 변수로 설정된 값에 도달하는 경우 매수 포지션을 오픈한다'라는 항목이 있습니다. 아무 문제가 없어 보일 수도 있죠. 값도 미리 설정되어 있고 말이예요.

고객이 간과한 '사소한' 문제는 바로 가격 움직임이 개별적으로 일어난다는 것입니다. 연속적이지 않죠. 터미널에서 '직선 차트 보기'를 활성화하면 확인할 수 있습니다. 차트의 가격은 사실은 여러 개의 별개의 가격으로 이루어진 것이죠.

다음의 틱 차트를 참고하세요.

그림 6. 개별 가격 변화

그림 6. 개별 가격 변화

차트 가격은 가로선으로 나타나 있고 빨간 점과 파란 점은 실제 관측된 가격을 나타냅니다. 좀 더 자세히 살펴보면 가격이 절대 정해진 값과 일치하지 않는다는 걸 알 수 있을 거예요. 다시 말해 기존의 RS의 논리를 따르면 조건이 한번도 충족되지 않은 거죠.

이때 주의할 점은 모든 가격이 포인트 단위로 정확하게 설정되어야 한다는 것입니다. 예를 들어 상품의 시세가 소수점 아래 5자리를 갖는 경우 한 포인트는 0.00001이 됩니다. 0.00001 단위로 가격이 설정되죠. 미니 선물 옵션과 같은 금융 상품의 경우 가격 변화가 한 포인트 이상으로 발생할 수 있으니 주의하세요.

아무튼 특정 레벨에 가격이 도달한 것 같아 보여도 실제로는 RS의 조건이 충족되지 않았습니다. RS에서 설정된 이상적인 가격을 현실에 반영하려면 상한선과 하한선을 그리면 됩니다. 그림 6에서 점선으로 확인할 수 있는데요. 한계 범위는 매매 시스템에 따라 달라집니다. 대부분의 경우 평균 스프레드의 2~3배 정도면 충분합니다.

점선 사이에 위치하는 모든 포인트는 특정 값에 도달한 것으로 간주됩니다. 위의 그림에는 초록색 동그라미로 표시되어 있죠.

처음 RS 내용을 바꿔 볼까요? '가격이 외부 매개 변수로 설정된 값 +/- δ인 경우 매수 포지션을 오픈한다'가 훨씬 낫네요.

브로커 서버와의 연결이 갑자기 끊길 수 있다는 것도 명심해야 합니다. 연결이 끊긴 동안 가격이 어떻게 변할지는 알 수 없죠. 위 그림에서 분홍색 사각형으로 표시된 부분입니다. RS 설정 시 이런 상황도 꼭 유념해야 합니다.

RS 내용을 조금 더 수정해 보죠. '직전 가격이 외부 변수-δ 값보다 낮고 현재 값이 외부 매개 변수 +/- δ 값으로 설정된 범위 내에 있을 때 두 가격 사이의 시간 간격이 정해진 값보다 크지 않을 때 매수 포지션을 오픈한다.' 이제 됐네요.

6.2. 정확한 시간에 트리거하기

RS에 외부 변수로 설정된 시간의 가격에서 일정한 거리만큼 떨어진 곳에 두 개의 대기 주문을 설정할 것이라는 내용이 나와 있다고 칩시다. 우선 MT4와 MT5의 차이를 알아야 합니다. MT5가 1초 단위의 타이머를 제공하는 반면 MT4에서는 타이머를 이용할 수 없습니다.

따라서 MT4의 경우 EA 또는 인디케이터에 적용된 금융 상품의 가격 틱이 발생하는 시간을 카운트다운에 이용합니다. 틱이 규칙적으로 나타나지 않으며 두 틱 사이의 시간 차이가 꽤 클 수 있기 때문에 특정 시간에 주문을 실행한다고 보장할 수는 없습니다. 다른 방법은 루프를 이용한 EA를 이용하는 건데요. 단점도 많고 불편합니다.

해당 항목은 에러를 포함하는 외부 변수로 설정된 시간의 가격에서 일정 거리만큼 떨어진 곳에 두 개의 대기 주문을 설정할 것으로 바꾸는 게 좋겠습니다.

6.3. 광범위하고 애매한 어휘 사용

시장이 나쁘면 ~하고 추세가 잡히면 ~할 것이 대표적인 예입니다. 고객은 간단하고 직설적으로 썼으니 더이상의 설명이 필요 없다고 생각하죠. 답답합니다.

또 다른 예는 극값에서 대기 주문을 설정할 것인데요. 고객이 생각하는 극값에 대한 정의가 포함되어 있지 않습니다. 하지만 차트에서 극값을 얻을 수 있으니 별도의 설명이 필요치 않죠. 각각 장점과 단점이 모두 있는 여러 알고리즘을 이용해 극값을 구할 수 있다는 사실에 고객은 놀랄지도 모릅니다.

6.4. 일반적인 뜻을 갖는 일상 어휘 사용

일상에서는 명확한 뜻을 갖지만 RS 작성 시 사용하면 안되는 어휘들이 있습니다. 다음이 그 예입니다. RS에 인디케이터 선이 연속으로 두 번 불룩 튀어나왔을 때 두 번째 선이 첫 번째 선보다 낮으면...이라는 내용이 있습니다. 다이버전스를 설명하는 거겠죠.

하지만 불룩하다는 게 뭘까요? '불룩한' 선 사이의 최대/최소 거리는요? 두 번째 선이 얼마나 낮아도 되는데요?

많이/약간, 작은/큰 같은 표현도 아주 자주 쓰이는데요. 프로그래밍은 정확한 양적 정의를 요구하는 수학을 기반으로 한다는 사실을 명심하세요. 꼭이요.


7. 중재 서비스는 언제 필요한가?

중재 서비스 신청은 결과물 제출, 즉 대금 지불 이전에 이루어져야 합니다. 대금 지불이 완료되면 구매자와 개발자 사이의 구속력도 사라지죠. 반드시 주의하세요.

일반적으로 구매자와 개발자가 함께 해결하지 못하는 문제에 대해서만 중재 신청을 하시는 것 같습니다. 구매자가 결과물이 RS와 부합하지 않는다고 생각하고 개발자는 그렇지 않다고 설명하려는 상황이 그 예죠.

또 다른 예는 구매자 또는 개발자가 메세지나 메일 등에 답을 하지 않고 잠수를 타는 경우입니다. 이 경우 구매자의 입장에서 지불 대금은 홀드되고 결과물은 얻지 못하는 거죠. 반대로 개발자의 입장에서는 결과물이 나왔는데 대금을 받지 못하는 거고요. 다른 여러가지 상황이 있겠지만 중재 서비스를 이용하면 해결할 수 있을 겁니다.

양 측 모두 빨리 RS를 작성하고 본격적인 개발 단계에 돌입하고 싶어하는 경우가 많습니다. 나중에 확인해 보면 RS 내용이 애매하고 세부 사항이 포함되지 않아 있죠. 따라서 주문 가격도 수정해야 합니다. 해당 단계에서 뒤로 돌아가려면 중재 서비스를 이용해야 합니다. 그러니까 충분한 시간을 갖고 RS를 작성하는 것이 좋겠죠.


결론

구인 서비스를 처음 이용하는 분들께 도움이 되는 내용이었으면 좋겠네요. 모든 내용을 다룬 건 아니지만 앞으로 조금씩 더해 갈 겁니다. 서로 이해하려는 태도가 가장 중요해요.


자주 묻는 질문들

1. 왜 개발자들이 Skype나 ICQ, 혹은 전화나 이메일로 소통하기 꺼려하나요?

두 가지 이유가 있을 것 같습니다.

우선 개발자의 고객이 여러 명일 수 있고 모든 고객과 온라인으로 소통하게 되면 프로그래밍할 시간은 없을 거예요. 반드시 Skype나 ICQ를 이용해야 더 효과적으로 설명할 수 있는 건 아닙니다.

다음은 위의 방법을 이용하면 기록을 남길 수 없기 떄문이예요. 중재 상황이 발생하면 서면으로 작성된 기록이 아주 중요한 역할을 하니까요.

2. 왜 컴파일된 EA나 인디케이터(.ex4, .ex5) 실행 시 터미널이 종료되나요?

아마 컴파일에 사용된 터미널이 여러분의 터미널보다 버전이 높을 겁니다. 터미널을 최신 버전으로 업데이트하세요.

3. EA 또는 인디케이터 파일 컴파일 시 나타나는 ''xxxxxx' 함수가 참조되지 않았으므로 exp 파일에서 삭제됩니다'라는 오류는 뭔가요?

오류가 아닙니다. 'xxxxxx'라는 함수가 사용되지 않으므로 컴파일에 포함되지 않을 거란 뜻이죠. EA나 인디케이터에는 아무런 영향을 미치지 않으므로 무시해도 됩니다.


4. EA 또는 인디케이터 파일 컴파일시 나타나는 '포함된 'хххххх' 파일을 열 수 없습니다'라는 오류는 뭔가요?

'хххххх' 파일이 복사되지 않았거나 컴퓨터로 옮길 때 잘못된 디렉토리에 저장된 경우입니다. 터미널 디렉토리에 .mqh 확장자 파일이 있어야 합니다.


5. EA가 실행되는 동안 TP/SL 레벨에서 포지션이 청산되었다는 표시가 왜 나타나지 않나요?

해당 기능은 전략 테스터에서 EA를 테스트할 때만 사용 가능합니다. 실제 계좌나 데모 계좌를 이용할 때는 사용할 수 없죠. 마우스 왼쪽 클릭으로 원하는 거래를 기록에서 차트로 드래그할 수 있습니다. 그러면 차트에 해당 포지션이 나타나죠. 전략 테스터에서와 마찬가지로 점선으로 연결됩니다.


6. 엔트리 조건이 모두 맞는데도 포지션이 오픈되지 않았어요.

EA에 결과가 적용되는 인디케이터를 다시 출력했기 때문일 겁니다. 현재 조건인 인디케이터 값이 포지션 오픈 신호 값과 맞지 않는 거죠. 바가 몇 개 더 생성되고 나면 최종 인디케이터 값이 기록됩니다. 테스터의 시각화 모드를 이용하면 쉽게 확인할 수 있습니다.


7. 원형/파일럿 시범 단계에서 어떻게 주문을 취소하나요?

중재 서비스를 통해서만 취소 가능합니다.


추천 링크

  1. 구인 서비스 이용 규칙
  2. 엑스퍼트 어드바이저, 주문하고 원하는 결과 얻기
  3. MQL5와 MQL4로 트레이딩 로봇 주문하기

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

박스-칵스(Box-Cox) 변환 박스-칵스(Box-Cox) 변환
이 글은 박스-칵스 변환에 대한 설명입니다. 박스-칵스 변환 사용 관련 문제를 다루며 임의의 시퀀스와 실제 시세를 적용한 변환 효율성 평가 예제가 포함되어 있습니다.
다중 선형 회귀 분석 올인원 전략 생성기와 전략 테스터 다중 선형 회귀 분석 올인원 전략 생성기와 전략 테스터
이번 글에서는 매매 시스템 개발에 여러 방식으로 다중 선형 회귀 분석을 적용하는 방법을 다룹니다. 자동 전략 검색에 회귀 분석을 이용하는 방법을 알아보겠습니다. 프로그래밍에 대한 이해도가 높지 않아도 이용할 수 있는 회귀 방정식이 포함된 EA를 예로 들겠습니다.
DLL 생성이 불필요한 이유 DLL 생성이 불필요한 이유
MQL5 기능이 부족하다고 느껴지면 개발자는 추가 도구를 이용하게 됩니다. 다른 프로그램 언어를 이용해 중간 DLL을 만들어야 하죠. MQL5로 다양한 형식의 데이터를 만들어 API로 전송할 수는 있지만 수락된 포인터에 대한 데이터 추출 과정에서 발생하는 문제는 해결할 수 없습니다. 이 글에서는 복합 데이터 유형을 다루고 교환하는 간단한 메커니즘에 대해 자세히 알아보겠습니다.
MetaTrader 5를MetaTrader4 시그널 프로바이더로 활용하기 MetaTrader 5를MetaTrader4 시그널 프로바이더로 활용하기
MetaTrader 5의 거래 분석을MetaTrader4에서 실행하는 방법, 그 예제 및 분석MetaTrader5로 시그널 프로바이더를 만들어 클라이언트에 연결하고,MetaTrader4에서 실행하는 방법을 알아보겠습니다.MetaTrader4의 실제 거래 계좌로 자동 매매 챔피언십 참가자들을 따르는 방법도 배우실 겁니다.