Daily Loss and Drawdown Risk Manager
- 유틸리티
-
Amal Yuldashev
TickForgeFX: trading tools for MetaTrader 5 and MetaTrader 4, built to hold up on a live chart - 버전: 1.0
- 활성화: 15
차트 하나에 올려 두면, 거래를 누가 열었든 계좌 전체에 일일 손실 한도와 최대 낙폭(드로다운) 한도를 강제 적용합니다. 직접 손으로 연 거래도, 휴대폰 앱에서 연 거래도, 다른 EA나 복사한 시그널이 연 거래도 마찬가지입니다. 한도에 이르면 모든 포지션을 청산하고 모든 대기 주문을 삭제하며, 잠금이 끝날 때까지 새로 열리는 것은 무엇이든 계속 청산합니다. 한도를 넘은 뒤가 아니라 한도에 못 미치는 곳에 직접 정해 둔 선에서 작동하며, 무엇을 했는지 쉬운 말로 알려 줍니다.
리스크 매니저에서 잘못되는 것이 빠진 기능인 경우는 드뭅니다. 잘못되는 것은 늦게 발동하는 한도, 이름과 다른 뜻을 가진 설정, 입력값을 고치면 조용히 풀려 버리는 잠금, 또는 이 도구가 손댈 거라고 아무도 예상하지 않은 거래가 청산되는 일입니다. 그 하나하나에 대한 분명한 답이 아래에 있습니다.
설정하기
프롭 펌 챌린지를 위해서든 직접 정한 한도를 위해서든, 중요한 설정은 다음과 같습니다.
- Account size(계좌 규모): 챌린지 규모(예를 들어 100000), 또는 직접 정한 한도를 잴 때 기준으로 삼을 규모입니다. 0으로 두면 첫 실행 때의 잔고를 가져옵니다.
- Daily loss limit 및 Overall loss limit: 일일 손실 한도와 최대 낙폭입니다. Loss limits are set in 설정으로 계좌 통화 금액과 퍼센트 중 하나를 고릅니다. 퍼센트는 계좌 규모에 대한 비율이고, 전체 한도가 트레일링 방식이면 고점에 대한 비율입니다.
- Daily baseline(일일 기준점): 그날의 낙폭을 재는 기준입니다. 하루 시작 시점의 잔고, 하루 시작 시점의 순자산(에퀴티), 그 둘 중 높은 쪽, 또는 그날의 최고 순자산이며, 마지막 것은 그날 시작 잔고보다 낮은 곳에서부터 재는 일이 결코 없습니다.
- Daily reset hour(일일 초기화 시각): 이용하시는 펌에서 하루가 넘어가는 시각이며, 서버 시간 기준입니다.
그 밖의 규칙은 설정하기 전까지 모두 꺼져 있습니다. 전체 한도는 기본값으로는 계좌 규모를 기준으로 측정되며, 이는 대부분의 챌린지가 쓰는 고정 바닥 방식입니다. 드롭다운 하나로 대신 도달한 최고 순자산에서부터 재는 트레일링 낙폭으로 바꿀 수 있고, 그러면 퍼센트는 그 고점에 대한 비율이 되므로 계좌가 커지면 함께 커집니다. 이용하시는 펌이 고정 금액만큼 트레일링한다면, 그 한도는 금액으로 설정하십시오.
한도에서 작동합니다. 일이 끝난 뒤에 보고하는 것이 아닙니다.
- 기본값으로 한도의 90퍼센트에서 작동하고 80에서 경고하며, 두 값 모두 직접 정할 수 있습니다. 이 완충 구간은 가격 갭이나 느린 체결을, 그것이 펌의 선에 닿기 전에 흡수하기 위해 있습니다. 완충 구간보다 큰 움직임은 그래도 그 선을 넘을 수 있습니다.
- 모든 종목의 모든 포지션이 청산되고 모든 대기 주문이 삭제되며, 노출이 가장 큰 것부터 처리됩니다. 브로커가 거부한 청산은 다음 가격에서 다시 보냅니다. 가격 때문에 거부된 뒤에는 곧바로 보내고, 그 밖의 거부 뒤에는 최대 30초의 대기가 지난 다음에 보냅니다. 모든 시도는 브로커의 응답과 함께 로그에 남습니다.
- 잠금이 유지되는 동안 열린 것은 나타나는 즉시 청산됩니다. MetaTrader가 이 도구를 붙인 채 실행 중인 동안 매 틱, 그리고 매 초마다 확인하며, 직접 연 것이든 휴대폰에서 연 것이든 다른 프로그램이 연 것이든 마찬가지입니다.
- 손실은 에퀴티 프로텍터가 그렇듯 순자산 기준으로 측정되므로, 평가손실도 대부분의 펌이 세는 방식 그대로 계산됩니다. 브로커가 넣어 주는 크레딧은 제외되므로, 크레딧이 손실을 가리는 일은 결코 없습니다.
- 일일 잠금은 일일 초기화 때 끝납니다. 전체 잠금은 해제를 요청할 때까지, 순자산이 그 한도를 재기 시작한 지점으로 돌아올 때까지, 또는 그 한도를 끈 것이 적용될 때까지 유지됩니다.
초기화 시각에 MetaTrader가 꺼져 있었더라도, 하루는 그 초기화 시각부터 잽니다. 초기화 이후에 시작하면, 초기화 뒤로 계좌에 확정된 손익은 밤사이 체결된 손절까지 포함해 모두 오늘의 한도에 들어가며, 도구가 계속 실행 중이었을 때와 똑같습니다. 순자산 기준점을 쓰면, 초기화 시점에 열려 있던 거래는 차트 기록에서 읽은 그 순간의 가격으로 평가되며, MetaTrader가 꺼져 있는 동안 청산된 거래도 여기에 포함됩니다. 초기화 시점의 가격을 1분 안에 읽지 못하면, 시스템트레이딩 탭의 로그에 그렇게 남기고, 초기화 시점의 가격 없이 시작하는 순간의 거래 상태를 기준으로 하루를 잽니다.
풀리지 않는 잠금
- MetaTrader를 재시작해도 잠금은 풀리지 않고, 도구를 제거했다가 다시 붙여도 풀리지 않습니다. 잠금은 이 MetaTrader 안에 계좌 로그인 번호별로 보관되므로, 한 계좌의 잠금이 다른 계좌로 따라가지 않습니다.
- 입력값을 편집해도 잠금은 풀리지 않습니다. 더 엄격한 손실 한도는 즉시 적용됩니다. 더 느슨한 한도는, 한도를 끄는 것도 포함해, 다음 일일 초기화나 직접 요청한 해제까지 기다리며, 시스템트레이딩 탭의 로그가 그렇게 알려 줍니다. 전체 한도를 끄면, 그 변경이 적용될 때 그 잠금도 함께 사라집니다.
- 두 일일 횟수 규칙과 Watch only(감시 전용), 그리고 계좌 규모도 마찬가지입니다. 계좌 규모의 경우, 전체 한도가 기본값대로 계좌 규모를 기준으로 측정되는 동안에는 더 큰 값이 더 엄격한 값입니다. 작동하는 선을 끌어올리기 때문입니다. 그렇지 않을 때는 더 작은 값이 더 엄격한 값입니다. 새 계좌 규모는 다음 초기화나 해제 때부터 일일 한도에 반영됩니다. 단, 손실 한도가 활성화를 거부했던 규모를 대신하는 경우는 예외입니다. 손실 한도가 켜져 있는 동안에는, 더 큰 규모가 일일 한도에 반영될 때 거래당 리스크에도 함께 반영됩니다. 거래별 규칙은 새 값을 즉시 적용합니다.
- 도구가 받아들일 수 없는 설정은, 예를 들어 작동선과 같거나 그보다 높게 잡은 경고 수준처럼, 도구를 멈춥니다. MetaTrader가 도구를 차트에서 떼어 내고 그 이유를 알려 주는데, 기본값으로는 팝업으로, 그리고 언제나 시스템트레이딩 탭의 로그로 알려 줍니다. 받아들일 수 있는 설정으로 다시 붙일 때까지는 아무것도 강제 적용되지 않으며, 이미 걸려 있는 잠금은 유지됩니다.
- 해제는 스위치가 아니라 요청입니다. Ask to clear a tripped lock 설정을 true로 두면, 30분 뒤에 그때도 여전히 true인 경우 적용됩니다. 취소하려면 그 전에 되돌리십시오. 해제가 적용되면 설정 창의 값이 계좌 규모까지 포함해 입력한 그대로 적용됩니다. 다만 Daily reset hour, 그리고 Daily baseline 가운데 하루 시작 시점에 읽는 기준은 다음 초기화까지 기다리며, 이미 일어난 일은 계속 집계됩니다. 그래서 실제 손실로 발동한 잠금은 즉시 다시 발동하고, 잘못된 설정 때문에 발동한 잠금은 설정을 바로잡고 나면 풀린 상태로 남습니다. 그런 다음 false로 되돌려 두십시오. true로 남겨 두면 다시 요청할 수 없으며, 요청하려고 하면 그렇다고 알려 줍니다.
누가 열었든, 모든 거래에 적용되는 규칙
각 규칙은 설정하기 전까지 꺼져 있습니다. 규칙 그룹마다 조치가 따로 있어 거래를 청산하거나 경고만 하게 할 수 있고, 손절이 없는 거래에는 손절을 붙여 줄 수도 있습니다.
- Most one trade may risk, by its stop(손절 기준 거래당 최대 리스크). 손절이 체결될 경우 잃는 금액으로, 진입가에서부터 재며, 계좌 규모에 대한 퍼센트입니다. 두 손실 한도가 모두 꺼져 있고 규모도 입력되어 있지 않으면 잔고에 대한 퍼센트입니다. 거래가 나타날 때 판단하고, 손절이나 크기가 바뀔 때마다 다시 판단하며, MetaTrader가 재시작되거나 도구를 다시 붙이면 처음부터 새로 판단합니다. 손실이 이미 난 뒤에 판단하는 것이 아닙니다.
- 손절 없는 거래. 허용한 초 수가 지나면, 리스크 한도 위치에 손절을 추가하면서 익절은 그대로 두거나(Most one trade may risk 설정이 필요합니다), 거래를 청산하거나, 경고합니다. 가격이 이미 그 손절이 놓일 자리를 지나 있다면, 즉시 체결될 손절을 놓는 대신 거래를 청산합니다.
- Symbols allowed(허용 종목). 그 밖의 종목에서 열린 거래는 조치 대상이 됩니다. 목록에 있는 종목을 브로커가 제공하지 않으면, 의도하신 종목의 거래를 모두 청산하게 두는 대신, 그 종목을 밝히는 팝업과 함께 도구가 시작되지 않습니다.
- Most open positions, and most lots open in total(동시 보유 포지션 수 상한과 보유 랏 합계 상한). 가장 새로운 것이 조치 대상입니다. 랏 합계에서는 가장 새로운 거래가, 네팅 계좌의 포지션 수에서는 가장 새로운 포지션 전체가 대상입니다.
- Most trades per day, and a stop for the day after a number of losses in a row(하루 최대 거래 수, 그리고 정한 횟수만큼 연속으로 손실이 나면 그날 중단): 과매매를 막는 두 규칙이며, 스왑, 수수료, 제비용을 포함해 집계합니다. 한도에 도달한 뒤에 열린 거래만 조치 대상입니다.
이미 열려 있던 것은 청산하지 않습니다
이미 진행 중인 거래가 있는 계좌에 붙이면, 그 거래들은 거래별 규칙에 따라 경고만 받을 뿐 그 규칙으로 청산되는 일은 없습니다. 손실 한도는 다르며, 그렇다고 알려 줍니다. 손실 한도는 활성화되는 순간부터 계좌의 모든 거래를 대상으로 합니다. 일부 거래를 무시하는 한도는 한도라고 할 수 없기 때문입니다.
밤에 MetaTrader를 닫거나 Windows가 PC를 재시작해도, 도구가 어떤 거래를 통제하는지는 바뀌지 않습니다. 도구를 차트에서 떼어 냈다가 이후 다른 날 다시 붙일 때만 처음부터 새로 시작하며, 그런 일이 생기면 시스템트레이딩 탭의 로그가 알려 줍니다.
다른 EA와 함께 쓸 때
MetaTrader는 차트 하나에 EA를 하나만 실행하므로, 이 도구는 차트 하나를 따로 쓰고 다른 EA들은 각자의 차트를 그대로 씁니다. 그 EA들의 거래도 다른 거래와 똑같이 통제합니다. 손실 한도는 선에서 그 거래들을 청산하고, 켜 두신 규칙도 그 거래들에 작동합니다. 예외로 둘 수 있는 것은 없으므로, 일부러 손절 없이 거래하는 EA라도 손절 없는 거래에 대한 규칙을 손절 추가로 설정해 두면 손절이 붙습니다. 그럴 때는 대신 경고로 설정하십시오. 전략 테스터는 한 번에 프로그램 하나만 실행하므로, 다른 EA와 함께 백테스트할 수는 없습니다.
다른 프로그램이 계속 다시 열 때
- 잠금 중에 열린 거래는 매번 청산됩니다. 잠금이 청산한 거래를 어떤 프로그램이 같은 종목에서 15분 안에 다시 열면, 팝업이 매직 넘버와 코멘트로 그 프로그램을 알려 주고 그 종목 차트에 붙어 있는 EA 목록을 보여 줍니다. MetaTrader에는 매직 넘버를 프로그램과 짝지을 방법이 없기 때문입니다. 이 팝업은 처음에 한 번, 그 뒤로는 다섯 번째마다 뜨므로, 같은 동작을 되풀이하는 EA 때문에 팝업에 파묻히는 일은 없습니다. 모든 청산은 매직 넘버까지 포함해 로그에 남습니다.
- 또는 도구가 MetaTrader를 닫을 수도 있습니다. 계좌에 포지션이 하나도 남지 않은 뒤에 닫으므로, 그 안에서 돌던 프로그램들은 다시 열 때까지 멈춥니다. 휴대폰이나 다른 터미널에서 들어오는 거래는 막을 수 없으며, MetaTrader가 닫혀 있는 동안에는 그런 거래를 청산해 줄 것도 없습니다. 기본값은 꺼짐이며, MQL5 VPS에서는 결코 작동하지 않습니다. 그곳에서는 MetaTrader를 다시 열어 줄 것이 없기 때문입니다. 그 뒤에 다시 시작되거나 복원되는 것은 없습니다. 차트와 다른 EA들은 두고 간 그대로이고, 돌아오셨을 때 잠금은 여전히 걸려 있습니다.
입금, 출금, 크레딧
- 입금은 수익이 아니며 여유를 더 만들어 주지 않습니다. 계좌 규모가 입금을 따라 올라가는 일은 없습니다.
- 출금은 손실로 계산되지 않습니다. 출금은 우선 입금액을 넘는 수익에서 빠지고, 그다음에 입금액에서 빠지며, 계좌 규모는 출금 가운데 잔고를 계좌 규모 아래로 떨어뜨리는 부분만큼만 내려갑니다.
- 크레딧은 도구가 측정하는 순자산에서 제외됩니다.
- 잔고가 움직였는데 거래 내역을 읽을 수 없으면, 한도는 추측하는 대신 작동을 멈추고, 카드에 Paused(일시 중지) 상태가 표시됩니다. 이미 걸려 있는 잠금은 일시 중지되지 않습니다. 새로 열리는 것을 계속 청산하며, 카드에는 Locked(잠김) 상태가 표시됩니다.
실수가 있으면 활성화를 거부합니다
어떤 계좌에서 처음 실행될 때, 손실이 이미 작동선을 넘어선 손실 한도는 활성화되지 않습니다. 아무것도 청산하지 않고, 카드에 Not armed(활성화 안 됨) 상태가 표시되며, 시스템트레이딩 탭의 로그에 그 이유가 남습니다. 그 손실이 선 아래로 돌아오면 활성화되며, 일일 한도는 늦어도 다음 일일 초기화 때 활성화됩니다. 그때까지는 계좌를 보호하지 않습니다. 다른 손실 한도는 평소대로 활성화됩니다. 전에 실행된 적이 있는 계좌라면, 도구가 꺼져 있는 동안 난 손실도 그대로 집계되며, 다시 붙이는 즉시 그 손실에 대해 작동합니다. 전체 한도가 켜져 있고 기본값대로 계좌 규모를 기준으로 측정되는 동안에는, 0이 하나 더 붙은 계좌 규모를 입력하면 거부되고 카드에 Check the account size(계좌 규모 확인) 문구가 표시되며, 그 값이 남아 있는 동안에는 어느 한도도 활성화되지 않습니다. 단, 잠금이 걸려 있으면 그렇지 않습니다. 0이 하나 더 붙은 규모라도 잠금 해제로 적용되는 경우에는 거부되지 않습니다. 잠금이 다시 발동하고, 바로잡은 값은 다음 해제 때 적용됩니다. 전체 한도가 트레일링 방식이거나 꺼져 있으면 0이 하나 더 붙은 것을 잡아내지 못하며, 그 값이 적용되고 나면 퍼센트로 설정한 모든 한도가 열 배 넓어집니다. 손실 한도가 켜져 있는 동안에는 카드에 측정 기준이 되는 계좌 규모가 표시되므로, 0이 하나 더 붙은 규모는 눈으로 확인할 수 있습니다.
한 일은 모두 기록합니다
- 계좌 로그인마다 CSV 파일 하나를 MQL5\Files 폴더에 둡니다. 서버 시간과 로컬 시간, 규칙, 티켓, 종목, 방향, 거래량, 매직 넘버, 가격, 브로커의 응답 코드와 결과, 그리고 메모가 들어갑니다. 이 파일에는 도구가 한 일이 기록되며, 경고는 시스템트레이딩 탭의 로그에 남습니다.
- 행마다 따로 열고, 쓰고, 닫으므로, 비정상 종료가 일어나도 이미 기록된 것은 하나도 잃지 않습니다.
- Excel이나 다른 프로그램이 파일을 열어 두고 있으면, 행들은 그 옆의 파일에서 기다렸다가 파일이 풀리면 순서대로 들어갑니다. MetaTrader가 먼저 닫히면, 행들은 보관되었다가 다음에 도구가 시작될 때 기록됩니다.
네팅과 헤징
둘 다 됩니다. 네팅 계좌에서는 포지션에 추가된 물량 하나하나를 자체 크기와 시각을 가진 별개의 거래로 판단하며, 규칙은 그 규칙을 어긴 물량만 청산합니다. 종목의 최대 랏보다 큰 포지션은 거부되는 대신 여러 번에 나누어 청산됩니다.
Watch only
설정 하나로 모든 규칙을 경고로 바꿉니다. 알림만 보내고 아무것도 청산하지 않으며, 카드에는 Reached(도달) 상태가 표시되고 Locked(잠김) 상태는 나오지 않습니다. 실행 중인 도구에서 켜면 규칙을 느슨하게 하는 변경으로 취급됩니다. 거래별 규칙은 즉시 바뀌지만, 손실 한도와 일일 횟수 규칙은 다음 일일 초기화 때까지 계속 청산하며, 전환한 뒤에 처음 도달한 한도도 마찬가지입니다.
카드
- Room before it acts(작동까지 남은 여유): 계좌 통화로, 두 한도 중 더 가까운 쪽까지 남은 여유입니다. 지켜봐야 할 숫자가 바로 이것입니다.
- 일일 손실과 전체 손실. 각각 막대, 작동 지점 표시, 그리고 상태가 나옵니다. 상태는 Clear(이상 없음), Near the limit(한도 근접), Reached(도달), Locked(잠김), Not armed(활성화 안 됨) 중 하나입니다.
- 계좌 규모와 그 값의 출처: 입력한 값(as typed), 잔고에서 가져온 값(from the balance), 또는 출금 뒤의 값(after a withdrawal).
- 켜 둔 규칙에 대해, 오늘 연 거래 수, 연속 손실 횟수, 보유 포지션 수, 보유 랏.
- 마지막으로 한 일과 그 이유.
- 어디로든 끌어 옮기거나, 제자리에 고정하거나, 입력값에서 모서리를 골라 붙여 둘 수 있습니다.
알림은 소리가 나는 팝업, MetaTrader 앱으로 가는 푸시 알림, 이메일로 오며, 각각 켜고 끌 수 있습니다. 푸시와 이메일은 먼저 MetaTrader 자체의 옵션에서 설정해 두어야 합니다.
MT5와 MT4
두 플랫폼 모두 하나의 파일에서 빌드됩니다. 같은 버전, 같은 이름과 같은 기본값을 가진 같은 설정, 같은 카드, 같은 규칙입니다. 이 페이지는 MetaTrader 5 빌드용입니다. MetaTrader 4 빌드는 따로 등록되어 있으며, 그 페이지에서 MetaTrader 4 자체가 차이를 만드는 부분을 설명합니다. 누가 거래를 열었는지에 대해 무엇을 기록하는지, 부분 청산이 무엇을 남기는지, 그리고 프로그램에 내역을 얼마나 넘겨주는지입니다.
데모에 대해, 있는 그대로
이 마켓에서 유료 제품의 데모는 전략 테스터에서만 실행되는데, 거래를 내지 않는 도구라면 그곳에서 보여 줄 것이 없습니다. 그래서 시각화 테스트에서는 도구가 한 번에 한 동작씩 스스로 거래를 열며, 각 거래는 켜 두신 규칙을 어기도록 만들어져 있고, 카드가 그 규칙이 작동하는 모습을 보여 줍니다. 기본 상태에서는 두 손실 한도만 켜져 있으므로, 보고 싶은 규칙은 시작하기 전에 켜 두십시오. 데모 거래에는 "TFX demo"로 시작하는 코멘트가 붙습니다. 손실 한도가 발동한 뒤에는 잠금 상태에서 거래를 하나 더 열어, 그것도 즉시 청산되는 것을 보여 줍니다.
테스터에서는 알림이 전혀 전달되지 않습니다. 대신 카드와 로그가 모든 이벤트를 보여 줍니다. 테스터에서만 하고 다른 곳에서는 하지 않는 일이 하나 있습니다: 입금액 2000 미만의 네팅 계좌에서 시각화를 끄고 실행하는 경우, 즉 이 마켓의 자동 검증기가 쓰는 설정에서는, 검증기가 거래 작업을 볼 수 있도록 최소 랏 샘플 거래를 내며, 그 실행에서는 아무것도 강제 적용하지 않습니다. 그 사실은 저널 탭에 기록되며, 적은 입금액의 네팅 계좌에서 직접 시각화 없는 백테스트를 돌리기 전에 알아 두실 만합니다. 그것도 같은 조건이기 때문입니다. 시각화 실행이 데모이며, 그 밖의 모든 실행에서는 규칙을 강제 적용합니다. 전략 테스터 밖에서는 절대 거래를 열지 않습니다.
이 도구가 아닌 것
트레이드 매니저가 아닙니다. 본전 이동도, 트레일링 스탑도, 부분 익절도, 진입도, 신호도 없습니다. 그런 일은 저희 Trade Manager가 하며, 대상은 자기 차트 종목의 거래입니다. 이 도구는 차트 하나에서 계좌의 모든 거래를 통제하며, 거래에 하는 일은 청산하거나 손절을 붙이는 것뿐입니다.
그렇다고 모니터링만 하는 도구도 아닙니다. 저희는 두 손실 한도를 보여 주기만 하고 거래에는 절대 손대지 않는 무료 패널을 공개하고 있습니다. 이 도구는 그 한도에 따라 작동합니다.
알아 두시면 좋은 것
- 차트 하나에만 올리십시오. 하나만으로 계좌 전체를 통제하며, 두 번째로 올린 것은 같은 거래에 작동하게 됩니다.
- 어떤 프로그램이나 종목도 손실 한도에서 제외되지 않습니다. 계좌에 있는 거래라면 손실 한도의 대상입니다.
- 일일 초기화 시각은 옮길 수 있으며, 그 변경으로 하루가 길어질 수는 있어도 짧아지는 일은 없습니다.
필요하시면 제가 답합니다
댓글이나 MQL5 메시지로 물어보시면, 지원 창구가 아니라 제가 직접 답합니다. 무언가 고장 나 있다면 알고 싶고, 버그 신고에는 임시방편이 아니라 수정으로 답합니다.
한도는 이미 알고 계십니다. 이 도구는 그 한도를 강제 적용하고, 무엇을 했는지 정확히 알려 줍니다.
