clickclient 決済・取引数・勝率を表示するスクリプト

id:unageanuさん作成のclickclientを使ったツールをちょこちょこ公開していきます。Metatrader4も平行して触っていきますが。下記はclick証券の決済情報と勝率をhtml化するスクリプトです。convert_currency_pair_codeもid:unageanuさん作です。

#!/usr/bin/ruby
#
#=クリック証券(デモ取引)に接続し、当日の決済情報と勝率表示するスクリプト
#
#==使い方
# ./get-kessai.rb 
#
require "rubygems"
require "clickclient"
require "date"

USER = 'XXXXXXXX'
PASS = 'XXXXXXXX'

def convert_currency_pair_code(code)
  case code
    when ClickClient::FX::USDJPY
      return :USDJPY
    when ClickClient::FX::EURJPY
      return :EURJPY
    when ClickClient::FX::GBPJPY
      return :GBPJPY
    when ClickClient::FX::AUDJPY
      return :AUDJPY
    when ClickClient::FX::NZDJPY
      return :NZDJPY
    when ClickClient::FX::CADJPY
      return :CADJPY
    when ClickClient::FX::CHFJPY
      return :CHFJPY
    when ClickClient::FX::ZARJPY
      return :ZARJPY
    when ClickClient::FX::EURUSD
      return :EURUSD
    when ClickClient::FX::GBPUSD
      return :GBPUSD
    when ClickClient::FX::AUDUSD
      return :AUDUSD
    when ClickClient::FX::EURCHF
      return :EURCHF
    when ClickClient::FX::GBPCHF
      return :GBPCHF
    when ClickClient::FX::USDCHF
      return :USDCHF
  end
end


print "<html>\n"
print "<head><title>kessai.rb</title></head>\n"
print "<body>\n"

d = DateTime.now

print "<table border=1>\n"
print "<tr><th>通貨ペア</th><th>決済日時</th><th>建玉rate</th><th>決済rate</th><th>損益</th></tr>\n"

client = ClickClient::Client.new

# 接続先ホストをデモ取引用ホストに切り替える。
client.host_name = "https://fx-demo.click-sec.com"

getmoney = 0
kcount = 0
wincount = 0
failcount = 0

client.fx_session(USER, PASS){|fx|
  list = fx.list_execution_results(Date.new(d.year,d.month,d.day),Date.new(d.year,d.month,d.day),1)
   list.each() { |item|
    getmoney = getmoney + item.kessaiSoneki.to_i

    if item.kessaiSoneki.to_i > 0
      wincount = wincount + 1
    else
      failcount = failcount + 1
    end

    code = convert_currency_pair_code item.currency_pair_code
    
kcount = kcount + 1
    print "<tr><td>#{code}</td><td>#{item.yakujoNichiji}</td><td>#{item.tategyokuRate}</td><td>#{item.yakujoRate}<td>#{item.kessaiSoneki}</td></tr>\n"
   }
}
print "</table>\n"

shouritsu = wincount.to_f / kcount.to_f * 100

  print "<table border=1>\n"
  print "<br>\n"
  print "<tr><th>項目</th><th>値</th></tr>\n"
  print "<tr><td>総取引回数</td><td>#{kcount}回</td></tr>\n"
  print "<tr><td>収支</td><td>#{getmoney} 円</td></tr>\n"
  print "<tr><td>勝ち</td><td>#{wincount}回</td></tr>\n"
  print "<tr><td>負け</td><td> #{failcount}回</td></tr>\n"
  print "<tr><td>勝率</td><td>#{shouritsu} パーセント</td></tr>\n"
  print "</table>\n"
  print "</table>\n"
  print "</body>\n"
  print "</html>\n"