Position Basket PL Closer
- 유틸리티
- 버전: 1.2
- 활성화: 5
MetaTrader 5용 이 유틸리티 EA(Expert Advisor)는 계좌의 보유 포지션을 바스켓으로 묶고, 바스켓의 합계 수익 또는 손실이 설정한 수준에 도달하면 바스켓 전체를 청산합니다. 포지션은 수동 거래에서 연 것이든 다른 EA가 연 것이든 상관없습니다. 차트의 패널에는 짧은 이름 "Basket P/L Closer"가 표시됩니다.
이것이 아닌 것: 실계좌나 데모 계좌에서 거래를 절대 열지 않으며, 매수·매도 신호를 주지 않고, 매매 전략도 아닙니다. 네 가지 청산 조건은 모두 기본값이 끔(OFF)이므로, 붙인 뒤에는 조건을 켤 때까지 바스켓을 표시만 합니다. 손실을 막을 수는 없습니다. 수준에 도달한 뒤에 시장가 청산 주문을 보내므로 결과가 그 수준보다 나빠질 수 있습니다(아래 한계를 참고하세요).
바스켓
- 묶는 방식: 모든 포지션을 하나의 바스켓, 종목별 바스켓(기본값), 매직 넘버별 바스켓, 또는 종목 + 매직 넘버별 바스켓.
- 매수와 매도: 하나의 바스켓에 함께(기본값), 별도의 바스켓으로, 매수 포지션만, 또는 매도 포지션만.
- 선택 필터: 지정한 매직 넘버만(0 = 수동 거래)과 지정한 종목만, 쉼표로 구분. 비워 두면 = 전체. 종목 이름은 Market Watch(시장 감시)에 표시된 그대로, 접미사까지 포함해 입력하세요(대소문자는 상관없음).
- 필터 밖의 포지션은 절대 건드리지 않습니다.
청산 조건(모두 기본값 끔)
- 수익 목표: 바스켓의 합계 수익이 설정값에 도달하면 바스켓을 청산합니다.
- 손실 한도: 바스켓의 합계 손실이 설정값에 도달하면 바스켓을 청산합니다(양수로 입력).
- 수익 트레일링: 합계 수익이 시작값에 도달하면 시작하여 최고치를 따라가고, 수익이 그 최고치에서 설정한 거리만큼 되돌리면 바스켓을 청산합니다.
- 본전(브레이크이븐): 합계 수익이 시작값에 도달하면 활성화되고, 이후 합계 수익이 남기고 싶은 값까지 되돌리면 바스켓을 청산합니다.
- 각 조건은 자체 단위를 가집니다: 금액(계좌 통화), 잔고 대비 %, 또는 pips.
- 손실 한도와 다른 조건이 동시에 충족되면 손실 한도가 적용됩니다.
바스켓 청산 후
- 없음: 계속 감시(기본값).
- 해당 바스켓을 N분 동안 일시 정지(기본값 60): 일시 정지 중에는 그 바스켓에 해당하는 새 포지션을 EA가 발견하는 즉시 모두 청산합니다.
- EA 정지: 첫 번째 바스켓 청산 후 EA는 모든(ALL) 바스켓의 조건 확인을 멈춥니다. 이 상태는 패널의 Resume을 누르거나 바스켓 정의를 바꿀 때까지 유지됩니다(한계 참고). 조건 값(목표, 한도, 트레일링, 본전)만 바꿔서는 정지가 해제되지 않습니다.
- 선택 사항: 바스켓을 청산할 때와 일시 정지 중에 그 바스켓의 대기 주문도 삭제합니다. 대기 주문은 포지션을 청산하기 전에 삭제합니다.
패널과 알림
- 상태, 합계 손익과 포지션 수, 그리고 각 바스켓의 손익과 각 조건까지의 거리(트레일링 최고치, 본전 수준). 청산 중이거나 일시 정지된 바스켓이 먼저 표시되며, 표시할 바스켓 수는 조정할 수 있습니다(1-20).
- EA가 청산할 수 없을 때는 이유를 표시합니다(예: Algo Trading 꺼짐).
- 정지 후의 Resume 버튼, 접기 버튼, 영어 또는 일본어(터미널 언어에 따라 자동 또는 직접 선택).
- 바스켓 청산 시 팝업 알림(기본값 켬)과 푸시 알림(선택 사항).
- 각 청산은 이유와 함께 Experts 로그에 기록됩니다. 청산 주문에는 짧은 코멘트 "BKC"와 이유가 붙습니다.
재시작 후의 상태
- 트레일링 최고치, 활성화된 본전, 진행 중인 청산, 일시 정지, 정지는 터미널에 저장되며 터미널이나 컴퓨터를 재시작한 뒤에도 이어집니다. 당사 테스트에서는 터미널을 5회 강제 종료해도 상태가 손실되지 않았습니다.
- 상태는 EA가 실행되는 터미널에 저장됩니다. 다른 터미널이나 컴퓨터(예: 가상 서버)로 옮기면 상태는 따라가지 않습니다.
당사 테스트에서의 실측(데모 계좌, 컴퓨터 1대)
- 포지션 2개와 대기 주문 1개로 된 바스켓이 조건 충족 후 약 0.3초 만에 청산·삭제되었습니다.
- 일시 정지 중에 열린 새 포지션은 나타난 뒤 약 0.2초 만에 청산되었습니다.
실제 시간은 브로커, 통신 환경, 컴퓨터에 따라 달라집니다.
구매 전에 알아야 할 한계
- 보장이 아닙니다. 바스켓은 시장가 주문으로 청산되므로 최종 결과가 설정한 수준보다 나빠질 수 있습니다. 당사 테스트 중 하나에서는 손실 한도 -60에 대해 바스켓이 -64~-89에서 청산되었습니다. 갭(예: 주초 개장), 급격한 시장, 슬리피지, 거부되거나 지연된 주문, 시장 휴장으로 인해 차이가 더 커질 수 있습니다.
- EA를 붙이거나 조건을 켤 때 조건이 이미 충족되어 있으면 약 3초 후에 바스켓이 청산됩니다. 조건을 켜기 전에 패널의 값을 확인하세요.
- 바스켓 정의는 다음으로 구성됩니다: 묶는 방식, 매수/매도 설정, 매직 넘버와 종목 필터, 트레일링 단위, 본전 단위, Points per pip, 스왑과 수수료 포함 여부. 이 중 하나라도 바꾸면 트레일링 최고치, 활성화된 본전, 일시 정지, 정지가 초기화됩니다. 다른 입력값을 바꾸면 유지됩니다.
- Pips: 바스켓의 pips는 포지션별 pips의 단순 합계이며 랏 크기로 가중하지 않습니다(0.01랏 포지션과 1.00랏 포지션이 똑같이 계산됨). 자동 pip 크기: 소수점 3자리·5자리 종목은 10포인트, 그 밖에는 1포인트이므로, 많은 GOLD, 지수, BTC 종목에서는 1 pip = 1포인트입니다. Points per pip 입력값을 설정하면 모든 종목에 적용됩니다. 여러 종목이 섞인 바스켓에는 보통 금액이나 %가 더 알기 쉽습니다.
- %: 확인할 때마다 그 시점의 계좌 잔고에 대한 퍼센트. 청산 후에는 잔고가 바뀌므로 같은 퍼센트라도 다른 금액이 됩니다.
- 금액과 %에는 스왑과 수수료가 포함됩니다(입력값, 기본값 켬). MT5에서는 진입 시 부과된 수수료만 포함되며, 청산 시 부과되는 수수료는 포함되지 않습니다. Pips에는 스왑과 수수료가 포함되지 않습니다.
- 바스켓 정의당 복사본 하나: 같은 계좌에서 같은 바스켓 정의를 가진 두 번째 복사본은 대기합니다. 정의가 다른 복사본은 둘 다 작동하며, 바스켓이 겹치면(같은 포지션에 다른 필터) 둘 다 청산하려고 합니다. 같은 계좌의 서로 다른 터미널에 있는 복사본은 서로를 볼 수 없습니다.
- 일시 정지 중에는 새 포지션을 매번 다시 청산하며, 매번 스프레드와 수수료가 발생합니다. EA는 다른 EA가 거래를 여는 것을 막을 수 없습니다.
- EA는 MetaTrader 5가 실행되어 연결되어 있고, Algo Trading이 켜져 있으며(툴바 버튼) EA 설정에서도 허용된 동안에만 작동합니다.
- 아직 실계좌에서 테스트하지 않은 것: 네팅 계좌, 프리즈 레벨(freeze level)이 있는 종목, 종목의 최대 랏보다 큰 포지션의 분할 청산. 헤지 계좌에서 테스트했습니다.
- 전략 테스터: 테스터에서는 수동 거래를 재현할 수 없으므로 EA가 시연을 실행합니다. 차트 종목에 매직 넘버 73170으로 작은 포지션을 열고, 1회 실행당 리스크는 최대 잔고의 약 1.5%이며, 잔고가 시작 시의 95% 아래로 떨어지거나 20회 실행 후에 멈춥니다. 시연 거래는 무작위이며 그 손익에는 의미가 없습니다. 테스터 보고서는 매매 성과가 아닙니다. 시연은 실계좌나 데모 계좌에서 절대 실행되지 않습니다.
설정
1. EA를 아무 차트 하나에 붙입니다. 차트 종목은 감시 대상을 제한하지 않습니다.
2. 필터, 묶는 방식, 매수/매도 설정을 정하고, 패널에 예상한 바스켓이 표시되는지 확인합니다(모든 조건이 끔이면 감시만 합니다).
3. 원하는 조건을 켜고 단위와 청산 후 동작을 선택합니다. 패널의 안내를 읽고 OK를 누릅니다.
4. Algo Trading을 켜고 EA 설정에서도 허용합니다. 먼저 데모 계좌에서 모두 시험해 보세요.
중요
- 수익을 약속하지 않으며, 정확히 설정한 수준에서 청산된다고 보장하지 않습니다.
- EA는 무엇을 언제 거래할지 결정하지 않습니다. 포지션과 수준은 사용자가 결정합니다.
기타
- 입력값 34개, 8개 그룹. 청산 시 최대 슬리피지(포인트)를 조정할 수 있습니다. 시장가 체결(Market Execution) 계좌에서는 브로커가 이를 사용하지 않을 수 있습니다.
- 패널이 표시되는 동안 EA는 패널이 잘 보이도록 해당 차트의 "Chart on foreground"를 끄고, EA를 제거하면 다시 켭니다.
- MQL5 메시지로 지원하며 3영업일 이내에 답변합니다: 설치, 설정, 버그 보고. 무엇을 언제 거래할지, 어떤 수준을 쓸지에 대한 질문에는 답변할 수 없습니다.
