|
| 講座について |
 |
ここでは、システムトレードを行う際に必要なプログラム知識などを中心に解説していこうと思います。
メインはエクセル関数、VBAです。
自作の投資ソフトは、エクセルで作られていますので、
そいつを元に解説、またはそこから波長したシステムプログラムを解説していこうと思います。
バージョンはexcel2007ですがexcel2000以降なら対応できるものが中心です。
|
移動平均線でシグナル (更新日:2008年/10月31日)
 前回、ローソク足と移動平均線を作りました。
今回はそれを使ってシグナルを出してみたいと思います。
まず、シグナルが出る条件を以下のように決めました。
条件1:移動平均線は5日と10日
条件2:ゴールデンクロスが出たら買い
条件3:デットクロスが出たら空売り
条件4:ポジションを持ったらその日の終値で利切りまたは損切りする。
以上です。単純なものですがはたして結果はどうなるかww
では早速、やってみましょう。
まずゴールデンクロスが出たら買いをエクセル関数であらわすとこうなります。
=IF(AND(F2<=G2,F3>G3),"買い", "")
※H3のセルです。
IF関数とAND関数を使います。
IF関数はおなじみ条件指定ですね。
AND関数はコンマで区切られた条件がものすべてが一致していないと正としないっというやつです。
まーもっと分かりやすく言うと・・・
前日の移動平均Aが移動平均Bよりも下の位置にあって、なおかつ当日の移動平均Aが移動平均Bよりも上の位置にあった時、買い。
そうじゃないなら何もしない。
これでクロスしたしたときの表現ができます。
続いて同じ様にデットクロスが出たら空売りも入れたいので、先ほどの関数の中に条件を逆さにしたのを入れます。
=IF(AND(F2<=G2,F3>G3),"買い", IF(AND(F2>=G2,F3
※H3のセルです。
っとこれで条件2と条件3のシグナルが出せました。
次はIの列に前日に出たシグナルがあれば決済と入力するようにします。
=IF(OR(H2="買い",H2="空売り"),決済,"")
※I3のセルです。
今度はOR関数ですね。OR関数はコンマで区切られた条件のどれか一つでも一致していれば正としますってやつです。
これで当日の終値が出た時に決済します。
最後はJの列です。
=IF(I3="決済",IF(H2="買い",E3-E2,E2-E3),"")
※J3のセルです。
これで、買った時点と空売りした時点との値段と決済したときの値段の差額を入力できます。
最後にJ133にJの列を単純に足して合計を出してみましょう。SUM関数ね^^
結果ははたして・・・
はい。-3.68とマイナスですね(笑
うーん。単純に移動平均のゴールデンクロスとデットクロスだけではマイナスになってしまうという結果でした。
後半は結構しっかり利益が出てたんだけどちょっとがっかりな結果になりました。
エクセルファイルダウンロード
まーくよくよしててもアレなので次いってみよーw
|
|
| FX初心者講座 |
 |
| システム講座 |
 |
| トレード講座 |
 |
| マーケット情報 |
 |
| 注目の相互リンク |
 |
| ランキング |
 |
|