さてやっと、具体的なルールの実装。
ちっとは株よりの話が出来るか。
実装するにあたり、心得が書かれている。
当たり前だが、現実的であること。
前日の高値を判断材料にすることは現実でも出来るけど、
当日の高値で売るとか、現実では出来ない。でもシミュレーション上は出来てしまう。
無意味な実装をしないように。とのこと。
あくまで、
現実的にシステムトレードを行う前提で、実装に取り組まなくては。
で、今回、
実装するのは、以下の6つ。
●移動平均乖離率による仕掛け
●移動平均乖離率による手仕舞い
●真の値幅の平均(ATR)による手仕舞い
●ストップによる手仕舞い
●真の値幅の平均(ATR)によるストップ
●移動平均の方向フィルター
一つ断りがあって、売りと買いは対象で。
非対称に売り買い別々に率とか設定出来ても問題無いですけど、
ちょっと複雑過ぎるので、この本の中では、シンプルに売り買い同じで。
子クラスを作るに、以下のガイドラインに従う。
1.initializeでは各種パラメーターをセットする
2.calculate_indicatorsメソッドでテクニカル指標を計算する
そういう想定で最初から作ってるので当然ですが、
個人的には、calculate_indicatorsでハッシュで引数渡すべきと思います。
Rubyだと汎化という概念希薄なので、アレですけど、
コンストラクタも含め共通化しとくと利点もありますけどね。
後で外部ファイル設定だけで変更できるとか。
ま、どうでもいいことですけど、気になってしまいます。
何はともあれ、
「移動平均乖離率による手仕舞い」の実装を明日から見てゆこう。
質問コーナー、お問い合わせは、sanpome.net@gmail.com まで。