2012年9月2日日曜日

ERROR -- : SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

「jii」を起動したら、ログに以下のエラーメッセージが出力されていた。

E, [2012-09-01T23:42:39.771973 #220] ERROR -- : SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

上記のエラーは、証券サイトにHTTPS通信でアクセスした際、サーバ証明書の検証で失敗していることが原因である。
以下の手順で、ルートCA証明書を設定する。

①以下のサイトからcacert.penをダウンロードし、任意のディレクトリに格納する。

http://curl.haxx.se/ca/cacert.pem

②DOSプロンプトを起動し、以下のようにSSL_CERT_FILE環境変数でpemのパスを設定する。

c:\Ruby187\lib\ruby\gems\1.8\gems\jiji-1.2.8\lib\jiji>set SSL_CERT_FILE=C:\Ruby187\lib\ruby\gems\1.8\gems\jiji-1.2.8\cacert.pem

③jijiを再起動する。ログを確認し、正常に動作することを確認する。


# Logfile created on Sun Sep 02 12:11:00 +0900 2012 by logger.rb/1.2.6
I, [2012-09-02T12:11:00.803463 #6808]  INFO -- : collector start
I, [2012-09-02T12:11:02.437556 #6808]  INFO -- : collector finished


2012年9月1日土曜日

フリーな自動売買FXシステム 「jiji」

Rubyで書かれている自動売買FXシステムで「jiji」というものがあり、フリーということなので早速インストールしてみる。

■前提
・OSはWindows 7。
・Ruby 1.8.*系をインストール済みであること。

■設定手順
①DOSコマンドプロンプト上から、以下のgemコマンドを実行する。

C:\Users\yasu-bushi>gem sources -a http://gems.github.com
C:\Users\yasu-bushi>gem install gemcutter
C:\Users\yasu-bushi>gem install tumble
C:\Users\yasu-bushi>gem install jiji --no-ri --no-rdoc

②jijiコマンドを実行し、証券会社のID/PWを入力する。
 現状、以下の3つの証券会社をサポートしている。
  ・クリック証券
  ・クリック証券(デモ)
  ・SBI証券

C:\Users\yasu-bushi>jiji setting
> Please select a securities.
    1 : CLICK Securities
    2 : CLICK Securities DEMO
    3 : SBI Securities
2
> Please input a user name of CLICK Securities DEMO.
********
> Please input a password of CLICK Securities DEMO.
*********
> Please input a proxy. example: http://example.com:80 (default: nil )
> Please input a data directory of jiji. (default: ~/.jiji )
> Please input a server port. (default: 7000 )

create. C:/Users/yasu-bushi/.jiji/base
create. C:/Users/yasu-bushi/.jiji/agents/moving_average_agent.rb
create. C:/Users/yasu-bushi/.jiji/shared_lib/moving_average.rb
create. C:/Users/yasu-bushi/.jiji/shared_lib/system/cross.rb
create. C:/Users/yasu-bushi/.jiji/shared_lib/system/position_manager.rb
create. C:/Users/yasu-bushi/.jiji/shared_lib/system/signal.rb
Setting was completed!

③jijiを起動する。

C:\Users\yasu-bushi>jiji start
jiji started.

④「http://localhost:7000/」にアクセスする。
(初回起動時はチャートが表示されず、レート情報を収集後に表示される模様です)