ブック「EXCEL-TRADING」の中の初期状態に書き込まれているプロシージャの中では、どのような作業が行われているのか、早見表として記しておきます。ツールを自作する際など、この早見表を見てステートメントをコピー&ペーストすると作るのが楽になると思います。
Optimize
1.検証結果をシート「最適化」に貼り付ける。
2.計算結果をグラフ化する。
3.最適な結果を返している変数を取得する
4.最適な結果を返している変数を評価シートに書き込む。
Optimize_contour
1.検証結果をシート「等高線」に貼り付ける。
2.「GET_Optm_Number」を呼び出す
3.等高線グラフを描く
GET_Optm_Number
1.検証結果の中で、最も大きな値が返っているパラメーターを取得する。
2.変数a、変数bのそれぞれ最も良かったパラメーターを「評価シート」に書き込む。
各種ENTRYとEXIT
各種エントリールール、イグジットルールを書き込むマクロ (プロシージャ名はENTRY、EXITで始まります)
1.検証シートにエントリールールを書き込む。
2.価格データが入っている最終行より下の行を削除する。
3.評価シート内の初期値、ルール名などを書き換える。
SheetAdjust_test
1.検証シート内に書き込まれているワークシート関数を21行目からオートフィルにより、価格データの入っている最終行までコピーする(エントリールールの一部の列を除く)。
2.「検証シート」内の 価格データが入っている最終行より下の行を削除する。
SheetAdjust_paformance
1.評価シート内のパフォーマンス評価セルの参照位置を65356行目まで拡大する。
2.もし、マネーマネジメントルールにより、一部の評価セルのワークシート関数を書き換える。
3.価格データが入っている最終行より下の行を削除する(これにより、パフォーマンス評価セルの参照位置が、価格データの最終行までとなる)。
Draw_Equitycurve
1.資産曲線のデータが書き込まれている範囲を取得する。
2.グラフの種類、レイアウト、表示位置などを指定しグラフを描く。
Draw_MonthlyNetProfit
1.曲線のデータが書き込まれている範囲を取得する。
2.グラフの種類、レイアウト、表示位置などを指定する。
Draw_Drawdown
1.ドローダウンのデータが書き込まれている範囲を取得する。
2.グラフの種類、レイアウト、表示位置などを指定する。
Money_Mng_ATR
1.評価シート内にテキスト、初期値を書き込む。
2.検証シート内にマネーマネジメントルールのワークシート関数を書き込む。
Money_Mng_single
1.シート内にテキスト、初期値を書き込む。
2.シート内にマネーマネジメントルールのワークシート関数を書き込む。
COPY_DATA_DATABOOK
1.ブック「databook」を開く
2.インプットボックスから取り込むデータの入っているシート名を指定する
3.価格データを検証シートにコピーする
複数データを連続的に検証
1.ブック「databook」を開く。
2.「連続検証」というプロシージャを呼び出し、変数「datasheet」を渡す
連続検証
1.「複数データを連続的に検証」から渡された変数に基づき、ブック「databook」から価格データを「検証シート」へコピーする。
2.貼り付けたデータより下の行は全て削除する。
3.ブック「Excel-TRADING」内にグラフシートが存在すれば全て削除する。
4.検証したいストラテジーをサブルーチンとして呼び出す。
5.「SheetAdjust_test」、「SheetAdjust_paformance」、「Optimize_contour」、「Draw_Equitycurve」、「REPORT_PAFORMANCE」をサブルーチンとして順番に実行する。
6.検証したシートを一時ファイルにコピーする。
7.一時ファイルに名前を付けてブックを保存する。
8.名前を付けたブックを閉じる。
複数戦略を連続的に検証
1.ブック「databook」を開く
2.「EXCEL-TRADING」ブック上にグラフシートがあれば削除する
3.評価シート上に埋め込みグラフがあれば削除する
4.For nextで指定している値によって、ストラテジーを指定し、指定したストラテジーをサブルーチンで呼び出す。
5.「SheetAdjust_test」、「SheetAdjust_paformance」、「Optimize_contour」、「Draw_Equitycurve」、「REPORT_PAFORMANCE」をサブルーチンとして順番に実行する。
REPORT_PAFORMANCE
1.ブック「レポート」を開く
2.「検証シート」内のパフォーマンス評価セルをコピーする。
3.ブック「レポート」にコピーする
4.ブック「レポート」をセーブして、保存する。
ウォークフォワードテスト
1.「databook」を開く
2.インプットボックスからテストを行うデータの入ったシート名を入力する
3.価格データの情報を「databook」から「評価シート」に書き込む
4.データブック内に入っている価格データの行数から、ウォークフォワード用の期間算出の準備を行う。
5.テストにおける最適化のデータ範囲を選択して、検証シートにコピーする。
6.ウォークフォワードテストを行うシステムのストラテジーを書き込む。
7.「SheetAdjust_test」、「SheetAdjust_paformance」、「Optimize_contour」をサブルーチンとして順番に実行する(最適化がおこなわれる)。
8.最適化の結果をシート「ウォークフォワードテスト」に書き込む
9.テストにおけるフォワードテストのデータ範囲を選択て、検証シートにコピーする。
10.フォワードテストの結果をシート「ウォークフォワードテスト」に書き込む。