2004-08-09(月) 晴 安静時心拍数 46 [長年日記]
_ portupgrade ftp/downloader graphics/imlib2 sysutils/portdowngrade
downloader-2.4.1_4 < needs updating (port has 2.5.0) imlib2-1.1.0 < needs updating (port has 1.1.1) portdowngrade-0.4 < needs updating (port has 0.5)
_ Protra Project
トレーディングシステムのソフトウェアをたまたま発見しました。C# で書かれていたり、データベースに M$ Access 2000 互換の mdb ファイルを使っているのが冴えないところですが、使ってみると結構面白いです。
試しに SD 誌の 2003 年 5 月号の p.143 - p.145 を参考にして 3 点チャージ投資法のシステムプログラムを作ってみました。
#include <TIlib>
if ! $Diff
$Diff = Diff_MA_new(26)
else
Diff_MA_next($Diff)
end
if ! $VR
$VR = VR_new(25, 0)
else
VR_next($VR)
end
if ! $RSI
$RSI = RSI_new(14, 0)
else
RSI_next($RSI)
end
def BuyCond
if ! Close
return
end
diff = Diff_MA_value($Diff)
vr = VR_value($VR)
rsi = RSI_value($RSI)
if ! (diff && vr && rsi)
return
end
return diff <= -15 && vr <= 70 && rsi <= 25
end
def SellCond
if ! Close
return
end
diff = Diff_MA_value($Diff)
vr = VR_value($VR)
rsi = RSI_value($RSI)
if ! (diff && vr && rsi)
return
end
return Close >= 1.10*$buy || Close <= 0.85*$buy
// 利食い // 損切り
end
def Num(price)
num = 1000000/price // 軍資金 100 万円で何株?
if num >= 1000
num = (num/1000)*1000
elsif num >= 100
num = (num/100)*100
elsif num == 0
num = 1
end
return num
end
if ! $hold && BuyCond
$hold = Num(Close)
$buy = Close
Buy(Close, $hold)
elsif $hold && SellCond
Sell(Close, $hold)
$hold = 0
end
そこそこのパフォーマンスが出るようです。とりあえず作ってみただけなので問題点が結構あります。買いサインがいっぱい出ちゃうと何百万円も資金がないといけなかったり投資資金がいっぱいあるのに百万円しか投資できなかったり。。。何れにせよ自己責任でお願いいたします。
[ツッコミを入れる]
UMLプレス―オブジェクト指向するための情報誌 (Vol.3)