рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкрд░ рд╡реНрдпрд╛рдкрд╛рд░ рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ред рднрд╛рдЧ рдПрдХ: рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛


рд▓реЗрдЦреЛрдВ рдХреА рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ, рд╣рдо рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдирд┐рдордп рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдПрдВрдЧреЗ, рд╣рдо рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рдирд┐рдордп рд╢рд░реНрддреЛрдВ рдХреЛ рд╕рдордЭреЗрдВрдЧреЗ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЬреНрдЮрд╛рди рдХреЛ рд╕рдореЗрдХрд┐рдд рдХрд░реЗрдВрдЧреЗред


UPD : рд▓реЗрдЦреЛрдВ рдХреА рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп FIX рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╡рд┐рдирд┐рдордп рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ (рд▓реЗрдирджреЗрди, рд╡рд╛рдпрджрд╛, рдЖрджрд┐) рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реИ ред рдХрд┐рд╕реА рднреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдмрдВрдзрди рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╣рдо рдПрдХ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╕рд░реНрд╡рд░ рдЙрджрд╛рд╣рд░рдг (рдПрдХреНрд╕рдЪреЗрдВрдЬ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдЖрдкрдХреА рдЬрд╝рд░реВрд░рдд рдХреА рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЬреНрдЮрд╛рди рдФрд░ Git рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред


рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:


  • FIX рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди : рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, QuickFix C ++ рдореЗрдВ рдПрдХ рдЦреБрд▓рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ (рдЬрд╛рд╡рд╛ (QuickFix / J), C # (QuickFix / N) рдФрд░ Go (QuickFix / Go) рдореЗрдВ QuickFix рднреА рд╣реИ;
  • , ( Open Source Java тАУ QuikFIX/J);
  • ( , , MiniFIX).

FIX, . FIX 4.2.


FIX

FIX , . , . FIX 4.2. FIX- / , .


FIX-: ( tag=value) XML.


FIX- , , , ASCII- SOH (0x01). , , Market 10000 Microsoft ( SOH ):


8=FIX.4.2 9=103 35=D 34=3 49=BANZAI 52=20121105-23:24:42 56=EXEC 11=1352157882577 21=1 38=10000 40=1 54=1 55=MSFT 59=0 10=062.


FIX-: (Message Header), (Message Body) (Message Trailer).



тАУ <8>BeginString, FIX- (8=FIX.4.2). <9> BodyLength <35> MsgType. , D (35=D), тАФ V (35=V).


, :


  • <49> SenderCompID тАУ (, );
  • <56> TargetCompID тАУ ;
  • <56> SendingTime тАУ UTC- ( YYYYMMDD-HH:MM:SS YYYYMMDD-HH:MM:SS.sss);
  • <34> MsgSeqNum тАУ ( 1 ).

MsgSeqNum 1, .


, : , , .. , .


FIX-. , .

тАУ (<10> CheckSum), . . , .



FIX initiator executor/acceptor . , QuikFIX/J quickfixj-examples: quickfix.examples.executor .


:



resources/quickfix/examples/executor/executor.cfg, :


[default]
ConnectionType=acceptor // ,    
SenderCompID=EXEC //  
TargetCompID=BANZAI //  

[session]
BeginString=FIX.4.2 //   - FIX4.2
SocketAcceptPort=9878 //   

MINIFIX_CLIENT ( ).


MiniFIX . Session :



ID тАУ MINIFIX_CLIENT тАУ EXEC. (FIX 4.2) .


  • : , , ; , , ;
  • : Logon (MsgType = A) ; .

Connect . 4.2 9878, , localhost:9878:



, localhost IP- .

Logon- Logon-:



тАЬ тАЭ, , :


MiniFIX Transactions , ( , New):



( тАФ , тАФ ).


тАУ New Order Single (35=D).

, MiniFIX , , , New, Edit, Delete. , 38=1000 . 200:



Send, , :



  • тАУ SocketConnectPort;
  • тАУ , SenderCompID TargetCompID ;
  • тАУ ;
  • тАУ ; Reset Sequence MiniFIX, ;
  • (, ); <3> Reject 58:


  • MiniFIX: тАЭ тАУ , тАЬтАЭ ;
  • MiniFIX: Logon- тАУ , , Logon.

рдЕрдм рдЖрдк MiniFIX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдирд┐рдордп рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧреНрд░рд╛рд╣рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛ рдпрд╛ рдЧреЛ рдореЗрдВ) рд▓рд┐рдЦрдирд╛ рдпрд╛ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдЯрд░реНрдорд┐рдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рд▓реЗрдХрд┐рди рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд░рдЪрдирд╛ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рдо рдХрд╛ рдорд╛рд╣реМрд▓ рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╕реНрдЯреЙрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдореЗрдВ рдХрд┐рди рд╡рд┐рддреНрддреАрдп рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╡реНрдпрд╛рдкрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдСрд░реНрдбрд░ рдХрд░рддреЗ рд╕рдордп рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреИрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧреНрд░рд╛рд╣рдХ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред


All Articles