【QuickFIX】10 デモ環境サーバへ接続

ここらでデモ環境サーバへ接続して通信ができることを確認しときます

通信には暗号化が必要ですが、QuickFIXは対応していないので stunnel というプロセスをひとつかませておきます
ちなみに時刻がサーバとズレていると強制切断されてしまうのできちんと時刻を合わせておきましょう


## 暗号通信 stunnel 導入

```bash:
$ sudo yum install stunnel

```

インストールしたら設定ファイルを作成
(設定ファイルはインストールされないので自分で作成)


```bash:
$ sudo vi /etc/stunnel/stunnel.conf
　　;stunnel.conf

　　client = yes
　　pid = /var/run/stunnel.pid

　　# 出力するログのレベルを設定
　　# 各レベルの意味：emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), debug (7)
　　debug = 3
　　output = /var/log/stunnel.log

　　[cnx]
　　client = yes
　　delay = yes
　　accept = 127.0.0.1:9999
　　connect = currenex-server-address:443
```
クライアントモードで動作させ
プロセスIDとログの記録ファイルを指定
ログの出力レベルを debug に指定

ローカルの待ち受けポートを 9999 にして
接続先のIPアドレスとポートを指定　です


## 暗号通信 stunnel 起動

```bash:
$ sudo stunnel

```
stunnel は一度起動するとバックグラウンドでずっと動いてくれます


####起動確認

```bash:
$ sudo ps -ef |grep stunnel
[sudo] password for admin:
root      1198     1  0 23:34 pts/0    00:00:00 stunnel
root      1199     1  0 23:34 pts/0    00:00:00 stunnel
root      1200     1  0 23:34 pts/0    00:00:00 stunnel
root      1201     1  0 23:34 pts/0    00:00:00 stunnel
root      1202     1  0 23:34 pts/0    00:00:00 stunnel
root      1203     1  0 23:34 ?        00:00:00 stunnel
admin     1216   884  0 23:35 pts/0    00:00:00 grep --color=auto stunnel

$ cat /var/run/stunnel.pid
1203

$ ls -l /var/log/stu*
-rw-r----- 1 root root 0  4月 13 23:34 /var/log/stunnel.log

```


#### 待ち受けポートの確認

```bash:
$ sudo ss -t4lnp
State       Recv-Q Send-Q            Local Address:Port                           Peer Address:Port
LISTEN      0      128                   127.0.0.1:9999                                      *:*                   users:(("stunnel",pid=1203,fd=12))
LISTEN      0      128                           *:22                                        *:*                   users:(("sshd",pid=817,fd=3))

```

ポート 9999 が待ち受けている状態



## QuickFIXの接続先設定確認
設定確認 - 接続先がローカルの 9999 であること

```bash:
tradeclient]$ tail tradeclient.cfg

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


## 実行

```bash:
tradeclient]$ ./tradeclient tradeclient.cfg
------ 2017/04/13 15:54:01.673 --------
quit) Quit
Action:
Logon - FIX.4.4:CAXDemo_Account_Trd->CNX
<h> TradingSessionStatus:
<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[20170413-15:54:02.374]]></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[065]]></field>
  </trailer>
</message>
<h> TradingSessionStatus: OPEN

```

ちゃんと接続して <h> TradingSessionStatus の OPEN が返ってきてます
まず一つ

```bash:
IN: 8=FIX.4.49=8035=h34=249=CNX52=20170413-15:54:02.37456=CAXDemo_Account_Trd336=0340=210=065

Logon - FIX.4.4:CAXDemo_Account_Str->CNX
<h> TradingSessionStatus:
<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[20170413-15:54:02.400]]></field>
    <field number="56"><![CDATA[CAXDemo_Account_Str]]></field>
  </header>
  <body>
    <field number="336"><![CDATA[0]]></field>
    <field number="340"><![CDATA[2]]></field>
  </body>
  <trailer>
    <field number="10"><![CDATA[070]]></field>
  </trailer>
</message>
<h> TradingSessionStatus: OPEN

```

そしてもう一つ OPEN を受信
２つ受信したので自動的に 通貨ペア取得に行きます


```bash:
OUT: 8=FIX.4.49=10935=x34=249=CAXDemo_Account_Trd52=20170413-15:54:02.53056=CNX320=SecListReq_20170413-155402.530559=010=068
<x> SecurityListRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[109]]></field>
    <field number="35"><![CDATA[x]]></field>
    <field number="34"><![CDATA[2]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Trd]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.530]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
    <field number="320"><![CDATA[SecListReq_20170413-155402.530]]></field>
    <field number="559"><![CDATA[0]]></field>
  </body>
  <trailer>
    <field number="10"><![CDATA[068]]></field>
  </trailer>
</message>

IN: 8=FIX.4.49=8035=h34=249=CNX52=20170413-15:54:02.40056=CAXDemo_Account_Str336=0340=210=070

```

ちゃんと <x> SecurityListRequest を送ってます
送ったら <y> SecurityList が返ってきました

```bash:
<y> SecurityList:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[939]]></field>
    <field number="35"><![CDATA[y]]></field>
    <field number="34"><![CDATA[3]]></field>
    <field number="49"><![CDATA[CNX]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.662]]></field>
    <field number="56"><![CDATA[CAXDemo_Account_Trd]]></field>
  </header>
  <body>
    <field number="146"><![CDATA[19]]></field>
    <field number="320"><![CDATA[SecListReq_20170413-155402.530]]></field>
    <field number="322"><![CDATA[1]]></field>
    <field number="560"><![CDATA[0]]></field>
    <group>
      <field number="55"><![CDATA[USD/JPY]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[AUD/CHF]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[USD/CHF]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[AUD/USD]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[EUR/CHF]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[EUR/AUD]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[EUR/GBP]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[EUR/JPY]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[EUR/USD]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[GBP/USD]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[ZAR/JPY]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[NZD/USD]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[GBP/CHF]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[CHF/JPY]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[CAD/CHF]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[4]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[GBP/JPY]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[AUD/JPY]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[CAD/JPY]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
    </group>
    <group>
      <field number="55"><![CDATA[NZD/JPY]]></field>
      <field number="870"><![CDATA[2]]></field>
      <group>
        <field number="871"><![CDATA[18]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
      <group>
        <field number="871"><![CDATA[16]]></field>
        <field number="872"><![CDATA[2]]></field>
      </group>
    </group>
  </body>
  <trailer>
    <field number="10"><![CDATA[131]]></field>
  </trailer>
</message>

```

通貨ペア毎にまだ作ってない <V> MarketDataRequest の空メッセージをおくっちゃってます
以下はゴミ

```bash:
OUT: 8=FIX.4.49=6835=V34=249=CAXDemo_Account_Str52=20170413-15:54:02.87156=CNX10=053
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[68]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[2]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.871]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[053]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6835=V34=349=CAXDemo_Account_Str52=20170413-15:54:02.88456=CNX10=058
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[68]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[3]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.884]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[058]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6835=V34=449=CAXDemo_Account_Str52=20170413-15:54:02.89656=CNX10=062
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[68]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[4]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.896]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[062]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6835=V34=549=CAXDemo_Account_Str52=20170413-15:54:02.90756=CNX10=056
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[68]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[5]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.907]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[056]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6835=V34=649=CAXDemo_Account_Str52=20170413-15:54:02.91956=CNX10=060
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[68]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[6]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.919]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[060]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6835=V34=749=CAXDemo_Account_Str52=20170413-15:54:02.92756=CNX10=060
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[68]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[7]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.927]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[060]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6835=V34=849=CAXDemo_Account_Str52=20170413-15:54:02.94056=CNX10=056
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[68]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[8]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.940]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[056]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6835=V34=949=CAXDemo_Account_Str52=20170413-15:54:02.95156=CNX10=059
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[68]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[9]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.951]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[059]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=1049=CAXDemo_Account_Str52=20170413-15:54:02.96056=CNX10=100
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[10]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.960]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[100]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=1149=CAXDemo_Account_Str52=20170413-15:54:02.97256=CNX10=104
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[11]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.972]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[104]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=1249=CAXDemo_Account_Str52=20170413-15:54:02.98256=CNX10=106
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[12]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.982]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[106]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=1349=CAXDemo_Account_Str52=20170413-15:54:02.99556=CNX10=111
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[13]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:02.995]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[111]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=1449=CAXDemo_Account_Str52=20170413-15:54:03.00856=CNX10=098
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[14]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:03.008]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[098]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=1549=CAXDemo_Account_Str52=20170413-15:54:03.02056=CNX10=093
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[15]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:03.020]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[093]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=1649=CAXDemo_Account_Str52=20170413-15:54:03.03356=CNX10=098
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[16]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:03.033]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[098]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=1749=CAXDemo_Account_Str52=20170413-15:54:03.04356=CNX10=100
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[17]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:03.043]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[100]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=1849=CAXDemo_Account_Str52=20170413-15:54:03.05656=CNX10=105
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[18]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:03.056]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[105]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=1949=CAXDemo_Account_Str52=20170413-15:54:03.06856=CNX10=109
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[19]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:03.068]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[109]]></field>
  </trailer>
</message>

OUT: 8=FIX.4.49=6935=V34=2049=CAXDemo_Account_Str52=20170413-15:54:03.07756=CNX10=101
<V> MarketDataRequest:
<message>
  <header>
    <field number="8"><![CDATA[FIX.4.4]]></field>
    <field number="9"><![CDATA[69]]></field>
    <field number="35"><![CDATA[V]]></field>
    <field number="34"><![CDATA[20]]></field>
    <field number="49"><![CDATA[CAXDemo_Account_Str]]></field>
    <field number="52"><![CDATA[20170413-15:54:03.077]]></field>
    <field number="56"><![CDATA[CNX]]></field>
  </header>
  <body>
  </body>
  <trailer>
    <field number="10"><![CDATA[101]]></field>
  </trailer>
</message>

IN: 8=FIX.4.49=93935=y34=349=CNX52=20170413-15:54:02.66256=CAXDemo_Account_Trd146=1955=USD/JPY870=2871=18872=2871=16872=255=AUD/CHF870=2871=18872=4871=16872=455=USD/CHF870=2871=18872=4871=16872=455=AUD/USD870=2871=18872=4871=16872=455=EUR/CHF870=2871=18872=4871=16872=455=EUR/AUD870=2871=18872=4871=16872=455=EUR/GBP870=2871=18872=4871=16872=455=EUR/JPY870=2871=18872=2871=16872=255=EUR/USD870=2871=18872=4871=16872=455=GBP/USD870=2871=18872=4871=16872=455=ZAR/JPY870=2871=18872=2871=16872=255=NZD/USD870=2871=18872=4871=16872=455=GBP/CHF870=2871=18872=4871=16872=455=CHF/JPY870=2871=18872=2871=16872=255=CAD/CHF870=2871=18872=4871=16872=455=GBP/JPY870=2871=18872=2871=16872=255=AUD/JPY870=2871=18872=2871=16872=255=CAD/JPY870=2871=18872=2871=16872=255=NZD/JPY870=2871=18872=2871=16872=2320=SecListReq_20170413-155402.530322=1560=010=131

quit

Logout - FIX.4.4:CAXDemo_Account_Trd->CNX

Logout - FIX.4.4:CAXDemo_Account_Str->CNX


```

通信確認ができたので quit で切断




---

＜前 [【QuickFIX】09 通貨ペア取得 <y> SecurityList](https://qiita.com/nobu-maple/items/66feda02d9a717bd31b9)
次＞ [【QuickFIX】11 ログ出力設定](https://qiita.com/nobu-maple/items/828d3859ebf2ab2237f8)

---
# 一覧
[01 サンプルのコンパイル](https://qiita.com/nobu-maple/items/051188f21efc59429808)
[02 ログイン時にPassword(554)を送信](https://qiita.com/nobu-maple/items/649f1fd2525523f12064)
[03 送受信ログをMySQLに保存](https://qiita.com/nobu-maple/items/cc943f0c1028f21161c0)
[04 情報保存用にMySQLコネクションを保持..他](https://qiita.com/nobu-maple/items/cfe505ad984e16d46af9)
[05 各種メッセージの枠を作成](https://qiita.com/nobu-maple/items/770d8da8c50c4f5a5a54)
[06 独自メッセージ仕様](https://qiita.com/nobu-maple/items/580815f3c304d96bde31)
[07 セッション開始 <h> TradingSessionStatus](https://qiita.com/nobu-maple/items/98369bad8351cb662740)
[08 通貨ペア要求 <x> SecurityListRequest](https://qiita.com/nobu-maple/items/ba0fb7175c378bc4c608)
[09 通貨ペア取得 <y> SecurityList](https://qiita.com/nobu-maple/items/66feda02d9a717bd31b9)
[10 デモ環境サーバへ接続](https://qiita.com/nobu-maple/items/52de92892a03f59c7368)
[11 ログ出力設定](https://qiita.com/nobu-maple/items/828d3859ebf2ab2237f8)
[12 マーケット情報要求 < V > MarketDataRequest](https://qiita.com/nobu-maple/items/1c4f2d27cabde8eff713)
[13 マーケット情報受信 < X > MarketDataIncrementalRefresh](https://qiita.com/nobu-maple/items/eb7855841000eb2b0f04)
[14 口座情報要求 < AN > RequestForPositions](https://qiita.com/nobu-maple/items/30c286f8dbf1e9b0e173)
[15 口座情報取得 < AZ > CollateralResponse](https://qiita.com/nobu-maple/items/a16e3c787ef5e83f3971)

---