スポンサーサイト

--------

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

JForex ストラテジープログラムのはじめ方その1

2011-01-21

突然このブログの訪問者が増えたと思ったら、とあるMetaTraderの備忘録のfaiさんからリンクをしていただいたようです。多謝。
(faiさん、fc2のIDにメッセージを送ったので良かったらご覧ください。)


さて、予定どおり(?)JForexの「はじめ方」を書きたいと思います。

1回目の今回はJForexの説明から、自動生成されるスケルトン(プログラムの骨組み)の内容説明まで。


JForexとは、Dukasucopy社(スイス)が提供するトレーディングプラットフォームです。日本ではkakakuFXに口座を開くことで利用が出来ます。

Javaでストラテジー(EA相当)やインディケータを記述することが出来ます。
ECNやらMQLをJava変換するツールがついていたりと特徴がありますが、ストラテジー作成が目的なのであとは自身でどうか勝手に調べてください(汗


ということで、話が飛んで、
JForexのデモを開設し、このページからプラットフォームを立ち上げた状態
から話を始めますw


早速画面の左下の「WokrSpace」内の「ストラテジー」を右クリックし、「新しいストラテジー」を開きます


JForex1


すると、下図のようにJavaのスケルトンコードが出来ます。


JForex2


で、今日の本題。どこに何を書けばどう動くか。


まず、1-6行目は写っていませんが、使いたいパッケージのクラスをインポートしています。
書いていることの意味が分からなければとりあえずおまじないとして放置してください。

7-38行目の

Public Class ストラテジー名 implements Istrategy {
 //ここにすべてを書く
}

この{}の中にとりあえずはやりたいこと全部書きます。
8-13行目もとりあえずおまじないです。
そして、実際以下の6つ内容が{}内に元々、入っています(「メソッド」といいます)。

1.public void onStart(IContext context) throws JFException
2.public void onAccount(IAccount account) throws JFException
3.public void onMessage(IMessage message) throws JFException
4.public void onStop() throws JFException
5.public void onTick(Instrument instrument, ITick tick) throws JFException
6.public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException


まず、throws JFException はJForexのエラーを処理してくれるおまじないと思ってください。

1の{}内にはストラテジーをスタートしたときのみに行いたい処理を記述します。
2の{}内には口座情報に変化があったときに行いたい処理を記述します。
3の{}内にはメッセージを受け取ったときに行いたい処理を記述します。
4の{}内にはストラテジーを終了するときに行いたい処理を記述します。
5の{}内にはティックを刻むときにしたい処理を記述します。
6の{}内には足(日足、1時間足、15分足など)が完成したときに行いたい処理を記述します



一番使うのは
5と6だと思います。

次に、
1のストラテジースタート時、4のストラテジー終了時
をよく使います。



例えばスキャルのストラテジーでティックが動くたびに何かしたい場合は、5の{}内にその処理を書くことになります。

ちなみに、ここでのティックとは、プラットフォームの左下の「ワークスペース」内の「銘柄」すべてのティックに反応します(はずです)。(なので、不要な銘柄を閉じるか、どの銘柄のティックが動いたかを判定するプログラムを書く必要があります。)



1分足の終値でスキャルをする場合や30分足の終値でMACDのクロスを判定して取引したい場合は6に処理を書くことになります。


またストラテジーのスタート時に残高に応じてロットを変えるには1に、ストラテジーの終了時にすべてのポジションを閉じる処理は4に書きます。






ちなみに、ファイル名は保存時にストラテジー名(=「クラス」名)と一致する必要があります。


次回があれば、何か具体的なプログラムを書いてみたいと思います。


実際は、JForex付属のエディタは補完機能が無いのでEclipseなどに移して開発しても良いと思われます。(次か次の次かどっかで方法は書きます)



テーマ : FXでシステムトレード
ジャンル : 株式・投資・マネー

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。