エクセルVBAによるシステムトレードソフトの作り方

エクセルVBAを使ってトレードシステムを自動構築するツールを無料で配布しています。複数の相場データに対して複数の手法を連続的に自動で検証できます。FX、先物、個別株なんでも使えます。ファイルのダウンロードはこちらから。ファイルを使いこなすことで得られるメリットはこちらで解説してます。

2014年06月

Excel2007の場合、メニューバー →「表示」→「マクロ」→「マクロの表示」を選択すると、下の画面が出てきます。
同様にExcel2003では、「ツール」→「マクロ」でマクロの実行画面を出すことができます。
 
この画面内で実行するマクロを選択し、実行ボタンを押すことでマクロが実行されます。
 0625
基本的にこの方法で全てのマクロの実行が可能です。
 
※画像は、Windows vista、Excel2007の画面です。
 
それでは、それぞれのマクロの実行、マクロでの作業手順を追っていきましょう。
このエントリーをはてなブックマークに追加 mixiチェック Share on Tumblr Clip to Evernote

 ブック「databook」は、検証シートに流し込みたいと思う価格データをあらかじめコピーしておくブックです。
 例えば、プロシージャ「COPY_DATA_DATABOOK」では、このブックから「検証シート」に価格データを流し込むことができます。
 また、「databook」内のルールがありますので、ここで解説しておきます。

0623_4

1. シート名は、「data1」、「data5」といったように、半角で書き込むこと(数字のあとにスペースなどがあってはいけません。
2. セルA1からE2までの範囲はブランクもしくは、始値、高値、安値、終値などの説明だけにしておき、価格データは3行目から書き込むこと。
3. G列には、価格データに付随する情報を書き込んでおくこと。

※これらのルールが守られていない場合、プログラムが正常に動かないことがありますのでご注意ください。

G列に書き込むべきこと
以下に説明するデータは、マクロを用いて自動的に検証をかけていく際に必須となる情報になるので、各自で新しくデータシートを作る際には、厳守してください。
 
セルG1・・・価格データの名前

セルG2・・・ティックに関する情報(価格データの1ティックが1円なら0を、1ティックが10円なら-1を、1ティックが0.1円なら1を書き込んで下さい)
 
セルG3・・・倍率を書き込んでください。

セルG4・・・ポイントバリュー。つまり、倍率×ティックの値です。画面の例では、日経225先物のデータなので、ティックは10円、倍率は1000倍ですから、10×1000でポイントバリューは、10000となります。

セルG5・・・初期投資金額。マネーマネジメントルールがATRのときにのみ使用されます。システム検証開始時に、いくらでトレードが始まったと仮定する値です。

セルG6・・・リスク率。マネーマネジメントATRで使用されます。総資金に対し、何%のリスクをとるか指定してください。5%のリスクをとる場合、0.05ではなく、「5」と書き込んでください。

以上のルールを守って価格データを代入しておくと、マクロからそのデータを読み込み、検証を行わせることが可能になります。 
このエントリーをはてなブックマークに追加 mixiチェック Share on Tumblr Clip to Evernote

0623_3

変数エリア・・・セットアップやテクニカル指標算出用の値を書き込むセルをまとめておくエリアです。「検証シート」内で表現されているテクニカル指標は、このセルを絶対参照しており、最適化を行う際には、ここの値を書き換えて行います。
 
パフォーマンス評価エリア・・・「検証シート」内で検証されているシステムの損益を評価するエリアです。
解説エリア・・・「検証シート」内で検証されている売買ルール、価格データの名前を表示するエリアです。売買ルールを書き換えるマクロを実行すると、売買ルールの名前が書き換えられます。
 
グラフ表示エリア・・・資産曲線、月次損益グラフなどを描いたときに、このあたりにグラフを表示します。
このエントリーをはてなブックマークに追加 mixiチェック Share on Tumblr Clip to Evernote

指標・セットアップ列(黄色いセルの列)
 0623_1
K列からS列までの9列は、テクニカル指標、セットアップ、エントリーサインなどを返すための列です。
マクロによって、エントリーサインを書き換える際には、これらの列全てを書き換えます。

EXITサイン列 (緑色のセルの列)
 0623_2
X列からAF列までの9列は、LOSSCUT、利食いサインなどを返すための列です。
マクロによって、EXITルールを書き換える際には、これらの列全てを書き換えます。
このエントリーをはてなブックマークに追加 mixiチェック Share on Tumblr Clip to Evernote

 この章では、これまでのワークシート関数とマクロをある程度理解し、それを踏まえたうえで、「EXCEL-TRADING」の仕様を理解していただきます。
 
1.ワークシートの相互関係

 それぞれのワークシート上での作業がどのような関係にあるのかを図にして、表現してみます。
 06230623_
このエントリーをはてなブックマークに追加 mixiチェック Share on Tumblr Clip to Evernote

このページのトップヘ