トレードロボットを研究・開発しオープンソースソフトウェアとして公開!

/ トップページ / RobotTraderLibraryのダウンロード / テクニカル指標算出のサンプルJavaソース

テクニカル指標算出のサンプルJavaソース


RobotTraderLibraryを使って作成したテクニカル指標算出のサンプルJavaソースです。
※当サイトで公開しているRADツールのシグナルボックスエディタ(フリーソフト)を使えば取引ルールをGUIで組んでJavaのソースを生成することができます。

// 移動平均線算出の元となるソースラインを作成します。
SimpleLine nikkei225 = new SimpleLine();
nikkei225.addPoint(new IndexPoint(Tag.create(),12914.66));
nikkei225.addPoint(new IndexPoint(Tag.create(),13254.89));
nikkei225.addPoint(new IndexPoint(Tag.create(),13124.99));
// 3ポイントSMAを生成します。
SmaLine nikkei225sma = new SmaLine(3);
nikkei225sma.addPoint(nikkei225);
// 12914.66 + 13254.89 + 13124.99 / 3 = 13098.18が表示されます。
System.out.println("sma1:" + nikkei225sma.getLast().getValue());
// ソースラインへのポイント追加とSMAの算出をします。
nikkei225.addPoint(new IndexPoint(Tag.create(),13168.41));
nikkei225sma.addPoint(nikkei225);
// 13254.89 + 13124.99 + 13168.41 / 3 = 13182.76333..が表示されます。
System.out.println("sma2:" + nikkei225sma.getLast().getValue());

/*
* IndexLineクラスを継承したクラスであればSmaLineのソースラインに
* することができます。ですのでTrueRangeLineとSmaLineの組み合わせで
* ATRのラインを作成するなどいろいろな組み合わせで新たな指標を作成
* することができます。
*/

// ATRの例
SmaLine atr = new SmaLine(3);
TrueRangeLine tr = new TrueRangeLine();
CandleStickList c = new CandleStickList();
// ローソク足1本目を処理します。
c.addObject(new CandleStick(Tag.create(),13026.53,13259.73,12962.82,13168.41));
tr.addPoint(c);
atr.addPoint(tr);
// ローソク足2本目を処理します。
c.addObject(new CandleStick(Tag.create(),13257.99,13257.99,13034.15,13124.99));
tr.addPoint(c);
atr.addPoint(tr);
// ローソク足3本目を処理します。
c.addObject(new CandleStick(Tag.create(),13059.43,13295.51,13048.97,13254.89));
tr.addPoint(c);
atr.addPoint(tr);
// ローソク足4本目を処理します。
c.addObject(new CandleStick(Tag.create(),13059.43,13295.51,13048.97,13254.89));
tr.addPoint(c);
atr.addPoint(tr);
// ATRを表示します。
System.out.println("atr:" + atr.getLast().getValue());


Copyright (C) 2008 RobotBrain. All Rights Reserved  jp.robotbrain@gmail.com