콘텐츠로 이동

cTrader FIX 엔진

소개

범위

이 명세서는 소프트웨어 개발자들을 위한 cTrader FIX 엔진 API 구현 가이드로 사용됩니다.

FIX 버전

cTrader는 FIX 버전 4.4를 지원합니다. 이 버전에 대한 자세한 정보는 이 명세서를 참조하십시오.

연결성

연결 유형

cTrader의 FIX 엔진에 대한 연결은 인터넷, VPN 터널 또는 영국의 데이터 센터 시설에 대한 크로스 커넥트를 통해 이용할 수 있습니다. 자세한 내용은 고객 문의하시기 바랍니다.

시퀀스 번호 재설정

FIX 세션의 모든 측면은 FIX 세션을 설정할 때 시퀀스 번호를 재설정해야 합니다. 로그온 메시지를 참조하십시오.

메시지

FIX 프로토콜에 정의된 대로 cTrader FIX 서버는 두 가지 다른 데이터 레벨(시스템 및 애플리케이션)을 사용합니다. 이는 필요한 워크플로우를 지원하는 데 필요한 최소한의 메시지 세트입니다. 비즈니스 요구사항과 FIX 표준이 발전함에 따라 시간이 지나면서 변경될 수 있습니다.

cTrader FIX 엔진

시스템 메시지

  • Heartbeat (클라이언트 ↔ cTrader)
  • Test Request (클라이언트 ↔ cTrader)
  • Logon (클라이언트 → cTrader)
  • Logout (클라이언트 → cTrader)
  • Resend Request (클라이언트 ↔ cTrader)
  • Reject (클라이언트 ↔ cTrader)
  • Sequence Reset (클라이언트 ↔ cTrader)

애플리케이션 메시지

  • Market Data Request (클라이언트 → cTrader)
  • Market Data Snapshot/Full Refresh (클라이언트 ← cTrader)
  • Market Data Incremental Refresh (클라이언트 ← cTrader)
  • New Order Single (클라이언트 → cTrader)
  • Order Status Request (클라이언트 → cTrader)
  • Order Mass Status Request (클라이언트 → cTrader)
  • Execution Report (클라이언트 ← cTrader)
  • Business Message Reject (클라이언트 ← cTrader)
  • Request for Positions (클라이언트 → cTrader)
  • Position Report (클라이언트 ← cTrader)
  • Order Cancel Request (클라이언트 → cTrader)
  • Order Cancel Reject (클라이언트 ← cTrader)
  • Order Cancel/Replace Request (클라이언트 → cTrader)
  • Security List Request (클라이언트 → cTrader)
  • Security List (클라이언트 ← cTrader)

표준 헤더

각 관리 또는 애플리케이션 메시지 앞에는 표준 헤더가 붙습니다. 헤더는 메시지 유형, 길이, 목적지, 시퀀스 번호, 발신지 및 시간을 식별합니다.

cTrader로 전송되는 모든 메시지는 다음 필드가 포함된 표준 헤더를 가져야 합니다:

태그 필드 이름 필수 FIX 형식 코멘트
8 BeginString FIX.4.4 문자열 항상 암호화되지 않으며, 메시지의 첫 번째 필드여야 합니다.
9 BodyLength 유효한 값 정수 메시지 본문 길이. 항상 암호화되지 않으며, 메시지의 두 번째 필드여야 합니다.
35 MsgType A 문자열 메시지 유형. 항상 암호화되지 않으며, 메시지의 세 번째 필드여야 합니다.
49 SenderCompID 유효한 값 문자열 다음 형식의 거래 당사자 ID: <Environment>.<BrokerUID>,.여기서 Environment는 데모 또는 라이브와 같은 서버의 결정이고; BrokerUID는 cTrader에서 제공하며 Trader Login은 트레이더 계정의 숫자 식별자입니다.
56 TargetCompID CSERVER 문자열 메시지 대상. The valid value is CSERVER.
57 TargetSubID QUOTE 또는 TRADE 문자열 추가 세션 한정자. 가능한 값은 QUOTETRADE입니다.
50 SenderSubID 아니요 유효한 값 문자열 특정 메시지 발신자를 식별하는 데 사용되는 할당된 값. TargetSubID=QUOTE인 경우 QUOTE로 설정해야 합니다.
34 MsgSeqNum 1 정수 메시지의 시퀀스 번호.
52 SendingTime 20131129-15:40:08.155 UTCTimestamp 메시지 전송 시간은 항상 UTC(협정 세계시, GMT로도 알려짐)로 표시됩니다.

표준 트레일러

각 메시지(관리 또는 애플리케이션)는 표준 트레일러로 종료됩니다. 트레일러는 메시지를 분리하는 데 사용되며 CheckSum (tag=10) 값의 3자리 표현을 포함합니다.

태그 필드 이름 필수 FIX 형식 코멘트
10 CheckSum 054 문자열 3바이트 단순 체크섬. 항상 메시지의 마지막 필드이며(예: 제공), 끝에 있는 <SOH>가 메시지 종료 구분자 역할을 합니다. 3자로 정의됩니다(항상 암호화되지 않음).

세션 메시지

Heartbeat (MsgType(35)=0)

하트비트 메시지는 cTrader와 클라이언트 애플리케이션 모두에서 활성 연결을 확인하기 위해 전송됩니다.

제공자의 클라이언트 애플리케이션은 로그온 메시지의 HeartBtInt (tag=108) 필드에 정의된 간격으로 반복적인 하트비트를 전송하거나 테스트 요청 메시지에 대한 응답으로 전송합니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
112 TestReqID 아니요 유효한 값 문자열 하트비트가 테스트 요청 메시지의 결과인 경우 TestReqID가 필요합니다.
Standard Trailer

Test Request (MsgType(35)=1)

요청 수신자로부터 하트비트를 강제로 보냅니다. 응답은 TestReqID를 포함하는 하트비트 메시지로 수신 시스템에서 전송됩니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
112 TestReqID 유효한 값 문자열 하트비트 메시지 ID. TestReqID는 증가해야 합니다.
Standard Trailer

Logon (bidirectional) (MsgType(35)=A)

로그온 메시지는 cTrader FIX 세션을 시작하기 위해 클라이언트 측 애플리케이션에서 전송되며, cTrader에서 클라이언트 측 애플리케이션으로 응답이 전송됩니다. 로그온이 완료되면 세션의 수명 주기 동안 견적 및 거래 흐름이 진행될 수 있습니다.

cTrader가 유효하지 않은 로그온 메시지를 수신하면(유효하지 않은 필드 포함), cTrader는 응답으로 로그아웃 메시지를 전송합니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
98 EncryptMethod 0 정수 메시지 암호화 체계를 정의합니다. 현재는 전송 수준 보안만 지원됩니다. 유효한 값은 0 = NONE_OTHER (암호화가 사용되지 않음)입니다.
108 HeartBtInt 유효한 값 정수 초 단위의 하트비트 간격. 값은 config.properties 파일(클라이언트 측)에서 SERVER.POLLING.INTERVAL로 설정됩니다. 기본 간격 값은 30초입니다. HeartBtInt0으로 설정된 경우 하트비트 메시지가 필요하지 않습니다.
141 ResetSeqNumFlag 아니요 Y 부울 FIX 세션의 모든 측면은 시퀀스 번호를 재설정해야 합니다. 유효한 값은 Y (재설정)입니다.
553 Username 아니요 유효한 값 문자열 숫자 사용자 ID. 사용자는 SenderCompID 값(사용자의 조직, tag=49)과 연결됩니다.
554 Password 아니요 유효한 값 문자열 사용자 비밀번호.
Standard Trailer

참고

Username (tag=553) 필드는 숫자 트레이더 로그인 값을 포함해야 하며, SenderCompID (tag=49)는 환경, BrokerUID 및 점으로 구분된 트레이더 로그인을 포함해야 합니다(예: live.theBroker.12345).

아래의 로그온 메시지 예시를 참조하십시오.

요청:

8=FIX.4.4|9=126|35=A|49=live.theBroker.12345|56=CSERVER|34=1|52=20170117-08:03:04|57=TRADE|50=any_string|98=0|108=30|141=Y|553=12345|554=passw0rd!|10=131|

응답 (성공):

8=FIX.4.4|9=106|35=A|34=1|49=CSERVER|50=TRADE|52=20170117-08:03:04.509|56=live.theBroker.12345|57=any_string|98=0|108=30|141=Y|10=066|

응답 (실패):

8=FIX.4.4|9=109|35=5|34=1|49=CSERVER|50=TRADE|52=20170117-08:03:04.509|56=live.theBroker.12345|58=InternalError: RET_INVALID_DATA|10=033|

Logout (MsgType(35)=5)

로그아웃 메시지는 cTrader와의 세션 종료를 요청하기 위해 클라이언트 애플리케이션에서 전송되며 cTrader에 의해 응답으로 전송됩니다. 세션 로그아웃은 시장 참가자가 cTrader에 로그아웃 메시지를 보내는 것에 대한 응답으로 발생합니다. 세션을 종료하기 전에 cTrader는 요청 당사자에게 여전히 활발하게 스트리밍되고 있는 모든 가격을 취소합니다. cTrader가 유효하지 않은 로그온 메시지를 수신하면(유효하지 않은 필드 포함), cTrader는 Text (tag=58) 필드에 오류 세부 정보가 포함된 로그아웃 메시지를 응답으로 전송합니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
58 Text 아니요 유효한 값 문자열 로그온 거부 세부 정보. 유효하지 않은 로그온 메시지 응답으로 cTrader에서 클라이언트로의 메시지에만 사용됩니다.
Standard Trailer

로그아웃 메시지의 예시는 아래를 참조하세요.

요청:

8=FIX.4.4|9=86|35=5|49=live.theBroker.12345|56=CSERVER|34=161|52=20170117-09:22:33|57=TRADE|50=any_string|10=102|

응답:

8=FIX.4.4|9=90|35=5|34=160|49=CSERVER|50=TRADE|52=20170117-09:22:33.077|56=live.theBroker.12345|57=any_string|10=044|

Resend Request (MsgType(35)=2)

인바운드/아웃바운드 메시지는 메시지(또는 메시지들)의 재전송을 요청하는 데 사용되며, 일반적으로 시퀀스 번호에서 간격이 감지될 때 사용됩니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
7 BeginSeqNo 유효한 값 정수 재전송할 범위의 첫 번째 레코드의 메시지 시퀀스 번호.
16 EndSeqNo 유효한 값 정수 재전송할 범위의 마지막 레코드의 메시지 시퀀스 번호.
Standard Trailer

Reject (bidirectional) (MsgType(35)=3)

세션 수준 규칙 위반으로 인해 수신된 메시지를 처리할 수 없을 때 전송됩니다. 거부된 메시지는 기록되어야 하며 수신 시퀀스 번호에 증분이 적용되어야 합니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
45 RefSeqNum 유효한 값 SeqNum 참조된 메시지의 시퀀스 번호.
58 Text 아니요 유효한 값 문자열 자유 형식의 텍스트 문자열.
354 EncodedTextLen 아니요 유효한 값 길이 EncodedText (비 ASCII 문자) 필드의 바이트 단위 길이.
355 EncodedText 아니요 유효한 값 데이터 MessageEncoding (태그=347) 필드(표준 헤더에서)에 지정된 형식을 사용하여 인코딩된 Text (태그=58) 필드의 표현. ASCII 표현이 사용되는 경우 Text (태그=58) 필드에도 지정되어야 합니다.
371 RefTagID 아니요 유효한 값 정수 메시지 거부를 초래한 FIX 필드의 태그 번호.
372 RefMsgType 아니요 유효한 값 문자열 참조된 FIX 메시지의 MsgType (태그=35).
373 SessionRejectReason 아니요 유효한 값 정수 거부의 코드화된 원인. 유효한 값은 다음과 같습니다:
0 = 유효하지 않은 태그 번호
1 = 필수 태그 누락
2 = 이 메시지 유형에 대해 정의된 태그 없음
3 = 정의되지 않은 태그
4 = 지정된 태그에 대한 값 없음
5 = 이 태그의 값이 범위를 벗어남
6 = 값에 대한 데이터 형식이 잘못됨
7 = 복호화 문제
8 = 서명 오류
9 = CompID 오류
10 = SendingTime 정확도 오류
11 = MsgType 유효하지 않음
12 = XML 유효성 검사 오류
13 = 태그가 반복됨
14 = 지정된 태그가 올바른 순서가 아님
15 = 반복 그룹 필드가 올바른 순서가 아님
16 = 반복 그룹에 대한 NumInGroup 카운트가 잘못됨
17 = 필드 구분자(SOH 문자)가 비데이터 값에 포함됨
Standard Trailer

Sequence Reset (MsgType(35)=4)

인바운드/아웃바운드 메시지는 애플리케이션 수준에서 사용되어서는 안 됩니다. 시퀀스 재설정 메시지는 시퀀스 번호를 증가시킬 수만 있습니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
123 GapFillFlag 아니요 Yes 또는 No 문자열 시퀀스 재설정 메시지가 재전송되지 않을 관리 또는 애플리케이션 메시지를 대체하고 있음을 나타냅니다.
36 NewSeqNo 1 정수 새로운 시퀀스 번호.
Standard Trailer

애플리케이션 메시지

Market Data Request (MsgType(35)=V)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
262 MDReqID 유효한 값 문자열 고유한 호가 요청 ID. 새로운 구독에 대한 새 ID, 구독 제거를 위해 이전에 사용된 것과 동일한 ID.
263 SubscriptionRequestType 1 또는 2 Char 1 = 스냅샷 및 업데이트(구독).
2 = 이전 스냅샷 및 업데이트 요청 비활성화(구독 취소).
264 MarketDepth 0 또는 1 정수 전체 호가창이 제공됩니다.
0 = 깊이 구독
1 = 스팟 구독
265 MDUpdateType 유효한 값 정수 증분 새로 고침만 지원됩니다.
267 NoMDEntryTypes 2 정수 항상 2로 설정(매수와 매도 모두 전송됨).
269 MDEntryType 0 또는 1 Char 이 반복 그룹에는 요청자가 받고자 하는 모든 유형의 시장 데이터 항목 목록이 포함되어 있습니다.
0 = Bid
1 = Offer
146 NoRelatedSym 유효한 값 정수 요청된 심볼의 수.
55 Symbol 유효한 값 Spotware에서 제공하는 상품 식별자.
Standard Trailer

시장 데이터 요청 메시지의 예시는 아래를 참조하세요.

스팟의 경우

요청:

8=FIX.4.4|9=131|35=V|49=live.theBroker.12345|56=CSERVER|34=3|52=20170117-10:26:54|50=QUOTE|262=876316403|263=1|264=1|265=1|146=1|55=1|267=2|269=0|269=1|10=094|

응답:

8=FIX.4.4|9=134|35=W|34=2|49=CSERVER|50=QUOTE|52=20170117-10:26:54.630|56=live.theBroker.12345|57=any_string|55=1|268=2|269=0|270=1.06625|269=1|270=1.0663|10=118|

깊이의 경우

요청:

8=FIX.4.4|9=131|35=V|49=live.theBroker.12345|56=CSERVER|34=2|52=20170117-11:13:44|50=QUOTE|262=876316411|263=1|264=0|265=1|146=1|55=1|267=2|269=0|269=1|10=087|

응답:

8=FIX.4.4|9=310|35=W|34=2|49=CSERVER|50=QUOTE|52=20180925-12:05:28.284|56=live.theBroker.12345|57=Quote|55=1|268=6|269=1|270=1.11132|271=3000000|278=16|269=1|270=1.11134|271=5000000|278=17|269=1|270=1.11133|271=3000000|278=15|269=0|270=1.1112|271=2000000|278=12|269=0|270=1.11121|271=1000000|278=13|269=0|270=1.11122|271=3000000|278=14|10=247|
8=FIX.4.4|9=693|35=X|34=2|49=CSERVER|50=QUOTE|52=20170117-11:13:44.461|56=live.theBroker.12345|57=any_string|268=12|279=0|269=1|278=7475|55=1|270=1.0691|271=2000000|279=0|269=1|278=7476|55=1|270=1.06911|271=3000000|279=0|269=1|278=7484|55=1|270=1.06931|271=34579000|279=0|269=1|278=7485|55=1|270=1.06908|271=1000000|279=0|269=1|278=7483|55=1|270=1.06906|271=500000|279=0|269=1|278=7482|55=1|270=1.06907|271=500000|279=0|269=1|278=7488|55=1|270=1.06909|271=3000000|279=0|269=0|278=7468|55=1|270=1.06898|271=500000|279=0|269=0|278=7467|55=1|270=1.06874|271=32371000|279=0|269=0|278=7457|55=1|270=1.06899|271=1000000|279=0|269=0|278=7478|55=1|270=1.06896|271=7000000|279=0|269=0|278=7477|55=1|270=1.06897|271=1500000|10=111|
8=FIX.4.4|9=376|35=X|34=3|49=CSERVER|50=QUOTE|52=20170117-11:13:44.555|56=live.theBroker.12345|57=any_string|268=8|279=0|269=0|278=7491|55=1|270=1.06897|271=1000000|279=0|269=0|278=7490|55=1|270=1.06898|271=1000000|279=0|269=0|278=7489|55=1|270=1.06874|271=32373000|279=0|269=1|278=7496|55=1|270=1.06931|271=34580000|279=2|278=7477|55=1|279=2|278=7468|55=1|279=2|278=7467|55=1|279=2|278=7484|55=1|10=192|

Market Data Snapshot/Full Refresh (MsgType(35)=W)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
262 MDReqID 유효한 값 문자열 이전에 전송된 시장 데이터 요청의 ID.
55 Symbol 유효한 값 Spotware에서 제공하는 상품 식별자.
268 NoMDEntries 유효한 값 정수 다음에 오는 항목의 수.
269 MDEntryType 아니요 0 또는 1 Char 유효한 값은 다음과 같습니다:
0 = 매수
1 = 매도
NoMDEntries (태그=268) > 0인 경우에만 필요.
299 QuoteEntryID 아니요 유효한 값 문자열 QuoteSet의 일부로서 호가의 고유 식별.
270 MDEntryPx 아니요 1.2345 가격 시장 데이터 항목의 가격. NoMDEntries (태그=268) > 0인 경우에만 필요합니다.
271 MDEntrySize 아니요 500000 거래량 시장 데이터 항목의 거래량. NoMDEntries (태그=268) > 0인 경우에만 필요합니다.
278 MDEntryID 아니요 유효한 값 문자열 고유한 시장 데이터 항목 식별자.
Standard Trailer

Market Data Incremental Refresh (MsgType(35)=X)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
262 MDReqID 유효한 값 문자열 이전에 전송된 시장 데이터 요청의 ID.
268 NoMDEntries 유효한 값 정수 다음에 오는 항목의 수. 이 반복 그룹에는 요청자가 받고자 하는 모든 유형의 시장 데이터 항목 목록이 포함되어 있습니다.
279 MDUpdateAction 0 또는 2 Char 시장 데이터 업데이트 작업의 유형. 유효한 값은 다음과 같습니다:
0 = 신규
2 = 삭제
269 MDEntryType 아니요 0 또는 1 Char 유효한 값은 다음과 같습니다:
0 = 매수
1 = 매도
278 MDEntryID 유효한 값 문자열 시장 데이터 항목의 ID.
55 Symbol 유효한 값 Spotware에서 제공하는 상품 식별자.
270 MDEntryPx 아니요 1.2345 가격 MDUpdateAction (태그=279) = 0인 경우에만 필요합니다.
271 MDEntrySize 아니요 10000 이중 MDUpdateAction (태그=279) = 0인 경우에만 필요합니다.
Standard Trailer

New Order Single (MsgType(35)=D)

신규 주문 단일 메시지는 다음과 같은 형식을 가집니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
11 ClOrdID 유효한 값 문자열 클라이언트가 할당한 주문의 고유 식별자.
55 Symbol 유효한 값 Spotware에서 제공하는 상품 식별자.
54 Side 1 또는 2 정수 1 = Buy
2 = Sell
60 TransactTime 유효한 값 타임스탬프 클라이언트가 생성한 요청 시간.
38 OrderQty 유효한 값 수량 주문된 주식의 수량. 이는 주식의 경우 주식 수를 나타내며, 옵션, 선물, 전환사채 등의 경우 일반적인 관행에 따라 계약 수를 나타냅니다. 최대 정밀도는 0.01입니다. FIX 4.2 이전에는 이 필드의 유형이 "Integer"였습니다.
40 OrdType 1, 2 또는 3 Char 1 = 시장가, 주문은 즉시 취소(IOC) 방식으로 처리됩니다(TimeInForce, 태그=59).
2 = 지정가, 주문은 취소 전까지 유효(GTC) 방식으로 처리됩니다(TimeInForce, 태그=59).
3 = 역지정가, 주문은 취소 전까지 유효(GTC) 방식으로 처리됩니다(TimeInForce, 태그=59).
44 Price 아니요 유효한 값 가격 클라이언트가 수락할 수 있는 최악의 클라이언트 가격. OrdType (태그=40) = 2인 경우에만 필요하며, 이 경우 이 가격을 충족할 수 없으면 주문이 체결되지 않습니다.
99 StopPx 아니요 유효한 값 가격 역지정 주문을 발동시키는 가격. OrdType (태그=40) = 3인 경우에만 필요하며, 이 경우 이 가격을 충족할 수 없으면 주문이 체결되지 않습니다.
59 TimeInForce 아니요 1, 3 or 6 문자열 더 이상 사용되지 않으며, 이 값은 무시됩니다. TimeInForceOrdType (태그=40)과 ExpireTime (태그=126)에 따라 자동으로 감지됩니다:
1 = 취소 전까지 유효(GTC), ExpireTime (태그=126)이 정의되지 않은 경우에만 지정가 및 역지정가 주문(OrdType, 태그=40)에 사용됩니다.
3 = 즉시 취소(IOC), 시장가 주문(OrdType, 태그=40)에만 사용됩니다.
6 = 지정일까지 유효(GTD), ExpireTime (태그=126)이 정의된 경우에만 지정가 및 역지정가 주문(OrdType, 태그=40)에 사용됩니다.
126 ExpireTime 아니요 20140215-07:24:55 타임스탬프 YYYYMMDD-HH:MM:SS 형식의 만료 시간. 할당된 경우, 주문은 GTD 방식(TimeInForce: GTD)으로 처리됩니다.
721 PosMaintRptID 아니요 유효한 값 문자열 이 주문이 배치되어야 하는 포지션 ID. 설정되지 않은 경우, 새 포지션이 생성되고 해당 ID가 체결 보고 메시지에서 반환됩니다. 헤징 계좌에만 지정할 수 있습니다.
494 Designation 아니요 유효한 값 문자열 사용자 지정 주문 라벨.
Standard Trailer

아래에서 신규 주문 단일 메시지의 예를 참조하세요.

새 포지션에 대한 시장가 주문

요청:

8=FIX.4.4|9=143|35=D|49=live.theBroker.12345|56=CSERVER|34=77|52=20170117-10:02:14|50=any_string|57=TRADE|11=876316397|55=1|54=1|60=20170117-10:02:14|40=1|38=10000|10=010|

응답:

8=FIX.4.4|9=197|35=8|34=77|49=CSERVER|50=TRADE|52=20170117-10:02:14.720|56=live.theBroker.12345|57=any_string|11=876316397|14=0|37=101|38=10000|39=0|40=1|54=1|55=1|59=3|60=20170117-10:02:14.591|150=0|151=10000|721=101|10=149|
8=FIX.4.4|9=206|35=8|34=78|49=CSERVER|50=TRADE|52=20170117-10:02:15.045|56=live.theBroker.12345|57=any_string|6=1.0674|11=876316397|14=10000|32=10000|37=101|38=10000|39=2|40=1|54=1|55=1|59=3|60=20170117-10:02:14.963|150=F|151=0|721=101|10=077|

기존 포지션에 대한 시장가 주문

요청:

8=FIX.4.4|9=151|35=D|49=live.theBroker.12345|56=CSERVER|34=80|52=20170117-10:02:55|50=any_string|57=TRADE|11=876316398|55=1|54=1|60=20170117-10:02:55|40=1|38=10000|721=101|10=120|

응답:

8=FIX.4.4|9=197|35=8|34=80|49=CSERVER|50=TRADE|52=20170117-10:02:56.003|56=live.theBroker.12345|57=any_string|11=876316398|14=0|37=102|38=10000|39=0|40=1|54=1|55=1|59=3|60=20170117-10:02:55.984|150=0|151=10000|721=101|10=156|
8=FIX.4.4|9=207|35=8|34=81|49=CSERVER|50=TRADE|52=20170117-10:02:56.239|56=live.theBroker.12345|57=any_string|6=1.06735|11=876316398|14=10000|32=10000|37=102|38=10000|39=2|40=1|54=1|55=1|59=3|60=20170117-10:02:56.210|150=F|151=0|721=101|10=127

기존 포지션에 대한 지정가 주문

요청:

8=FIX.4.4|9=162|35=D|49=live.theBroker.12345|56=CSERVER|34=89|52=20170117-10:06:22|50=any_string|57=TRADE|11=876316400|55=1|54=2|60=20170117-10:06:22|40=2|44=1.07162|38=50000|721=101|10=122|

응답:

8=FIX.4.4|9=208|35=8|34=90|49=CSERVER|50=TRADE|52=20170117-10:06:22.466|56=live.theBroker.12345|57=any_string|11=876316400|14=0|37=104|38=50000|39=0|40=2|44=1.07162|54=2|55=1|59=1|60=20170117-10:06:22.436|150=0|151=50000|721=101|10=149|

새 포지션에 대한 역지정가 주문

요청:

8=FIX.4.4|9=153|35=D|49=live.theBroker.12345|56=CSERVER|34=9|52=20170117-12:10:48|57=TRADE|50=any_string|11=876316418|55=1|54=1|60=20170117-12:10:48|40=3|38=50000|99=1.07148|10=249|

응답:

8=FIX.4.4|9=207|35=8|34=8|49=CSERVER|50=TRADE|52=20170117-12:10:48.400|56=live.theBroker.12345|57=any_string|11=876316418|14=0|37=205|38=50000|39=0|40=3|54=1|55=1|59=1|60=20170117-12:10:48.362|99=1.07148|150=0|151=50000|721=202|10=122|

Order Status Request (MsgType(35)=H)

주문 상태 요청 메시지는 기관이 트레이더로부터 주문 상태 메시지를 생성하는 데 사용됩니다. 올바른 상호 작용을 위해서는 모든 주문에 대해 고유한 클라이언트 주문 식별자(ClOrdID)를 갖는 것이 매우 중요합니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
11 ClOrdID 유효한 값 문자열 클라이언트가 할당한 주문의 고유 식별자.
54 Side 아니요 1 또는 2 정수 1 = Buy
2 = Sell
Standard Trailer

아래에서 주문 상태 요청 메시지의 예를 참조하세요.

요청:

8=FIX.4.4|9=98|35=H|49=live.theBroker.12345|56=CSERVER|34=95|52=20170117-10:08:31|50=any_string|57=TRADE|11=876316400|10=191|

응답:

8=FIX.4.4|9=208|35=8|34=95|49=CSERVER|50=TRADE|52=20170117-10:08:31.819|56=live.theBroker.12345|57=any_string|11=876316400|14=0|37=104|38=50000|39=0|40=2|44=1.07162|54=2|55=1|59=1|60=20170117-10:06:22.436|150=0|151=50000|721=101|10=158|

Order Mass Status Request (MsgType(35)=AF)

주문 대량 상태 요청 메시지는 요청 내에 지정된 기준과 일치하는 주문의 상태를 요청합니다. 답변은 여러 개의 체결 보고 메시지(각 주문에 대해 하나씩)로 반환되거나, 주문을 찾을 수 없는 경우 비즈니스 메시지 거부 메시지로 반환됩니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
584 MassStatusReqID 유효한 값 문자열 클라이언트가 할당한 Mass Status Request의 고유 ID.
585 MassStatusReqType 유효한 값 정수 7 = 모든 주문의 상태.
현재 7 값만 지원됩니다.
225 IssueDate 아니요 유효한 값 문자열 설정된 경우, 응답에는 이 날짜 이전에 생성된 주문만 포함됩니다.
Standard Trailer

아래에서 주문 Mass Status Request 메시지의 예를 참조하세요.

요청:

8=FIX.4.4|9=117|35=AF|34=3|49=live.theBroker.12345|52=20170404-07:20:55.325|56=CSERVER|57=TRADE|225=20170404-07:20:44.582|584=mZzEY|585=7|10=065|

응답:

8=FIX.4.4|9=199|35=8|34=13|49=CSERVER|50=TRADE|52=20170404-07:20:55.333|56=live.theBroker.12345|14=0|37=635|38=100000|39=0|40=2|44=1.35265|54=2|55=1|59=1|60=20170404-07:20:44.582|150=I|151=100000|584=mZzEY|721=617|911=1|10=152|

Execution Report (MsgType(35)=8)

수락된 주문에 대한 Execution Report 메시지는 다음 형식을 갖습니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
37 OrderID 유효한 값 문자열 cTrader 주문 ID.
11 ClOrdID 아니요 유효한 값 문자열 클라이언트가 할당한 주문의 고유 식별자.
911 TotNumReports 아니요 유효한 값 정수 Order Mass Status Request 메시지에 대한 응답으로 반환된 총 보고서 수.
150 ExecType 유효한 값 Char 0 = New
4 = Canceled
5 = Replace
8 = Rejected
C = Expired
F = Trade
I = Order Status
39 OrdStatus 유효한 값 Char 0 = 신규
1 = 부분 체결
2 = 전체 체결
8 = 거부됨
4 = 취소됨 (주문이 부분 체결된 경우, Canceled가 반환되어 (tag=151), LeavesQty가 취소되었으며 이후 체결되지 않음을 나타냅니다).
C = 만료됨
55 Symbol 아니요 유효한 값 Spotware에서 제공하는 상품 식별자.
54 Side 아니요 1 또는 2 정수 1 = 매수
2 = 매도
60 TransactTime 아니요 유효한 값 타임스탬프 Execution Report 메시지가 나타내는 거래의 실행 시간 (UTC 기준).
6 AvgPx 아니요 유효한 값 정수 거래가 체결된 가격. IOC 또는 GTD 주문의 경우, 이는 체결된 주문의 거래량 가중평균가격(VWAP)입니다.
38 OrderQty 아니요 유효한 값 수량 이는 주식의 경우 주식 수를 나타내며, 옵션, 선물, 전환사채 등의 경우 일반적인 관행에 따라 계약 수를 나타냅니다. FIX 4.2 이전에는 이 필드의 유형이 "Integer"였습니다.
151 LeavesQty 아니요 유효한 값 수량 아직 체결되지 않은 주문의 수. 가능한 값은 0 (전체 체결)에서 OrderQty (부분 체결) 사이입니다.
14 CumQty 아니요 유효한 값 수량 체결된 주문의 총 수.
32 LastQty 아니요 유효한 값 수량 이번(마지막) 체결에서 체결된 주문의 매수/매도 수량.
40 OrdType 아니요 1 또는 2 Char 1 = 시장가
2 = 지정가
44 Price 아니요 유효한 값 가격 New Order Single 메시지에 제공된 경우, 이 Execution Report 메시지에서 그대로 반환됩니다.
99 StopPx 아니요 유효한 값 가격 New Order Single 메시지에 제공된 경우, 이 Execution Report 메시지에서 그대로 반환됩니다.
59 TimeInForce 아니요 1, 3 또는 6 문자열 1 = 취소 전까지 유효(GTC)
3 = 즉시 체결 아니면 취소(IOC)
6 = 지정일까지 유효(GTD)
126 ExpireTime 아니요 20140215-07:24:55 타임스탬프 New Order Single 메시지에 제공된 경우, 이 Execution Report 메시지에서 그대로 반환됩니다.
58 Text 아니요 유효한 값 문자열 가능한 경우, 메시지는 Execution Report를 설명합니다.
103 OrdRejReason 아니요 0 정수 0 = OrdRejReason.BROKER_EXCHANGE_OPTION
721 PosMaintRptID 아니요 유효한 값 문자열 포지션 ID.
494 Designation 아니요 유효한 값 문자열 클라이언트의 사용자 지정 주문 라벨.
584 MassStatusReqID 아니요 유효한 값 문자열 클라이언트가 할당한 mass status request의 고유 ID.
1000 AbsoluteTP 아니요 유효한 값 가격 이익실현이 발동될 절대 가격.
1001 RelativeTP 아니요 유효한 값 가격 이익실현이 발동될 진입 가격으로부터의 거리(핍 단위).
1002 AbsoluteSL 아니요 유효한 값 가격 손절매가 발동될 절대 가격.
1003 RelativeSL 아니요 유효한 값 가격 손절매가 발동될 진입 가격으로부터의 거리(핍 단위).
1004 TrailingSL 아니요 N 또는 Y 부울 손절매가 추적 중인지 여부를 나타냅니다.
N = 손절매가 추적 중이 아님.
Y = 손절매가 추적 중임.
1005 TriggerMethodSL 아니요 유효한 값 정수 손절매의 지정된 발동 방식.
1 = 손절매는 거래 방향에 의해 발동됩니다.
2 = 손절매는 반대 방향에 의해 발동됩니다(매수 포지션의 경우 매수 가격, 매도 포지션의 경우 매도 가격).
3 = 손절매는 거래 방향에 따라 연속된 두 번의 틱 이후에 발동됩니다.
4 = 손절매는 반대 방향에 따라 연속된 두 번의 틱 이후에 발동됩니다(매수 포지션의 경우 두 번째 매수 틱, 매도 포지션의 경우 두 번째 매도 틱).
1006 GuaranteedSL 아니요 N 또는 Y 부울 손절매가 보장되는지 여부를 나타냅니다.
N = 손절매가 보장되지 않습니다.
Y = 손절매가 보장됩니다.
Standard Trailer

가이드 끝부분에서 새 주문 단일 예시를 참조하세요.

Business Message Reject (MsgType(35)=j)

이 메시지 유형은 시스템이 구독 요청을 처리할 수 없거나 주문을 실행할 수 없을 때 전송됩니다.

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
45 RefSeqNum 아니요 유효한 값 정수 거부된 메시지의 MsgSeqNum (태그=34).
372 RefMsgType 아니요 유효한 값 문자열 참조되는 FIX 메시지의 MsgType (태그=35).
379 BusinessRejectRefID 아니요 유효한 값 문자열 참조되는 메시지의 비즈니스 레벨 ID 필드 값. 해당 ID 필드가 지정되지 않은 경우가 아니라면 필수입니다.
380 BusinessRejectReason 0 정수 비즈니스 메시지 거부 사유를 식별하는 코드.
0 = 기타
58 Text 아니요 유효한 값 문자열 가능한 경우, 거부 사유를 설명하는 메시지.
Standard Trailer

아래에서 비즈니스 메시지 거부 메시지의 예시를 참조하세요.

8=FIX.4.4|9=149|35=j|34=2|49=CSERVER|52=20170105-06:36:00.912|56=live.theBroker.12345|57=any_string|58=Message to explain reason for rejection|379=u4Jr7Rr5t2VS7HSP|380=0|10=123|

Request for Positions (MsgType(35)=AN)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
710 PosReqID 유효한 값 문자열 고유한 요청 ID (클라이언트가 설정).
721 PosMaintRptID 아니요 유효한 값 문자열 요청할 포지션 ID. 설정되지 않은 경우, 모든 오픈 포지션이 반환됩니다.
Standard Trailer

아래에서 포지션 요청 메시지의 예시를 참조하세요.

요청:

8=FIX.4.4|9=100|35=AN|49=live.theBroker.12345|56=CSERVER|34=99|52=20170117-10:09:54|50=any_string|57=TRADE|710=876316401|10=103|

응답:

8=FIX.4.4|9=163|35=AP|34=98|49=CSERVER|50=TRADE|52=20170117-10:09:54.076|56=live.theBroker.12345|57=any_string|55=1|710=876316401|721=101|727=1|728=0|730=1.06671|702=1|704=0|705=30000|10=182|

Position Report (MsgType(35)=AP)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
710 PosReqID 유효한 값 문자열 포지션 요청 메시지의 ID.
721 PosMaintRptID 아니요 유효한 값 문자열 포지션 ID, PosReqResult (태그=728)가 VALID_REQUEST가 아닌 경우 설정되지 않습니다.
727 TotalNumPosReports 유효한 값 문자열 PosReqResult (태그=728)가 VALID_REQUEST일 때 시퀀스의 총 포지션 보고서 수, 그렇지 않으면 0.
728 PosReqResult 0 또는 2 문자열 0 = 유효한 요청
2 = 기준에 맞는 오픈 포지션이 없습니다.
55 Symbol 아니요 유효한 값 문자열 현재 포지션 보고서가 작성된 심볼. PosReqResult (태그=728)가 VALID_REQUEST가 아닌 경우 설정되지 않습니다.
702 NoPositions 아니요 1 문자열 PosReqResult (태그=728)가 VALID_REQUEST일 때 1, 그렇지 않으면 설정되지 않습니다.
704 LongQty 아니요 유효한 값 문자열 매수 거래 방향의 경우 포지션의 오픈 거래량, 매도 거래 방향의 경우 0과 동일. PosReqResult (태그=728)가 VALID_REQUEST가 아닌 경우 설정되지 않습니다.
705 ShortQty 아니요 유효한 값 문자열 매도 거래 방향의 경우 포지션의 오픈 거래량, 매수 거래 방향의 경우 0과 동일. PosReqResult (태그=728)가 VALID_REQUEST가 아닌 경우 설정되지 않습니다.
730 SettlPrice 아니요 유효한 값 문자열 현재 포지션 보고서의 오픈 거래량의 평균 가격.
1000 AbsoluteTP 아니요 유효한 값 가격 이익실현이 발동될 절대 가격.
1002 AbsoluteSL 아니요 유효한 값 가격 손절매가 발동될 절대 가격.
1004 TrailingSL 아니요 유효한 값 부울 손절매가 추적 중인지 여부를 나타냅니다.
N = 손절매가 추적 중이 아님.
Y = 손절매가 추적 중임.
1005 TriggerMethodSL 아니요 유효한 값 정수 손절매의 지정된 발동 방식.
1 = 손절매는 거래 방향에 의해 발동됩니다.
2 = 손절매는 반대 방향에 의해 발동됩니다(매수 포지션의 경우 매수 가격, 매도 포지션의 경우 매도 가격).
3 = 손절매는 거래 방향에 따라 연속된 두 번의 틱 이후에 발동됩니다.
4 = 손절매는 반대 방향에 따라 연속된 두 번의 틱 이후에 발동됩니다(매수 포지션의 경우 두 번째 매수 틱, 매도 포지션의 경우 두 번째 매도 틱).
1006 GuaranteedSL 아니요 유효한 값 부울 손절매가 보장되는지 여부를 나타냅니다.
N = 손절매가 보장되지 않습니다.
Y = 손절매가 보장됩니다.
Standard Trailer

Order Cancel Request (MsgType(35)=F)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
41 OrigClOrdID 유효한 값 문자열 클라이언트가 할당한 취소할 주문의 고유 식별자.
37 OrderID 아니요 유효한 값 문자열 cServer가 반환한 주문의 고유 ID.
11 ClOrdID 유효한 값 문자열 클라이언트가 할당한 취소 요청의 고유 ID.
Standard Trailer

아래의 주문 취소 요청 메시지 예시를 참조하세요.

요청:

8=FIX.4.4|9=115|35=F|34=2|49=live.theBroker.12345|50=Trade|52=20170721-13:41:21.694|56=CSERVER|57=TRADE|11=jR8dBPcZEQa9|41=n9Tm8x1AavO5|10=182|

응답 (성공):

8=FIX.4.4|9=221|35=8|34=3|49=CSERVER|50=TRADE|52=20170721-13:41:21.784|56=live.theBroker.12345|57=Trade|11=jR8dBPcZEQa9|14=0|37=641|38=100000|39=4|40=2|41=n9Tm8x1AavO5|44=1.499|54=1|55=1|59=1|60=20170721-13:41:21.760|150=4|151=100000|721=624|10=180|

응답 (실패):

8=FIX.4.4|9=174|35=j|34=3|49=CSERVER|50=TRADE|52=20170721-13:41:21.856|56=live.theBroker.12345|57=Trade|58=ORDER_NOT_FOUND:Order with clientOrderId=n9Tm8x1AavO5 not found.|379=jR8dBPcZEQa9|380=0|10=075|

Order Cancel Reject (MsgType(35)=9)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
37 OrderID 유효한 값 문자열 시스템이 취소할 수 없었던 주문의 고유 식별자.
11 ClOrdID 유효한 값 문자열 주문 취소 요청의 고유 식별자.
41 OrigClOrdID 아니요 유효한 값 문자열 클라이언트가 할당한 취소하려고 시도한 주문의 고유 식별자.
39 OrdStatus 유효한 값 Char 0 = 신규
1 = 부분 체결
2 = 전량 체결
8 = 거부됨
4 = 취소됨 (주문이 부분 체결되었을 때 Canceled가 반환되며 (tag=151), LeavesQty가 취소되고 이후 체결되지 않음을 의미).
C = 만료됨
434 CxlRejResponseTo 1 또는 2 Char 1 = 주문 취소 거부.
2 = 다른 터미널에서의 주문 수정 거부.
58 Text 아니요 유효한 값 문자열 주문이 실행 중입니다.
Standard Trailer

아래의 주문 취소 거부 메시지 예시를 참조하세요.

응답:

8=FIX.4.4|9=156|35=9|34=3|49=CSERVER|50=TRADE|52=20181024-12:35:02.896|56=live.theBroker.12345|57=Trade|11=gBljx7YOg5jY|37=629|39=0|41=FdXLfS0tTyUL|58=Order is under execution|434=1|10=109|

Order Cancel/Replace Request (MsgType(35)=G)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
41 OrigClOrdID Any valid value 문자열 클라이언트가 할당한 수정할 주문의 고유 식별자.
37 OrderID 아니요 유효한 값 문자열 서버가 할당한 수정할 원래 주문의 고유 ID. 사용하기 선호되는 방법.
11 ClOrdID 유효한 값 문자열 클라이언트가 할당한 수정 요청의 고유 ID.
38 OrderQty 유효한 값 수량 이전 값을 대체할 기존 또는 새로 지정된 수량.
44 Price 아니요 유효한 값 가격 이전 값을 대체할 기존 또는 새로 지정된 지정가. 지정가 주문에만 유효.
99 StopPx 아니요 유효한 값 가격 이전 값을 대체할 기존 또는 새로 지정된 역지정가. 역지정가 주문에만 유효.
126 ExpireTime 아니요 20140215-07:24:55 타임스탬프 기존 또는 새로 지정된 만료 시간. 예약 주문에만 유효.
Standard Trailer

아래의 주문 취소/대체 요청 메시지 예시를 참조하세요.

요청:

8=FIX.4.4|9=123|35=G|34=3|49=live.theBroker.12345|50=Trade|52=20170721-13:42:17.680|56=CSERVER|57=TRADE|11=Is03AvsknNYK|38=5000|41=n9Tm8x1AavO5|44=1.1|10=010|

응답 (성공):

8=FIX.4.4|9=192|35=8|34=3|49=CSERVER|50=TRADE|52=20170721-13:42:18.784|56=live.theBroker.12345|57=Trade|11=Is03AvsknNYK|14=0|37=629|38=5000|39=0|40=2|44=1.1|54=1|55=1|59=1|60=20170721-13:42:18.760|150=5|151=5000|721=624|10=150|

응답 (실패):

8=FIX.4.4|9=171|35=j|34=3|49=CSERVER|50=TRADE|52=20170721-13:42:18.784|56=live.theBroker.12345|57=Trade|58=ORDER_NOT_FOUND:Order with orderId:4429421711699105367 isn't found|379=NXek3EzJvMme|380=0|10=245|

Market Data Request Reject (MsgType(35)=Y)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
262 MDReqID 유효한 값 문자열 요청의 MDReqID (tag=262)를 참조해야 합니다.
281 MDReqRejReason 아니요 유효한 값 정수 0 = 알 수 없는 심벌
4 = 지원되지 않는 SubscriptionRequestType (tag=263)
5 = 지원되지 않는 MarketDepth (tag=264)
Standard Trailer

아래의 시장 데이터 요청 거부 메시지 예시를 참조하세요.

요청:

8=FIX.4.4|9=148|35=V|34=2|49=live.theBroker.12345|50=Quote|52=20170920-09:52:13.032|56=CSERVER|57=QUOTE|262=CS8260:sXlXex|263=1|264=0|265=1|146=1|55=CS8260|267=2|269=0|269=1|10=129|

거부:

8=FIX.4.4|9=164|35=Y|34=2|49=CSERVER|50=QUOTE|52=20170920-09:52:13.036|56=live.theBroker.12345|57=Quote|58=INVALID_REQUEST: Expected numeric symbolId, but got CS8260|262=CS8260:sXlXex|281=0|10=236|

요청:

8=FIX.4.4|9=136|35=V|34=6|49=live.theBroker.12345|50=Quote|52=20170920-09:52:13.199|56=CSERVER|57=QUOTE|262=EwOhiWvMdCpc|263=1|264=3|146=1|55=1|267=2|269=0|269=1|10=182|

거부:

8=FIX.4.4|9=157|35=Y|34=6|49=CSERVER|50=QUOTE|52=20170920-09:52:13.201|56=live.theBroker.12345|57=Quote|58=INVALID_REQUEST: MarketDepth should be either 0 or 1|262=EwOhiWvMdCpc|281=5|10=088|

Security List Request (MsgType(35)=x)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
320 SecurityReqID 유효한 값 문자열 증권 정의 요청의 고유 ID.
559 SecurityListRequestType 0 정수 요청되는 증권 목록 요청의 유형. 0 = Symbol (tag=55)만 지원됩니다.
55 Symbol 아니요 유효한 값 정수 심벌 이름을 해결하기 위한 ID.
Standard Trailer

아래의 증권 목록 요청 메시지 예시를 참조하세요.

요청:

8=FIX.4.4|9=107|35=x|34=3|49=live.theBroker.12345|50=Trade|52=20180427-12:24:27.106|56=CSERVER|57=TRADE|55=39|320=ILCea0JkdQEm|559=0|10=248|

응답:

8=FIX.4.4|9=158|35=y|34=3|49=CSERVER|50=TRADE|52=20180427-12:24:27.107|56=live.theBroker.12345|57=Trade|320=ILCea0JkdQEm|322=responce:ILCea0JkdQEm|560=0|146=1|55=39|1007=NZDCHF|1008=4|10=088|

Security List (MsgType(35)=y)

태그 필드 이름 필수 FIX 형식 코멘트
Standard Header
320 SecurityReqID 유효한 값 문자열 증권 정의 요청의 고유 ID.
322 SecurityResponseID 유효한 값 문자열 증권 목록 응답의 고유 ID.
560 SecurityRequestResult 0 정수 증권 요청 메시지에 대해 반환된 결과. 유효한 값은 다음과 같습니다:
0 = 유효한 요청.
1 = 유효하지 않거나 지원되지 않는 요청.
2 = 선택 기준과 일치하는 상품이 없습니다.
3 = 상품 데이터를 검색할 권한이 없습니다.
4 = 상품 데이터를 일시적으로 사용할 수 없습니다.
5 = 상품 데이터 요청이 지원되지 않습니다.
146 NoRelatedSym 아니요 유효한 값 정수 반복되는 심벌(상품)의 수를 지정합니다.
55 Symbol 아니요 유효한 값 정수 Spotware에서 제공하는 상품 식별자.
1007 SymbolName 아니요 유효한 값 문자열 심벌 이름.
1008 SymbolDigits 아니요 유효한 값 정수 심벌 소수점. 가능한 값은 0부터 5까지입니다.
Standard Trailer

아래의 증권 목록 메시지 예시를 참조하세요.

응답:

8=FIX.4.4|9=3977|35=y|34=2|49=CSERVER|50=TRADE|52=20180426-12:07:37.816|56=live.theBroker.12345|57=Trade|320=Sxo2Xlb1jzJC|322=responce:Sxo2Xlb1jzJC|560=0|146=143|55=1|1007=EURUSD|1008=5|55=2|1007=GBPUSD|1008=5|55=3|1007=EURJPY|1008=3|55=4|1007=USDJPY|1008=3|55=5|1007=AUDUSD|1008=5|55=6|1007=USDCHF|1008=5|55=7|1007=GBPJPY|1008=3|55=8|1007=USDCAD|1008=5|55=9|1007=EURGBP|1008=5|55=10|1007=EURCHF|1008=5|55=11|1007=AUDJPY|1008=2|55=12|1007=NZDUSD|1008=5|55=13|1007=CHFJPY|1008=2|55=14|1007=EURAUD|1008=4|55=15|1007=CADJPY|1008=2|55=16|1007=GBPAUD|1008=4|55=17|1007=EURCAD|1008=4|55=10001|1007=USDCFDSAX|1008=5|55=18|1007=AUDCAD|1008=4|55=10002|1007=CD3295|1008=5|55=19|1007=GBPCAD|1008=4|55=10003|1007=DU3295|1008=5|55=20|1007=AUDNZD|1008=4|55=10004|1007=CS5965|1008=2|55=21|1007=NZDJPY|1008=2|55=10005|1007=CS6014_3|1008=5|55=22|1007=USDNOK|1008=4|55=10006|1007=DU6014_3|1008=5|55=23|1007=AUDCHF|1008=4|55=10007|1007=CS6014_4|1008=5|55=24|1007=USDMXN|1008=4|55=10008|1007=DU6014_4|1008=5|55=25|1007=GBPNZD|1008=4|55=10009|1007=CS5953|1008=5|55=26|1007=EURNZD|1008=4|55=10010|1007=CS6407_01_EURUSD|1008=5|55=27|1007=CADCHF|1008=4|55=10011|1007=CS6407_01_GBPUSD|1008=5|55=28|1007=USDSGD|1008=5|55=10012|1007=CS6407_02_EURUSD|1008=5|55=29|1007=USDSEK|1008=4|55=10013|1007=CS6407_03_EURUSD|1008=5|55=30|1007=NZDCAD|1008=4|55=31|1007=EURSEK|1008=4|55=10015|1007=CS7847_01_EURUSD|1008=5|55=32|1007=GBPSGD|1008=4|55=10016|1007=CS7847_01_GBPUSD|1008=5|55=33|1007=EURNOK|1008=4|55=10017|1007=CS7847_02_EURUSD|1008=5|55=34|1007=EURHUF|1008=2|55=10018|1007=CS7847_03_EURUSD|1008=5|55=35|1007=USDPLN|1008=4|55=10019|1007=CS7847_04_GBPUSD|1008=5|55=36|1007=USDDKK|1008=4|55=10020|1007=CS9004S|1008=2|10=096|