オリジナルシステムの作成

Ver 1.5以降のM.trading システムトレード開発(Excel) には、ワークシート[Sys]は最初から付属しています。

  • Excelでの数式作成が得意な人向けの、オリジナルのシステムの作成方法を解説します。

ワークシート[Sys]

ワークシート[Sys]を追加

新しくワークシート[Sys]を追加します。ワークシート名は任意で構いません。

fig1_2.png

日付+時刻+四本値・・・を配置

ワークシート[Sys]で数式を作成し易くするために、E列~O列をワークシート[A]の列にあわせます。

マスターセルに指定

1001行のセルは黄色で塗りつぶしマスターセルに指定します。

数式

各セルの数式は次の通りです。

E1001 =A!E1001
F1001 =A!F1001
G1001 =A!G1001
H1001 =A!H1001
I1001 =A!I1001
J1001 =A!J1001
K1001 =A!K1001

M1001 =A!M1001
N1001 =A!N1001
O1001 =A!O1001

移動平均のサインを追加

移動平均A

AA1001

移動平均B

AB1001

移動平均AとB S

AC1001

数式

ワークシート[MA]の数式を参考に、AA列~AC列を画像のように設定します。
ここでは、ワークシート[MA]で利用されているパラメータ[移動平均A][移動平均B]を使用することにします。

移動平均A AA1001のセル
=IF(J1001="","",
AVERAGE(OFFSET(J1001,-移動平均A+1,0,移動平均A,1)))

移動平均B AB1001のセル
=IF(J1001="","",
AVERAGE(OFFSET(J1001,-移動平均B+1,0,移動平均B,1)))

移動平均AとB S AC1001のセル
=IF(OR(AA1001="",AB1001=""),"",
IF(AA1001=AB1001,AC1000,
IF(AA1001>AB1001,1,-1)))

統合シグナルを追加

統合買Entry

サインのいずれかで1(ここではサイン[移動平均AとB S]で1)が発生した場合、シグナル[統合買Entry]が1になるようにします。

統合売Entry

サインのいずれかで-1(ここではサイン[移動平均AとB S]で-1)が発生した場合、シグナル[統合売Entry]が-1になるようにします。

統合買Exit

どてんをするためには、シグナル[統合売Entry]が-1の時、シグナル[統合買Exit]が-1になるようにします。
また、この例では実際には利用されていませんが、15:10の引けに常に-1となるように、IF文の条件にTEXT(F1001,"hhmm")="1510"を加えています。

統合売Exit

どてんをするためには、シグナル[統合買Entry]が1の時、シグナル[統合売Exit]が1になるようにします。
また、この例では実際には利用されていませんが、15:10の引けに常に1となるように、IF文の条件にTEXT(F1001,"hhmm")="1510"を加えています。

数式

統合買Entry CA1001のセル
=IF(AC1001=1,1,0)

統合売Entry CB1001のセル
=IF(AC1001=-1,-1,0)

統合買Exit CCA1001のセル
=IF(OR(TEXT(F1001,"hhmm")="1510",CB1001=-1),-1,0)

統合売Exit CD1001のセル
=IF(OR(TEXT(F1001,"hhmm")="1510",CA1001=1),1,0)

利用方法

ワークシート・シグナルを配置

ワークシート[S]で4つのVBAを実行し、ワークシート・シグナルを配置します。

ワークシート[P]にシグナル名が追加されます。

最終行に合わせる

ワークシート[S]で、[A][Sys]にチェックを入れ、[最終行に合わせる]を実行します。

ワークシート[Sys][再計算]後に次のようになるはずです。

再計算

ワークシート[P]で画像のようにチェックを入れ、[再計算]を実行します。

解説

  • 基礎データとなる日付+時刻+四本値(+出来高)を利用して、複雑な計算を行い、4つの[統合シグナル]を算出するまでを、1つのワークシート内で完結することができます。
  • 複雑な計算は、未来の数字を利用しない限り、Excelの限界までいくらでも複雑にすることが出来ます。
  • 新しいサインを、AD列~BZ列に作成できるようにしています。また、CE列以降にサインを作成しても問題ありません。
  • 日付+時刻+四本値を、E列以降に配置したのは、ワークシート[A]と同様の配置にした方が分かりやすいと判断したためで、A列以降に配置しても問題ありません。
  • 4つの[統合シグナル]は、「1か0」あるいは「-1か0」の2つの数値のいずれかになる点以外、通常のシグナルと同じです。従って、例えば[統合買Entry]の2行が続けて「1」になっても問題ありません。新規買いなのかポジション維持なのかは、ワークシート[A]で判断されます。
  • 上記の例では、シグナル[統合買Exit][統合売Exit]に、TEXT(F1001,"hhmm")="1510"をIF文の条件に加えていますが、このままでは次の足の始値で返済になります。引け返済を行うには、パラメータ[ExitA買][ExitA売]などの設定も必要です。

履歴

  • 2009-11-27 掲載