2010年5月17日 星期一

perl程式 - 取出今天K線匯入TS

目的:為了即時補上斷線後的資料, 再匯入策略軟體(TS), 將看盤軟體匯出的一分K線, 只取出今天的K線, 且去除不完整的最後一筆(時間沒到)。

輸入 - C:\tmp\1.csv
輸出 - C:\tickhist\txf.csv

再配合 autoit 或 AutoHotKey , 就可以按一下自動補上今日K線資料

today1k.pl 程式


#!C:\Perl\bin\perl.exe

# 取出今天的K線, 去除最後一筆

# 輸入一分K線檔 - C:\tmp\1.csv
# 輸出一分K線檔 - C:\tickhist\txf.csv

use POSIX qw(strftime);
use integer;

$src_k1m = 'C:\\tmp\\1.csv'; # 1mk source file
$tmpfile = 'C:\\tickhist\\tmp001.csv'; # tmp file
$tar_k1m = 'C:\\tickhist\\txf.csv'; # 1mk target file

$today = strftime "%Y/%m/%d", localtime;

print "Process $today Today 1 Minute K To : $tar_k1m.\n";


open(infile, $src_k1m) || die("Cannot open $src_k1m.\n");
open(tempfile, ">$tmpfile");

$rec_no=0;
;

while(my $k1m_record = )
{
chomp $k1m_record;
# $k1m_record =~ s/ //g;
# ($kDate, $kTime, $kOpen, $kHigh, $kLow, $kClose, $kVol)=split(/, / , $k1m_record);
($kDateTime, $kOpen, $kHigh, $kLow, $kClose, $kVol)=split(/,/ , $k1m_record);
($kDate, $kTime)=split(/ / , $kDateTime);

if ($kDate eq $today ){
print tempfile "$kDate,$kTime,$kOpen,$kHigh,$kLow,$kClose,$kVol\n";
$rec_no = $rec_no + 1;
}
}

close(tempfile);
close(infile);

open(tmp_file, $tmpfile) || die("Cannot open $tmpfile.\n");
open(outfile, ">$tar_k1m");

print outfile "Date,Time,Open,High,Low,Close,Vol\n";

for ( $i=1; $i<$rec_no; $i++ ) {
my $tmp_record = ;
print outfile $tmp_record;

# print "$i\n";
}

close(tmp_file);
close(outfile);

# 刪除暫存檔
unlink $tmpfile;



註:
1.其時用附屬工具 grep 來做會更精簡。
2.看盤軟體"康和全都賺"匯出一分K, 會有將近三個月的K線資料。

---

linux 版的 TeamViewer

2010-05-18

TeamViewer 終於有 linux 版了

在金融業使用最多的遠端連線軟體 TeamViewer , 最近出了 linux 版, 這是一個好用的軟體, 現在在 linux 及 mac 下也可以安裝了 , 不必用wine來安裝使用。

http://www.teamviewer.com/ 提供的 linux 版本
  • .deb(debian/ubuntu)
  • .rpm(Red Hat, Fedora, Suse, Mandriva)
  • .tar.gz
下載位置 http://www.teamviewer.com/download/


在 Arch Linux 官方套件 - Arch Linux TeamViewer

---

聯絡表單

名稱

以電子郵件傳送 *

訊息 *