08
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--
LATEST ENTRY
CATEGORY
ARCHIVE
PROFILE
SEARCH
RECENT COMMENT
  • 【情報】Excel で スクレイピング 【ぶっこ抜き】
    縫部尚登 (06/17)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/05)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    まこ (05/05)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/03)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    まこ (05/03)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/03)
  • エクセルファイルのパスワードを忘れたら・・・
    里奈 (09/09)
MOBILE
qrcode
OTHERS
<< 【QUICKFIX】 FX自動売買への道 15 【受信メッセージをとりあえず受ける口を作る】 | top | 【QUICKFIX】 FX自動売買への道 17 【通信系の試験(準正常系)】 >>
スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - |
【QUICKFIX】 FX自動売買への道 16 【通信系の試験(正常系)】
基礎的な準備が整ったので証券会社から渡されてる試験をしてみる
渡されてる試験は
 ・通信系
 ・情報系
 ・注文系
の大きく3つ種類

まだ情報系も注文系も作ってないけど、基礎となる通信系はクリアしておきたい
 
通信系の試験は以下9ケース
(正常系)
    1.ログイン成功
    2.ハートビート
    3.TestRequest
    4.ログアウト

(準正常系)
    5.ログイン失敗
    6.通信連番不一致(連番が小さい場合)
    7.通信連番不一致(連番が大きい場合)
    8.通信量制限

(異常系)
    9.ネットワーク断

このうち「8.通信量制限」は2秒間に900注文以上になると制限されるとかいう試験なので
注文系を作ってからやることに。。

2秒で900注文以上ってことは、
約2ミリ秒毎に1注文で、1秒500注文ってことになるの。。かな
今現在実験に使ってる仮想環境では性能的にムリだな
送り付けるだけならいけるのか??
・・なんか考えることにしよう。。



■正常系のための設定ファイル変更(tradeclient.cfg)
現状、トレード用とレート用の2アカウントで接続する設定になっているけど
試験の時にめんどくさいので1アカウントだけで実施するように変更

examples]# vi tradeclient.cfg
        [DEFAULT]
        ConnectionType=initiator
        ReconnectInterval=60
        StartTime=00:00:00
        EndTime=00:00:00
        UseDataDictionary=Y
        DataDictionary=../spec/FIX44.xml
        HttpAcceptPort=9911

        ValidateUserDefinedFields=N
        ResetOnLogout=Y
        ResetOnLogon=Y

        # -- MySQL Store ----
        MySQLStoreDatabase=quickfix
        MySQLStoreUser=DBuser
        MySQLStorePassword=DBpass
        MySQLStoreHost=localhost

        # -- MySQL Log ------
        MySQLLogDatabase=quickfix
        MySQLLogUser=DBuser
        MySQLLogPassword=DBpass
        MySQLLogHost=localhost

        # -- Debug ------
        Debug_h_TradingSessionStatus=true
        Debug_j_BusinessMessageReject=true

        [SESSION]
        BeginString=FIX.4.4
        SenderCompID=CAXDemo_Account_Trd
        TargetCompID=CNX
        SocketConnectHost=127.0.0.1
        SocketConnectPort=9999
        HeartBtInt=30
        Password=Pass1234
        SessionType=Trade



■正常系の試験
とりあえずクライアントを起動して、後からデータ確認を行う方式で行く
    1.ログイン成功
    2.ハートビート
    3.TestRequest
    4.ログアウト

   ログインして、
   しばらく待ってハートビートさせて、
   TestRequest を投げて、
   ログアウト
 すれば良いみたい

stunnel が起動してなければ起動してからクライアントを起動
# stunnel
examples]# ./tradeclient/tradeclient tradeclient.cfg
        1) TestRequest Trade
        2) TestRequest Ratefeed
        q) Quit
        Action:
     Logon - FIX.4.4:CAXDemo_Account_Trd->CNX
        <message>
          <header>
            <field number="8"><![CDATA[FIX.4.4]]></field>
            <field number="9"><![CDATA[80]]></field>
            <field number="35"><![CDATA[h]]></field>
            <field number="34"><![CDATA[2]]></field>
            <field number="49"><![CDATA[CNX]]></field>
            <field number="52"><![CDATA[20160331-13:11:23.160]]></field>
            <field number="56"><![CDATA[CAXDemo_Account_Trd]]></field>
          </header>
          <body>
            <field number="336"><![CDATA[0]]></field>
            <field number="340"><![CDATA[2]]></field>
          </body>
          <trailer>
            <field number="10"><![CDATA[050]]></field>
          </trailer>
        </message>

        IN: 8=FIX.4.49=8035=h34=249=CNX52=20160331-13:11:23.16056=CAXDemo_Account_Trd336=0340=210=050
     1
        row - 1
        7       TestReq_20160331-131255.746     CAXDemo_Account_Trd  2016-03-31 22:12:55

        1) TestRequest Trade
        2) TestRequest Ratefeed
        q) Quit
     Action: q

        Logout - FIX.4.4:CAXDemo_Account_Trd->CNX


−−−−−−−−
 .蹈哀ぅ
◆TestRequest
 ログアウト


DBを確認
−−−−−−−−
        13:11:22.731 CAXDemo_Account_Trd  CNX     8=FIX.4.49=9935=A34=149=CAXDemo_Account_Trd52=20160331-13:11:22.70656=CNX554=Pass123498=0108=30141=Y10=149
        13:11:23.245 CNX     CAXDemo_Account_Trd  8=FIX.4.49=8635=A49=CNX34=152=20160331-13:11:23.16056=CAXDemo_Account_Trd98=0108=30141=Y10=069
        13:11:23.263 CNX     CAXDemo_Account_Trd  8=FIX.4.49=8035=h49=CNX34=252=20160331-13:11:23.16056=CAXDemo_Account_Trd336=0340=210=050
        13:11:52.911 CAXDemo_Account_Trd  CNX     8=FIX.4.49=6835=034=249=CAXDemo_Account_Trd52=20160331-13:11:52.85156=CNX10=248
        13:11:53.475 CNX     CAXDemo_Account_Trd  8=FIX.4.49=6835=049=CNX34=352=20160331-13:11:53.39356=CAXDemo_Account_Trd10=251
        13:12:23.9   CAXDemo_Account_Trd  CNX     8=FIX.4.49=6835=034=349=CAXDemo_Account_Trd52=20160331-13:12:22.99756=CNX10=002
        13:12:23.473 CNX     CAXDemo_Account_Trd  8=FIX.4.49=6835=049=CNX34=452=20160331-13:12:23.39356=CAXDemo_Account_Trd10=250
        13:12:52.244 CAXDemo_Account_Trd  CNX     8=FIX.4.49=6835=034=449=CAXDemo_Account_Trd52=20160331-13:12:52.22756=CNX10=248
        13:12:53.471 CNX     CAXDemo_Account_Trd  8=FIX.4.49=6835=049=CNX34=552=20160331-13:12:53.39356=CAXDemo_Account_Trd10=254
        13:12:55.771 CAXDemo_Account_Trd  CNX     8=FIX.4.49=10035=134=549=CAXDemo_Account_Trd52=20160331-13:12:55.74656=CNX112=TestReq_20160331-131255.74610=220
        13:12:55.933 CNX     CAXDemo_Account_Trd  8=FIX.4.49=10035=049=CNX34=652=20160331-13:12:55.85656=CAXDemo_Account_Trd112=TestReq_20160331-131255.74610=222
        13:13:10.313 CAXDemo_Account_Trd  CNX     8=FIX.4.49=6835=534=649=CAXDemo_Account_Trd52=20160331-13:13:10.30556=CNX10=247
        13:13:10.474 CNX     CAXDemo_Account_Trd  8=FIX.4.49=6835=549=CNX34=752=20160331-13:13:10.39956=CAXDemo_Account_Trd10=005



■1.ログイン成功 の確認
 QuickFIX  --> Currenex  35=A
 QuickFIX <--  Currenex  35=A
 ってなってること

 13:11:22.731 CAXDemo_Account_Trd -> CNX  8=FIX.4.4  9=99  35=A  34=1  49=CAXDemo_Account_Trd  52=20160331-13:11:22.706  56=CNX  554=Pass1234  98=0  108=30  141=Y  10=149
 13:11:23.245 CNX -> CAXDemo_Account_Trd  8=FIX.4.4  9=86  35=A  49=CNX  34=1  52=20160331-13:11:23.160  56=CAXDemo_Account_Trd  98=0  108=30  141=Y  10=069


 35=A を送って、35=A が戻ってきてるのでOK


■2.ハートビート の確認
 QuickFIX  --> Currenex  35=0
 QuickFIX <--  Currenex  35=0
 って30秒毎になってること(設定ファイルの秒数)

 13:11:52.911 CAXDemo_Account_Trd -> CNX  8=FIX.4.4  9=68  35=0  34=2  49=CAXDemo_Account_Trd  52=20160331-13:11:52.851  56=CNX  10=248
 13:11:53.475 CNX -> CAXDemo_Account_Trd  8=FIX.4.4  9=68  35=0  49=CNX  34=3  52=20160331-13:11:53.393  56=CAXDemo_Account_Trd  10=251

 13:12:23.9   CAXDemo_Account_Trd -> CNX  8=FIX.4.4  9=68  35=0  34=3  49=CAXDemo_Account_Trd  52=20160331-13:12:22.997  56=CNX  10=002
 13:12:23.473 CNX -> CAXDemo_Account_Trd  8=FIX.4.4  9=68  35=0  49=CNX  34=4  52=20160331-13:12:23.393  56=CAXDemo_Account_Trd  10=250


 52= の Currenex を見ると、
  52=20160331-13:11:53.393 の次が
  52=20160331-13:12:23.393 になってるので、ちゃんと30秒毎ですかね。ってことでOK


■3.TestRequest の確認
 QuickFIX  --> Currenex  35=1  を送ると
 QuickFIX <--  Currenex  35=0  が返ってくること

 13:12:55.771 CAXDemo_Account_Trd -> CNX  8=FIX.4.4  9=100  35=1  34=5  49=CAXDemo_Account_Trd  52=20160331-13:12:55.746  56=CNX  112=TestReq_20160331-131255.746  10=220
 13:12:55.933 CNX -> CAXDemo_Account_Trd  8=FIX.4.4  9=100  35=0  49=CNX  34=6  52=20160331-13:12:55.856  56=CAXDemo_Account_Trd  112=TestReq_20160331-131255.746  10=222


 OKですね


■4.ログアウト の確認
 QuickFIX  --> Currenex  35=5
 QuickFIX <--  Currenex  35=5
 ってなってること

 13:13:10.313 CAXDemo_Account_Trd -> CNX  8=FIX.4.4  9=68  35=5  34=6  49=CAXDemo_Account_Trd  52=20160331-13:13:10.305  56=CNX  10=247
 13:13:10.474 CNX -> CAXDemo_Account_Trd  8=FIX.4.4  9=68  35=5  49=CNX  34=752=20160331-13:13:10.399  56=CAXDemo_Account_Trd  10=005


 OKですね



ん。
とりあえず、正常系はOKってことで
 
まこ | FIX | 23:24 | comments(0) | trackbacks(0) |
スポンサーサイト
スポンサードリンク | - | 23:24 | - | - |
Comment









Trackback
URL: