●MACDを利用したFXシステムトレード
ここから、エクセルを利用したモデルの構築、
バックテストのやり方を、順を追って説明していきます。
エクセルの基本的な使い方につきましては
省略させていただきますので、ご了承ください。
ここでは有名なテクニカル、MACDを利用した
システムトレードのやり方を説明致します。
まずは、過去のデータを取得します。
管理人は
FXA証券の口座でシストレをしているので、
FXA証券の例で行います。
まずはトレーディングソフトを立ち上げ、
チャートを『EUR/USD』の日足を表示します。
↓↓↓
チャート上で右クリックをして、
『全チャート過去データ コピー』を選択。
任意の場所に保存します。
名前は『eurusd』でよろしいのではないでしょうか。
↓↓↓
保存した『eurusd』を表示して、右クリックで
『全て選択』してから『コピー』して、
エクセルを立ち上げ、貼り付ける。
↓↓↓
『Time』と『volume』はいらないと思うので、
列ごと削除します。
このようになりましたか?
ココまで来たら準備完了です。
MACDは2つの移動平均を利用するわけですが、
ここで問題になってくるのは、何日の移動平均にするかです。
『5日と25日』や『12日と26日』などが一般的ですが、
ココではサインが出やすくする為に、『5日と13日』で
やってみたいと思います。
まずは見やすくするために、F列は利用しないことにします。
ついでにF列の幅を2.25位にしておきましょう。
↓↓↓
G1に『MA5』
H1に『MA13』
I1に『サイン』
J1は飛ばして、
K1に『損益』と記入します。
次に、G7にカーソルを合わせ、
前日までの5日間の平均を求めます。
平均を求めるのに必要な関数は、『AVERAGE』ですね。
G7にカーソルを合わせて・・・
計算式 =AVERAGE(E2:E6) を入力します。
同様にH15にも計算式 =AVERAGE(E2:E14) を入力します。
↓↓↓
それぞれを502行までドラッグします。
※FXA証券のバックデータは500日までです。
MACDは長期線を短期線が下からクロスした時が
ゴールデンクロスで買い時、
逆に長期線を短期線が上から下にクロスした時が
デットクロスで売り時と言われています。
だからIF関数を使い、I15には
=IF(G15>H15,"買い","売り") の計算式が入ります。
コレも502行までドラッグします。
このサインは、『売り』が続いて『買い』になったところが
ゴールデンクロスで、逆に『買い』が続いて『売り』になった
ところがデットクロスになります。
なので、このモデルのルールは、
サインが反転して日の始値で建てて、その日の終値で決済
とします。
そこで、ひとまずはJ15に、
=IF(I15="買い",E15-B15,B15-E15)*10000-2
と、計算式を入力します。
最後の『-2』は、スプレッド分を考慮している為です。
これも502行までドラッグします。
ココからは管理人は手作業で行っています。
うまいやり方を知っている人がいたら教えてください(笑)
(AND関数で出来ましたね)
K列には手作業で、サインが反転したときの損益を抽出します。
J列の計算式でエラーが出ている場合などもありますので、
その場合は自分で計算して抽出してみてください。
こんな感じで手打ちでやっていきます。
めんどくさ・・・。
ここまでやったら、結果を算出します。
とりあえずどこでもOKなのですが、
M1に『エントリー』
M2に『勝ち数』
M3に『勝率』
M4に『損益』
と記入しましょう。
N1にはエントリー数を数える計算式が入るので、
=COUNT(K15:K502) となりますね。
N2はプラスになっている数を数えればいいので、
=COUNTIF(K15:K502,">0") となります。
N3は勝率を求めるので、
=N2/N1 ですね。
パーセントスタイルの方が見やすいと思います。
N4は損益を求めるので、
=SUM(K15:K502) となります。
このモデルの結果は、500日分のバックデータで、
勝率52.17%、利益は622pipsとなりました。
通貨ペアを変えてみたり、移動平均の日数を変えてみたり、
いろいろカスタマイズすると、もっと稼げるモデルを構築
出来るかもしれません。
←前のページへ 1|2|3|4|5|6|7 次のページへ→