人類みんなごくつぶし

2004-10-21

[][]Eclipse Trader 21:19

http://eclipsetrader.sourceforge.net/

(via http://d.hatena.ne.jp/sakamoto_yuki/20041020#p1)

Eclipse RCPの株チャートツール。

やっぱりこういうの来ましたか。

メモリーがメモリーに浮かんだ 21:31

非常にどうでもいいことですが、

帰宅電車を降りてコンビニに立ち寄ったあと、

ふとこんな曲が頭に浮かんだ。

スーツケースにすべてつめこんで

気が変わらないうちにここを離れるよ

なんだったかなー、と帰ってから調べて見ると、

はるか昔のボーイのMEMORYちゅう曲でした。


しかし、なぜ?

どこかで耳にするはずもない曲が頭に浮かんでくるのか?

シナプスマジック

別に昔好きだった曲でも印象に深かった曲でもないのに。

これはなんだろう?

売りサインだろうか?

[][]Maven Eclipseプラグインのプロパティー 22:03

http://maven.apache.org/reference/plugins/eclipse/properties.html

MavenプロジェクトからEclipseプロジェクトファイル(.project、.classpath)を作成するプラグイン

よく見たらいろいろ設定できるらしい。


一番使いそうなのがこれ。

maven.eclipse.classpath.include=src/conf

とか書くと、src/confもクラスパスに追加する。

ただ、適当フォルダ(src/hogeとか)を追加すると、

Eclipse上ではビルドできても、Mavenからビルドできない(src/hogeがコンパイル対象にならない)

という事態に陥るので、他のMavenプラグインの挙動を考えて使う必要がありそう。


あとは、

maven.eclipse.projectnatures=com.sysdeo.eclipse.tomcat.tomcatnature

とかしておくと、SysdeoのTomcatプロジェクトになる。

といっても.projectのnatureに追加されるだけなので

.tomcatpluginファイル(プロジェクト直下に置くTomcatプラグインの設定ファイル

とかは別途追加する必要がある。

(自分のテンプレートに含めとけばまあいいかな)

[][]MavenのTemplate 22:13

http://izu.shinzui.org/space/Maven/Creating+Template


みっちーに教えてもらって気づいたけど、strutsとかあったんですな。。。

xdocletとかcactusとかいらんが。。。

[]持株・資産 メモをとる 22:38

http://kaburobo.jp/howto/makerobot.html#3

所有株の情報などはPortfolioクラスを利用する。

また、カブロボインスタンスは日ごとにnewされるので、

フィールドに値を置いておいても次の日はクリアされている。

なので、何か記憶しておきたいときは、メモをとる。

public class Robot1 implements Robot{

    public void run(InvestmentAgent agent) {
        
        Portfolio portfolio = agent.getPortfolio();
        
        String lastMemo = portfolio.getMemo();
        System.out.println(lastMemo);
        
        portfolio.setMemo("aaa");
    }    
}

わたせる値はString。この際Serializableをわたせてもいい気もするが。。。

記憶容量のルールの問題かな?


http://kaburobo.jp/faq/index.html#107

大会に預ける場合、プログラムは展開した状態で、3MB以内です。 記憶領域は、テキストで100KBまで持つことができます。 他に1日の稼動(処理)時間の制約などもあります。 プログラミング規約を確認してください。

staticフィールドに保持するのはご法度なのだろうか?

[]持株・資産2 所持金、所有株 22:51

Portfolioクラスから所持金や所有株が取得できる。

Portfolio portfolio = agent.getPortfolio();

System.out.println(
        "avalilableMoney=" + portfolio.getAvailableMoney()
        + ",money=" + portfolio.getMoney()
);


Iterator iter = portfolio.getHoldings().values().iterator();
while(iter.hasNext()){
    Holding hold = (Holding)iter.next();
    System.out.println(
        "stock=" + hold.getStock()
        + ",price=" + hold.getPrice()
        + ",number=" + hold.getNumber()
    );
}

getAvailableMoney()の方は新規売買可能金額で、

getMoney()は空売りロックかかってる分も含んだ単純な金額を返す。


getHoldings()はキーがStockで値がHoldingのMapを返す。

単純に持ち株を操作したいときは、上のようにMap#values()を使うと簡単。

Holding#getStock()で株情報も取得できる。

[]持株・資産3 総資産 23:08

持ち株と所持金を合計してもいいが、単純に総資産を調べたいときは

OrderHistoryクラスが利用できる。

OrderHistory[] histories = agent.getOrderHistory();
if(histories.length > 0){
    OrderHistory history = histories[histories.length-1];//直近
    System.out.println(
            "date=" + history.getDate().getTime()
            + ",amount(評価額)=" + history.getAmount()
            + ",money=" + history.getMoney()
    );
}

[]持株・資産4 注文履歴 23:24

注文履歴はOrderResultから。

この注文履歴は前日の履歴でなく、これまでの全履歴。

getNumber()は買いの結果ならプラス、売りならマイナスとなる。

引数にCalendarを指定すると指定した日の注文履歴がかえる。

List list = agent.getOrderResult();
for(int i=0; i<list.size(); i++){
    OrderResult result = (OrderResult)list.get(i);
    System.out.println(
            "date=" + result.getDate().getTime()
            + ",code=" + result.getStockCode()
            + ",price" + result.getSuccessPrice()
            + ",number=" + result.getNumber()
    );
}

返り値Listなのと配列なのどっちかにしてほしかったなー

(というか利用者からすると配列にして欲しかったなー。

JavaDocがパーフェクトじゃないので、Listに何が入っているかイチイチ確認せにゃならんぽ)。

unibonunibon 2004/10/21 21:48 エルピーダメモリ(6665)、買いだな。
http://www.tse.or.jp/listing/new/200411/11elpidamemory.html

muimymuimy 2004/10/21 22:10 名前にメモリがつく会社があったとは。。。第6感戦術で、ブックビルディングチャレンジしてみるか!?

トラックバック - http://d.hatena.ne.jp/muimy/20041021