No.21 《アラーム24》のためのデイトレシステムの構築のしかた


2015年10月に執筆 ・・・・  講座目次へ.


【1】1日の値動きだけを対象にしたときの利益の限界は?



株で大きく利益することよりも、安定的な利益を得たい、つまり低リスク・低リターンを望む方もおられます。 株価の変動のリスクから逃れるには、その日に仕掛けてその日に決済するという、デイトレードをするしかないでしょう。しかし1日の株価の値幅は小さいので、大きな損失を出すことが少ないかわりに、大きな利益を出せることも少ない。

はたしてデイトレードによって、小幅な利益ではあるが安定的に利益を出すことができるのかどうか?できる可能性があるとすれば、どのようなシステムを構築すればよいのか? について調べ、デイトレシステム構築のしかたについて述べます。


まず一般銘柄の1日の値動きはどれくらいの大きさなのかを調べてみました。 サンプルとした時期は2007年6月〜2014年12月の7年半です。

(a)2007年6月〜(b)2009年3月までの22か月は暴落の時期。

(b)2009年3月〜(c)2012年10月までの44か月は保合いの時期。

(c)2012年10月〜(c)2014年12月までの27か月は暴騰の時期。

とサンプルとするのに適当な時期です。


この間は1860日間あります。10銘柄についての統計をとっても延べ18600個のデータがあります。東証1部の銘柄とか日経225銘柄などの多くの銘柄を対象にした統計はとれません。

そこで定点観測の9銘柄(@1812「鹿島」、A5401「新日鉄」、B5713「住友鉱」、C6758「ソニー」、D7203「トヨタ」、E8306「三菱UFJ」、F8604「野村」、G9432「NTT」、H9984「ソフトバンク)について調べると右図のようでした。
  1. データ数は16740個。
  2. 1日の値幅の平均は2.60(2.597)%。
  3. 中央値は2.21%。
1日の値幅はだいたい2.2%くらいと思っておけばよいでしょう。


ヒストグラムを見ると、
  1. 最も出現回数が多いのは1.8〜2.0%。
  2. 値幅が2.0%以上あるのは全体の57.8%。
  3. 値幅が3.0%以上あるのは全体の28.1%。
  4. 値幅が4.0%以上あるのは全体の13.3%。
  5. 値幅が5.0%以上あるのは全体の6.6%。
であることがわかります。1日の値幅とは(ザラバ高値-ザラバ安値)÷前日の終値で計算しています。だからもしザラバ安値で買い仕掛けをしてザラバ高値で決済する、あるいはザラバ高値で売り仕掛けをしてザラバ安値で決済すれば、57.8%の確率で+2%の利益を出すことができます。

しかしこれは実行不可能です。誰もザラバ高値・安値で売買することはできません。また買いと判断するには株価が上昇し始めたことを確認する必要があります。売りの判断においても同じです。 2%の利益を上げるためには、どんなにうまくやっても3%の値幅がないと無理でしょう。

そこで上のヒストグラムを見ると、値幅が3%以上ある日は(c)〜(x)の間で、全体の28.1%です。毎日仕掛けていれば、28.1%は2%の利益を上げるチャンスはありますが、71.9%は2%の利益を出す可能性はありません。 値幅が4%以上あれば、2%の利益を出す可能性はもっと高くなりますが、全体の13.3%しかありません、8回か9回のトレードで1回出会える確率です。

次のような100回のトレードができたとしましょう。

  1. +2%の利益がでたトレードが20回あった。このときの勝率は100%で、累計利益率は40%(=2%×20)です。これは「利食い」による利益です。

    利食いできなかった残りの80回のトレードで、勝つときは+1%の利益、負けるときは-1%の損失がでると仮定しましょう。

    1)もし残りの80回のトレードで50%の勝率であったとするなら、40勝40敗なので、利益と損失が相殺されて累計利益率は0%です。通算すると100回のトレードで60回勝ち(勝率60%)、40回負けるので、合計して40%の利益です。平均利益率は+0.40%になります。

    2)もし残りの80回のトレードで60%の勝率であったとするなら、48勝32敗なので、差し引き16回は+1%の利益がでます。累計利益率は+16%です。通算すると100回のトレードで68回勝ち(勝率68%)、32回負けるので、合計して56%(=40%+16%)の利益です。平均利益率は+0.56%になります。

    3)もし残りの80回のトレードで70%の勝率であったとするなら、56勝24敗なので、差し引き32回は+1%の利益がでます。累計利益率は+32%です。通算すると100回のトレードで76回勝ち(勝率76%)、24回負け、合計して72%(=40%+32%)の利益です。平均利益率は+0.72%になります。


  2. +2%の利益がでたトレードが40回あった。このときの勝率は100%で、累計利益率は80%(=2%×40)です。これは「利食い」による利益です。

    1)もし残りの60回のトレードで40%の勝率であったとするなら、24勝36敗なので、利益と損失が相殺されて累計利益率は-12%です。通算すると100回のトレードで64回勝ち(勝率64%)、36回負けるので、合計して68%の利益です。平均利益率は+0.68%になります。

    2)もし残りの60回のトレードで50%の勝率であったとするなら、30勝30敗なので、利益と損失が相殺されて累計利益率は0%です。通算すると100回のトレードで70回勝ち(勝率70%)、30回負けるので、合計して80%の利益です。平均利益率は+0.80%になります。

    3)もし残りの60回のトレードで60%の勝率であったとするなら、36勝24敗なので、差し引き12回は+1%の利益がでます。累計利益率は+12%です。通算すると100回のトレードで76回勝ち(勝率76%)、24回負けるので、合計して92%(=80%+12%)の利益です。平均利益率は+0.92%になります。

チャートだけを使って勝率70%にすることはそう簡単なことではありません。@の(利食いが20%できた)場合には、3)のように利食いできなかったときの勝率は70%になることが必要ですが、これはナカナカ容易なことではない。

Aの(利食いが40%できた)場合には2)のように利食いできなかったときの勝率は50%になればよい。つまり、どれだけの確率で利食いができるのかが重要です。

Aの2)の場合の平均利益率が+0.80%ということは、100万円を1単位としてトレードをしたとき、1回につき8000円の利益がでるということです。

たったの8000円ですが、1年間の立会いは240日あります。毎日トレードができたら、1年間で192万円(=0.80万円×240回)の利益が出ます。手数料が1回につき往復で0.1%かかるとしても平均利益率は0.7%あります。1年間の純利益は168万円です。しかもリスクは低い。こういうシステムができればすばらしい。目標とするのは、次の3つのポイントを満足するシステム(条件表と売買ルール)です。
    ポイント@ トレードの40%は+2%の利食いができること
    ポイントA 利食いできないトレードの勝率は50%あること(全体で70%の勝率になる)
    ポイントB 全体の平均利益率は+0.80%になること
はたしてそういうシステムが構築できるのかどうか? 《Qエンジン24》を使って構築してみます。




【2】分足データでも《Qエンジン24》が使えるようになった



分足のトレードのシステム(よい条件表とよい売買ルール)を構築するのは手作業では無理です。《カナル24》のパワーアップツールである《Qエンジン24》が使えれば都合がよいのですが、《Qエンジン24》は《カナル24》と同じデータ(日足・週足・月足)を使います。 《アラーム24》の分足データをそのまま使うことはできません。 大きな問題は、データの日付けの扱いです。
  1. 日足データの日付けは、150918(2015年9月18日)のように6桁の数字で記憶されています。《カナル24》や《Qエンジン24》のグラフや計算や検証においては日付けは6桁であるとしてプログラムされています。

  2. 一方分足データは年月日だけでは足りません。「何時何分」が必要です。分足の日付けは1509181105の10桁です(2015年9月18日の11時5分)。《アラーム24》は日付けは10桁であるとしてプログラムされています。
したがって《アラーム24》の分足データを《カナル24》や《Qエンジン24》では使うことができないのですが、今回「カナルデータへ変換」の機能を追加しました。 分足データを《カナル24》の日足データと同じ様式(フォーマット)で記憶することができれば、以下のようなメリットがあります。

  1. 《カナル24》を使って分足のグラフが描け、計算や検索や検証ができる。

  2. 《カナル24》で分足データの修正ができる。

  3. データを連結して、長期間(最大5000個分)のデータを扱うことができる。

  4. 《Qエンジン24》で分足の「検証」や「条件表の最適化」や「売買ルールの最適化」ができる。


右図のように、《アラーム24》のデータ(通常はRTKB95)を、《カナル24》の日足データに変換します。

《カナル24》のデータディレクトリ(フォルダ)は、
DTKB71
DTKB72
DTKB73
のように00〜99の数字をつけることができます。

ただしDTKB96、DTKB98、DTKB00〜DTKB14、DTKB50は《カナル24》で使っているので、これらの番号は使わないほうがよいでしょう。

また連番にしておくと、「連結」の設定がしやすくなります。





@《アラーム24》の分足データの内容

  1. データディレクトリはRTKB95 です。これは固定されています。

  2. 日付けは(181450)となっています。これは18日の14:50のデータであることを表しています。

  3. 年月は(1509)となっています。2015年9月であることを表しています。(1509)と(181450)を合わせて、2015年9月18日の14:50のデータであることがわかるわけです。

  4. 分足データにはVWAP(出来高加重平均)が記憶されています。
ただし《アラーム24》は《カナル24》の条件表を使うので、信用買い残の欄にある「年月」と信用売り残の欄にある「VWAP」の数字は利用することができません。

《アラーム24》ではグラフを描画したり、検索をするときに 分足データを読み込むと、次の数字がはめ込まれます。
  1. 「年月日」の数字は、「1509181325」のように、年2桁・月2桁・日2桁・時刻4桁の合計10桁の数字に置き換えられる。
  2. 始値・高値・安値・終値・出来高は、そのままの数字を使う。
  3. 「年月」(信用売りの欄)は、月2桁・日2桁の4桁で「月日」に置き換えられる。
  4. 「VWAP」(信用買い残の欄)は、時2桁・分2桁の4桁で「時刻」に置き換えられる。

A《カナル24》の分足データの内容


「カナルデータへ変換」の機能を使って、《カナル24》用の分足データに変換したときは右図のようなデータになります。
  1. データディレクトリはDTKBxxです。(xxは00〜99の数字)

  2. 日付けは(500494)となっています。これは2015年のデータで古いほうから494番目のデータであることを表しています。(2015年の最後の5だけを使っている)

  3. 売り残の欄には月日が記憶されます。(713)は7月13日であることを表しています。

  4. 買い残の欄には時刻が記憶されます。(1450)14:50であることを表しています。年月日の先頭の数字の(5)と(713)と(1450)を合わせると、2015年7月13日の14;50のデータであることがわかります。(《カナル24》の分足データには、VWAPは記憶されません。)

B買い残欄の時刻を利用した条件表が設定できる

《アラーム24》の分足データを《カナル24》のデータに変換するときに、信用買残の場所に「時刻」を、信用売残の場所に「月日」を記憶させるので、「月日」や「時刻」を条件表に設定することができます。


上の条件表の
  1. No.10行は、売残の数字(月日)を印字する設定をしています。
  2. No.11行は、買残の数字(時刻)を印字する設定をしています。
  3. No.11行では、買残の数字(時刻)が(900以上・1425以下)のときに「買い」の条件をつけています。
時刻が1425以下というのは、5分足の場合は14: 30より1秒前の14時24分59秒以下ということです。15:30になったときは買いの条件は満たしません。この行では(時刻が9:00〜14:30の1秒前までなら買い)という条件になっています。


  1. の日に縦カーソルを合わせると、

  2. 数値表示欄に「MMDD」は713(7月13日)
    @HHmm」は1330(13:30)と表示されます。

  3. では緑色の売買マークが出ていますが、これは上の条件表のBグループの14:50以上15:00以下は売り(買い)と設定してあるからです。緑色の売買マークが初めて出たときの時刻は14:50であることがわかります。

Cデータの準備と連結の設定

《アラーム24》の「カナルデータへ変換」の機能を使って、以下のようなデータを準備しました。(2015年の分足です)
  1. DTKB71・・・7月2日〜7月13日の8日分
  2. DTKB72・・・7月14日〜7月24日の8日分
  3. DTKB73・・・7月27日〜8月5日の8日分
  4. DTKB74・・・8月6日〜8月17日の8日分
  5. DTKB75・・・8月18日〜8月27日の8日分
  6. DTKB76・・・9月2日〜9月8日の8日分
  7. DTKB77・・・9月9日〜9月18日の8日分
(8月27日は受信が遅れたため、9:47分からのデータです。46分間のデータが欠落しています。惜しいことをしましたが、結果(成績)は大きな違いはないと思います。)

《Qエンジン24》の「ドライブ」で、右図のように連結の設定をします。日付けが新しいものから古いものへと連結させます。

これで《Qエンジン24》で分足について調べる準備ができました。



【3】基本的な条件表の検証のしかた


@3つのトリガーの条件表

簡単な次の3つの条件表を用意しました。
  1. 条件表No.41「高安値突破」
  2. 条件表No.51「パラボリック」
  3. 条件表No.61「ボリンジャー」
これらは売買のきっかけ(トリガー)でしかありません。実用になるには、
    @最適なパラメータを探すこと。
    A売買の制限(例えば11:30までしか仕掛けないとか、14:30以降の仕掛けはしないとか)をつけること。
    B局面(トリガー以外のチャート)の制限をつけること。
などの工夫が必要ですが、まずはトリガーの売買マークだけでトレードするとどうなるのかを調べます。


条件表No.41「高安値突破」


  1. 過去10本の最高値を上抜いたら買い。
  2. 過去10本の最安値を下抜いたら売り。
  3. 仕掛ける時刻は9:00〜14:25(14:30の前)の間
  4. 14:50になれば決済する

トレードの例は、
  1. 買い仕掛け(16780円)
  2. 利食い(17120円)。+340円。

  3. 買い仕掛け(17200円)
  4. 14:50に時間切れ決済(17130円)。-70円

  5. 売り仕掛け(16960円)

  6. 売り決済(17290円)。-33円。

    買い仕掛け(17290円)

  7. 買い決済(17340円)。+50円。

    売り仕掛け(17340円)

  8. 14:50に時間切れ決済(17020円)。+320円




条件表No.51「パラボリック」

  1. 5分足のザラバ高値が上限線にタッチしたら買い。
  2. 5分足のザラバ安値が下限線にタッチしたら売り。
  3. 仕掛ける時刻は9:00〜14:25(14:30の前)の間
  4. 14:50になれば決済する

トレードの例は、
  1. 売り仕掛け(16810円)
  2. 売り決済(16970円)。-160円。
    買い仕掛け(16970円)
  3. 14:50に時間切れ決済(17130円)。+160円

  4. 買い仕掛け(17150円)
  5. 利食い(17500円)。+350円。

  6. 売り仕掛け(17260円)
  7. 14:50に時間切れ決済(17020円)。+240円

条件表No.61「ボリンジャー」

  1. 5分足の終値が+1σの線を上抜いたら買い。
    (+1σの線は上向きであること)
  2. 5分足の終値が-1σの線を下抜いたら売り。
    (-1σの線は下向きであること)
  3. 仕掛ける時刻は9:00〜14:25(14:30の前)の間
  4. 14:50になれば決済する


トレードの例は、
  1. 買い仕掛け(16850円)
  2. 利食い(17190円)。+340円。

  3. 買い仕掛け(17150円)
  4. 利食い(17500円)。+350円。






A検証のしかた


  1. 日経225銘柄を選択し、

  2. 「検証」→「新規検証」をクリック。


  3. 条件表一覧からNo.41「高安値突破」を選択し、

  4. 「検証期間」を(500001〜599999)とします。 500001とは2015年のうちで最も日付けが古いもの、599999とは2015年のうちで最も日付けが新しいものを意味します。

  5. 「売買共」を指示

  6. 売買ルールを確認(次図)し、

  7. 「実行」ボタンをクリックすると検証が始まります。


「売買ルール」は右図のようにします。
  1. 売買マークがでたら「翌日」(次の足)の始値で仕掛ける。

  2. 条件表にはAグループとBグループが設定されているが、Bグループの売買マークでは仕掛けないので「B」欄は空白にしておく。

  3. 999本が経過したら時間切れ

  4. 仕掛けと反対の売買マークが出たら、仕掛けを決済し、新規に仕掛ける(ドテンする)

  5. Aグループの売買マークによって仕掛けるので、「A」欄のチェックが入っておればよいが、BCDグループによって仕掛けることはないので、「A」〜「T」の全部にチェックが入っていてもよい。

  6. ザラバで+2%の利益がでたら利食いする

  7. 損切りはしない



B3つの基本的な条件表によるトレードの成績

いま一度、売買ルールをまとめておくと以下のようになります。
  1. 売買マークが出たら、次の5分足の始値で仕掛ける。
  2. 14:30以降の仕掛けはしない。(条件表に設定)
  3. 逆の売買マークが出たらドテンする。
  4. 14:50に当日の仕掛けを決済する(14:55の始値で決済)。(条件表に設定)
  5. +2.0%以上の利益が出たら、ザラバで利食いする。(指値で注文を出しておく)
  6. 損切りはしない。


(表3-1)3つのトリガーによるトレードの成績
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
41 高安値突破 32500 13564 18936 3435 10.6% +0.02% 41.7% 1.06倍
15984 6263 9721 1626 10.2% -0.03% 39.2% 0.93倍
16516 7301 9215 1809 11.0% +0.07% 44.2% 1.19倍
51 パラボリック 32500 13159 19341 2583 7.9% +0.03% 40.5% 1.08倍
16294 6158 10136 1267 7.8% -0.02% 37.8% 0.94倍
16206 7001 9205 1316 8.1% +0.07% 43.2% 1.24倍
61 ボリンジャ 17210 7531 9679 2113 12.3% -0.02% 43.8% 0.96倍
8148 3201 4847 918 11.3% -0.12% 39.4% 0.78倍
9062 4330 4732 1195 13.2% +0.07% 47.8% 1.15倍

基本的なトリガーだけの条件表の成績はよくありません。サンプルとした時期が急落中なので、売りの成績は買いの成績よりもよくなっていますが、それでも売りの勝率は、No.41が44.2%、No.51が43.2%、No.61が47.8%であり、勝率50%を超えていません。

次にトレード数が多すぎます。サンプルの期間は56日間なので、56回で1日に1回のトレードができることになりますが、売りについてだけでもNo.41は16516回、No.51は16206回、No.61は9062回あります。必要なトレード数56回の150〜300倍近くでています。これを絞れば、もう少し成績(平均利益率・勝率・PF)がよくなるはずです。

上表で「利食%」の欄があります。これはトレードした回数の何%(割合)で利食いができたかを示しています。目標のシステムのポイント@は「トレードのうちの40%は利食いをする」ですが、最も利食率が高いのはNo.61「ボリンジャ±1σ」の売りで、13.2%です。かなり不足しています。これを40%まで引き上げることが必要です。

目標のシステムのポイントAは「勝率は70%とする」ですが、勝率47.8%では話になりません。また平均利益率は0.07%で、ポイントBの「平均利益率は0.8%」とするの約1/10でしかありません。








【4】トリガーのパラメータを最適化するとどうなるか?



No.41、No.51、No.61の条件表のパラメータを最適化したところ、次の条件表になりました。

@(最適化した)条件表No.42「高安値突破@」



  1. 過去120本の最高値を上抜いたら買い。
  2. 過去120本の最安値を下抜いたら売り。
  3. 仕掛ける時刻は9:00〜14:25(14:30の前)の間
  4. 14:50になれば決済する
(表4-1)最適化したNo.42「高安値突破@」の成績
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
41 高安値突破 32500 13564 18936 3435 10.6% +0.02% 41.7% 1.06倍
42 高安値突破@ 8711 4335 4376 1537 17.6% +0.07% 49.8% 1.13倍
42 高安値突破 15984 6263 9721 1626 10.2% -0.03% 39.2% 0.93倍
42 高安値突破@ 3783 1685 2098 573 15.1% -0.06% 44.5% 0.89倍
42 高安値突破 16516 7301 9215 1809 11.0% +0.07% 44.2% 1.19倍
42 高安値突破@ 4928 2650 2278 964 19.6% +0.17% 53.8% 1.34倍

全体のトレードの「利食率」は10.6%→17.6%へアップし、勝率は41.7%→49.8%へアップしました。 しかし買いのトレードの「利食率」は10.2%→15.1%へアップしたものの平均利益率は-0.03%→-0.06%へダウンしています。売りのトレードの利食率は11.0%→19.6%へ、平均利益率は+0.07%→0.17%へ、勝率は44.2%→53.8%へアップ。
パラメータを最適化しても目標をクリアできていません。

A(最適化した)条件表No.52「パラボリック@」




「パラボリック」は最適化してもパラメータは変化がありませんでした。
  1. 5分足のザラバ高値が上限線(パラメータ201)にタッチしたら買い。
  2. 5分足のザラバ安値が下限線(パラメータ201)にタッチしたら売り。
  3. 仕掛ける時刻は9:00〜14:25(14:30の前)の間
  4. 14:50になれば決済する

(表4-2)最適化したNo.52「パラボリック@」の成績
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
51 パラボリック 32500 13159 19341 2583 7.9% +0.03% 40.5% 1.08倍
52 パラボリック@ 32500 13159 19341 2583 7.9% +0.03% 40.5% 1.08倍
51 パラボリック 16294 6158 10136 1267 7.8% -0.02% 37.8% 0.94倍
52 パラボリック@ 16294 6158 10136 1267 7.8% -0.02% 37.8% 0.94倍
51 パラボリック 16206 7001 9205 1316 8.1% +0.07% 43.2% 1.24倍
52 パラボリック@ 16206 7001 9205 1316 8.1% 0.07% 43.2% 1.24倍

パラボリックのパラメータ(201)は最もよいパラメータであったようで、最適化しても変らなかった。したがって成績の変化もありません。

B(最適化した)条件表No.62「ボリンジャー@」



  1. 5分足の終値が+1σの線(パラメータ1180)を上抜いたら買い。
    (+1σの線は上向きであること)
  2. 5分足の終値が-1σの線(パラメータ1180)を下抜いたら売り。
    (-1σの線は下向きであること)

(表4-3)最適化したNo.62「ボリンジャー@」の成績
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
61 ボリンジャ 17210 7531 9679 2113 12.3% -0.02% 43.8% 0.96倍
62 ボリンジャ@ 8400 4204 4196 1331 15.8% +0.12% 50.0% 1.27倍
61 ボリンジャ 8148 3201 4847 918 11.3% -0.12% 39.4% 0.78倍
62 ボリンジャ@ 4076 1874 2202 550 13.5% +0.01% 46.0% 1.03倍
61 ボリンジャ 9062 4330 4732 1195 13.2% +0.07% 47.8% 1.15倍
62 ボリンジャ@ 4324 2330 1994 781 18.1% +0.22% 53.9% 1.53倍

全体のトレードの「利食率」は12.3%→15.8%へ、勝率は43.8%→50.0%へアップ。売りのトレードの利食率が13.2%→18.1%へ、PFが1.15倍→1.53倍へアップしているのが目立ちます。

以上、3つのトリガーの最適化を行いましたが、全体の成績で、利食率が20.0%を超えるもの、平均利益率が0.20%を超えるもの、勝率が60.0%を超えるものはありません。しかし、 まだまだトレード数は10000回を超えているので、トリガーの局面を絞っていけばそれなりの成績になると思います。
が、それを試す前に、トレードする時刻について調べておきます。


【5】仕掛ける時刻を制限するとどうなるか?


@仕掛ける時刻の制限

立会いが始まって早めに仕掛けたほうがよいのか、それともある時間の動きをみて仕掛けたほうがよいのかを調べました。次の表は最適化した条件表No.42、No.52、No.62について、
    @9:00〜9:05(開始10分間)に仕掛けたとき
    A9:00〜9:25(開始30分間)に仕掛けたとき
    B9:00〜9:55(開始60分間)に仕掛けたとき
    C10:00〜11:25の間(前場後半)に仕掛けたとき
    D12:30〜14:50の間(後場)に仕掛けたとき
の成績を調べました。買いと売りの仕掛けを合算してあります。

時刻は分足データの時刻です。分足データの時刻が9:00とは9時00分〜9時4分59秒のことで、9:05とは9時05分〜9時9分59秒のことです。したがって(9:00〜9:05)とは9時00分から9時9分59秒までの10分間を意味します。

(表5-1)仕掛けの時刻の違いによる成績
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
42 高安値突破@ 8711 4335 4376 1537 17.6% +0.07% 49.8% 1.13倍
@ 9:00〜9:05まで 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
A 9:00〜9:25まで 4942 2588 2354 1198 24.2% +0.14% 52.4% 1.23倍
B 9:00〜9:55まで 5806 2959 2847 1318 22.7% +0.08% 51.0% 1.14倍
C 10:00〜11:25 2579 1345 1234 362 14.0% +0.14% 52.2% 1.32倍
D 12:30〜14:50 3776 1910 1866 97 2.6% +0.12% 50.6% 1.49倍
52 パラボリック@ 32500 13159 19341 2583 7.9% +0.03% 40.5% 1.08倍
@ 9:00〜9:05まで 7101 3337 3764 1358 19.1% +0.03% 47.0% 1.06倍
A 9:00〜9:25まで 9161 4001 5160 1592 17.4% +0.00% 43.7% 1.00倍
B 9:00〜9:55まで 11731 5035 6696 2053 17.5% +0.03% 42.9% 1.06倍
C 10:00〜11:25 8976 4191 4785 906 10.1% +0.07% 46.7% 1.20倍
D 12:30〜14:50 18625 7427 11198 442 2.4% +0.01% 39.9% 1.04倍
62 ボリンジャ@ 8400 4204 4196 1331 15.8% +0.12% 50.0% 1.27倍
@ 9:00〜9:05まで 2941 1603 1338 698 23.7% +0.25% 54.5% 1.52倍
A 9:00〜9:25まで 4186 2229 1957 897 21.4% +0.18% 53.2% 1.37倍
B 9:00〜9:55まで 5026 2613 2413 1016 20.2% +0.15% 52.0% 1.30倍
C 10:00〜11:25 3179 1512 1667 316 9.9% +0.05% 47.6% 1.13倍
D 12:30〜14:50 4667 2034 2633 214 4.6% +0.05% 43.6% 1.21倍

どのトリガーの成績を見ても9;00〜9:05(9時00分〜9:09分59秒)に仕掛けるのが最もよいことがわかります。

利食率が最もよいのはNo.42「高安値突破@」の25.8%です。勝率も55.0%と最高です。No.62「ボリンジャ@」は平均利益率が+0.25%と最高で、PFが1.52倍と最高になっています。

後場12:30〜14:50までに仕掛けたときの成績は最低です。後場に入って仕掛けてもよい成績はでません 上表ではNo.42「高安値突破@」の9:00〜9:05の仕掛けの成績がよいので、これについて、買いと売りの成績を見てみましょう。

(表5-2)No.42の仕掛けの時刻の違いによる成績(買い・売り別)
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
42 高安値突破@ 8711 4335 4376 1537 17.6% +0.07% 49.8% 1.13倍
BS 9:00〜9:05まで 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
B 9:00〜9:05まで 1671 816 855 370 22.1% +0.07% 48.8% 1.12倍
S 9:00〜9:05まで 2267 1348 919 647 28.5% +0.37% 59.5% 1.77倍

9:00〜9:05に仕掛けたとき、全体の利食率は(25.8%)ですが、内訳は買い(22.1%)、売り(28.5%)で目標とするポイント@の利食率40%には届いていません。サンプルの時期が買いに不利で売りに有利なので、買い勝率は売りの勝率よりも悪くなってもしかたがありませんが、 買いの成績は、平均利益率が+0.07%、勝率が48.8%とよくありません。これは局面を限定するなどして改良せねばなりません。

9:00〜9:05までの10分間に仕掛けるのが一番よいことがわかったので、 今後の売買ルールは、「9:00〜9:09の10分間に仕掛ける」とします。

A決済する時刻の制限

仕掛けは9:00〜9:05(9時00分〜9時9分59秒)の間にするのがよいことがわかりました。その時刻に仕掛けたとして、ではいつ決済をすればよいのかを調べました。次の表は最適化した条件表No.42、No.52、No.62について、
    @9:55(10:00より1秒前)に決済したとき
    A11:25(11:30より1秒前)に決済したとき
    B12:55(13:00より1秒前)に決済したとき
    C13:55(14:00より1秒前)に決済したとき
    D14:50(14:55より1秒前)に決済したとき
の成績を調べました。買いと売りの成績を合算してあります。

(表5-3)決済の時刻の違いによる成績
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
42 高安値突破@ 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
@ 10:00に決済 3938 1934 2004 333 8.5% +0.05% 49.1% 1.14倍
A 11:30に決済 3938 1960 1978 570 14.5% +0.01% 49.8% 1.02倍
B 13:00に決済 3938 2071 1867 786 20.0% +0.07% 52.6% 1.11倍
C 14:00に決済 3938 2116 1822 877 22.3% +0.13% 53.7% 1.24倍
D 14:50に決済 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
52 パラボリック@ 7101 3337 3764 1358 19.1% +0.03% 47.0% 1.06倍
@ 10:00に決済 7101 3387 3714 357 5.0% +0.04% 47.7% 1.12倍
A 11:30に決済 7101 3293 3808 775 10.9% +0.03% 46.4% 1.06倍
B 13:00に決済 7101 3300 3801 1016 14.3% +0.00% 46.5% 1.00倍
C 14:00に決済 7101 3384 3717 1188 16.7% +0.05% 47.7% 1.09倍
D 14:50に決済 7101 3337 3764 1358 19.1% +0.03% 47.0% 1.06倍
62 ボリンジャ@ 2941 1603 1338 698 23.7% +0.25% 54.5% 1.52倍
@ 10:00に決済 2941 1565 1376 186 6.3% +0.15% 53.2% 1.48倍
A 11:30に決済 2941 1541 1400 401 13.6% +0.16% 52.4% 1.39倍
B 13:00に決済 2941 1583 1358 832 18.1% +0.20% 53.8% 1.44倍
C 14:00に決済 2941 1585 1356 624 21.2% +0.21% 53.9% 1.45倍
D 14:50に決済 2941 1603 1338 698 23.7% +0.25% 54.5% 1.52倍

どのトリガーを見ても(14:50)に決済ときの成績が最もよくなっています。10:00とか11:30(前場)に決済しても成績はよくありません。

(9:00〜9:09)の間に仕掛け、(14:50)になったら決済するのが一番よいのです。建て玉する時間を最も長くするのがよいのです。1日の値動きは小さいので、建て玉時間が長くても大きなリスクが発生することは少ないからです。だからいくらデイトレードだからといっても、仕掛けて10分や20分、30分後に決済するのは誤りです。

上表ではNo.42「高安値突破@」の(14:50に決済する)の成績がよいので、これについて、買いと売りの成績を見てみましょう。


(表5-4)No.42の決済の時刻の違いによる成績(買い・売り別)
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
43 高安値突破@ 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
BS 14:50に決済 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
B 14:50に決済 1671 816 855 370 22.1% +0.07% 48.8% 1.12倍
S 14:50に決済 2267 1348 919 647 28.5% +0.37% 58.5% 1.77倍

12:55に決済したとき、全体の利食率は(25.8%)ですが、内訳は買い(22.1%)、売り(28.5%)で目標とするポイント@の利食率40%には届いていません。サンプルの時期が買いに不利で売りに有利なので、買い勝率は売りの勝率よりも悪くなってもしかたがありませんが、 買いの成績は、平均利益率が+0.07%、勝率が48.8%とよくありません。これは局面を限定するなどして改良せねばなりません。

9:00〜9:05までの10分間に仕掛けて14:50(14;55の始値の値段)に決済するのが一番よいことがわかったので、 今後の時刻についての売買ルールは、「9:00〜9:09の10分間に仕掛け、14:50に決済する」とします。






【6】トリガーの局面を制限するとどうなるか?



No.2「高安値突破A」は次図の(a)と(c)で買いマークを出しています。

(a)は2015年8月6日の9:00〜9:04までの間に出た買いマークです。(a)の次の足の始値の7075円で仕掛けると、(b)の7217円で+2%の利食いができます。+2.00%の利益です。%

(c)は2015年8月7日の9:00〜9:05(分足の時刻)までの間に出た買いマークです。(c)の次の足の始値の7492円で仕掛けると、利食いはできず、(d)の14:50の次の足の始値(b)の7435円で時間切れ決済をすることになります。-0.76%の損失です。


(a)では買いマークが出るが(c)では買いマークは出ないように、ほかのチャートを追加してみます。「局面を絞る」わけです。

「局面」とは、トリガーが売買マークを出したときのトリガー以外のチャートの状態のことです。



ここでは次の4つの局面を想定しました。売買マークが出た日の、
  1. 株価とN日線のカイリ率
  2. N日線とM日線のカイリ率
  3. N日線とM日線のクロス日数
  4. 株価のN日変動率
によって、(a)では買いマークが出るが(c)では買いマークは出ない、という区別ができれば成績は向上します。これら4つのチャートによって局面が正しく判定できるのかどうか?

上図の条件表の行No.1〜行No.12は「高安値突破」によって売買マークが出る日が決まります。
  1. No.6行で、株価が過去120日(本)間の高値を上抜いたときに買いマークを出す。
  2. No.9行で、株価が過去120日(本)間の高安を下抜いたときに売りマークを出す。
  3. ただし売買ルール(No.11行とNo.12行)によって、9:00から9:05に出たものだけを採用する。
  4. No.13行〜No.19行のチャートによって、局面を限定する。
どういう局面に絞ると成績がよくなるのかを調べます。

@N日線カイリで局面を絞ったとき


  1. No.11行で、買いマークがでたとき、株価と50日(本)線のカイリが+3%以上のときだけ仕掛ける。
  2. No.13行で、売りマークがでたとき、株価と50日(本)線のカイリが-2%以下のときだけ仕掛ける。

9984「ソフトバンク」は局面の制限をつけないときは、(a)で買いマークがでて、(b)で利食いして+2.00%の利益が出ていました、

この日の50日(本)線のカイリは+0.6%です。(+3%以上)の範囲から外れているので買いマークは出ていません。

また局面の制限がないときは、(c)で買いマークがでて、 (d)で時間切れの決済をして-0.76%の損失が出ました。

この日の50日線からのカイリは+4.7%です。(+3%以上)の範囲に収まっているので買いマークが出ています。

(表6-1)No.42を「N日線カイリ」で制限したときの成績(買い・売り別)
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
43 高安値突破@ 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
N日線カイリ 1275 790 485 515 40.4% +0.41% 62.0% 1.66倍
42 高安値突破A 1671 816 855 370 22.1% +0.07% 48.8% 1.12倍
N日線カイリ 216 125 91 89 41.2% +0.17% 57.9% 1.21倍
42 高安値突破A 2267 1348 919 647 28.5% +0.37% 58.5% 1.77倍
N日線カイリ 1059 665 394 426 40.2% +0.46% 62.8% 1.78倍

「N日カイリ」で局面を制限すると、成績は飛躍的によくなりました。「売買共」の成績を見ると、@利食率は25.8%→40.4%にアップして、利食率の目標(40%)に達しています。A平均利益率は+0.24%→+0.41%と目標(+0.80%)の半分、B勝率は55.0%→62.0%と目標(70.0%)まであと一息です。






AN日線とM日線のカイリで局面を絞ったとき


  1. No.12行で、買いマークがでたとき、20日(本)線と70日線のカイリが0%以下のときだけ仕掛ける。
  2. No.13行で、売りマークがでたとき、20日(本)線と70日線のカイリが0%以上のときだけ仕掛ける。
    ときだけ仕掛ける。


9984「ソフトバンク」は局面の制限をつけないときは、(a)で買いマークがでて、(b)で利食いして+2.00%の利益が出ていました、

この日の20日(本)線と70日線のカイリは+0.7%です。(+0%以下)の範囲から外れているので買いマークは出ていません。

(x)の日の20日(本)線と70日線のカイリは-0.1%です。(+0%以下)の範囲に収まっているので買いマークが出ています。

(表6-2)No.42を「N日線とM日線のカイリ」で制限したときの成績(買い・売り別)
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
43 高安値突破A 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
N日線とM日線カイリ 623 412 211 210 33.7% +0.59% 66.1% 2.77倍
43 高安値突破A 1671 816 855 370 22.1% +0.07% 48.8% 1.12倍
N日線とM日線カイリ 367 263 104 150 40.9% +0.78% 71.7% 3.72倍
43 高安値突破A 2267 1348 919 647 28.5% +0.37% 58.5% 1.77倍
N日線とM日線カイリ 256 149 107 60 23.4% +0.32% 58.2% 1.80倍

サンプルとした時期は、買いに不利・売りに有利な時期でしたが、ここで制限した局面では買いの成績は売りの成績よりもよくなっています。「売買共」の成績を見ると、@利食率は25.8%→33.7%にアップしたが、利食率の目標(40%)には達していない。A平均利益率は+0.24%→+0.59%と目標(+0.80%)まで7合目。B勝率は55.0%→66.1%と目標(70.0%)まであと一息です。

買いの成績は、@利食率ga 40.9%で利食率の目標(40%)をクリア、A平均利益率は+0.78と目標(+0.80%)に近い。B勝率は71.1%と目標(70.0%)をクリア。

局面をうまく制限すれば、買いに不利な時期であっても利益がでることがわかります。(その代り、売りの成績が悪化するのだが)





BN日線とM日線のクロス日数で局面を絞ったとき



  1. No.12行で、買いマークがでたとき、30日線と120日線がデッドクロス中(0以下)のときだけ仕掛ける。
  2. No.13行で、売りマークがでたとき、30日線と120日線がゴールデン中(0以上)のときだけ仕掛ける。


9984「ソフトバンク」は局面の制限をつけないときは、(a)で買いマークがでて、(b)で利食いして+2.00%の利益が出ていました、

この日の30日線と120日線はゴールデンクロス中なので買いマークは出ていません。

(x)の日の30日線と120日線はデッドクロス中なので買いマークが出ています。

(表6-3)No.42を「N日線とM日線のクロス日数」で制限したときの成績(買い・売り別)
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
43 高安値突破A 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
N日線M日線クロス 617 381 236 175 28.4% +0.43% 61.8% 2.08倍
43 高安値突破A 1671 816 855 370 22.1% +0.07% 48.8% 1.12倍
N日線M日線クロス 248 144 104 79 31.9% +0.45% 58.1% 2.11倍
43 高安値突破A 2267 1348 919 647 28.5% +0.37% 58.5% 1.77倍
N日線M日線クロス 369 237 132 96 26.0% +0.41% 64.2% 2.05倍

「N日線とM日線クロス」で局面を制限すると、成績は少しよくなりました。「売買共」の成績を見ると、@利食率は25.8%→28.4%にアップしていますが、それはわずかなアップです。A平均利益率は+0.24%→+0.43%と目標(+0.80%)の半分、B勝率は55.0%→61.80%と目標(70.0%)まであと一息です。

CN日変動率で局面を絞ったとき


  1. No.10行で、買いマークがでたとき、株価の30日(本)の変動率が+3%以上のときだけ仕掛ける。
  2. No.11行で、売りマークがでたとき、株価の30日(本)の変動率が+2%以上のときだけ仕掛ける。

9984「ソフトバンク」は局面の制限をつけないときは、(a)で買いマークがでて、(b)で利食いして+2.00%の利益が出ていました、

この日(a)の30日(本)変動率は1.0%です。(+3%以上)の範囲から外れているので買いマークは出ていません。

また局面の制限がないときは、(c)で買いマークがでて、 (d)で時間切れの決済をして-0.76%の損失が出ました。

この日(c)の30日(本)変動率は4.7%です。(+3%以上)の範囲に収まっているので買いマークが出ています。

(表6-4)No.42を「N日変動率」で制限したときの成績(買い・売り別)
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
43 高安値突破A 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
N日変動率 1789 1120 679 676 37.6% +0.44% 62.3% 1.81倍
43 高安値突破A 1671 816 855 370 22.1% +0.07% 48.8% 1.12倍
N日変動率 433 273 160 177 40.9% +0.41% 63.0% 1.71倍
43 高安値突破A 2267 1348 919 647 28.5% +0.37% 58.5% 1.77倍
N日変動率 1366 847 519 499 36.5% +0.45% 62.0% 1.85倍

「N日変動率」で局面を制限すると、成績はよくなります。「売買共」の成績を見ると、@利食率は25.8%→37.6%にアップして、利食率の目標(40%)に近い。。A平均利益率は+0.24%→+0.44%と目標(+0.80%)の半分、B勝率は55.0%→62.3%と目標(70.0%)まであと一息です。

DNo.42「高安値突破」(9:00〜9:05仕掛け)の局面を絞ったときのまとめ

No.42「高安値突破」を以上4つの局面によって絞ったときの成績をまとめると以下のようになります。

(表6-5)No.42「高安値突破」を1つの局面で制限したときの成績(買い・売り別)
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
43 高安値突破A 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
N日線カイリ 1275 790 485 515 40.4% +0.41% 62.0% 1.66倍
N日線とM日線カイリ 623 412 211 210 33.7% +0.59% 66.1% 2.77倍
N日線M日線クロス 617 381 236 175 28.4% +0.43% 61.8% 2.08倍
N日変動率 1789 1120 679 676 37.6% +0.44% 62.3% 1.81倍
43 高安値突破A 1671 816 855 370 22.1% +0.07% 48.8% 1.12倍
N日線カイリ 216 125 91 89 41.2% +0.17% 57.9% 1.21倍
N日線とM日線カイリ 367 263 104 150 40.9% +0.78% 71.7% 3.72倍
N日線M日線クロス 248 144 104 79 31.9% +0.45% 58.1% 2.11倍
N日変動率 433 273 160 177 40.9% +0.41% 63.0% 1.71倍
43 高安値突破A 2267 1348 919 647 28.5% +0.37% 58.5% 1.77倍
N日線カイリ 1059 665 394 426 40.2% +0.46% 62.8% 1.78倍
N日線とM日線カイリ 256 149 107 60 23.4% +0.32% 58.2% 1.80倍
N日線M日線クロス 369 237 132 96 26.0% +0.41% 64.2% 2.05倍
N日変動率 1366 847 519 499 36.5% +0.45% 62.0% 1.85倍

今一度目標とする成績を掲げると、
    ポイント@ トレードの40%は+2%の利食いができること
    ポイントA 利食いできないトレードの勝率は50%あること(全体で70%の勝率になる)
    ポイントB 全体の平均利益率は+0.80%になること
です。これを満足した成績になっているかをチェックしてみましょう。最も重要な成績は「利食率」です。

1)売買共では、 @「N日カイリ」が40.4%でクリアしていますが、ABをクリアしたものはありません。

2)買いのトレードでは、「N日カイリ」と「N日線とM日線カイリ」、「N日変動率」の3つが@の40.0%をクリアしています。「N日線とM日線カイリ」はA平均利益率とB勝率もクリアしていて完璧です。(ただし売りトレードの成績はよくない)

3)売りのトレードでは、「N日カイリ」が@の40.0%をクリアしただけで、その他のABの目標をクリアしたものはありません。

目標の数字に近づけるには、もう一つの局面で売買マークを制限する必要があります。試しに「N日カイリ」と「N日線とM日線カイリ」を合成してみると、以下の条件表になります。



9984「ソフトバンク」は(a)で売りマークが出ています。

この日の50日(本)カイリは-2.4%で(-2%以下)の範囲に収まり、20 日と70日カイリ率は+0.2%で(0%以上)の範囲に収まっているので売りマークが出たわけです。

(b)で利食いになっています。

(N日線カイリ)と(N日線とM日線のカイリ)の局面を1つにまとめた条件表の成績は以下の」ようになりました。

(表6-6)No.43「高安値突破」を2つの局面で制限したときの成績
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
43 高安値突破A 3938 2164 1774 1017 25.8% +0.24% 55.0% 1.47倍
N日線カイリ

1275 790 485 515 40.4% +0.41% 62.0% 1.66倍
N日線とM日線カイリ 623 412 211 210 33.7% +0.59% 66.1% 2.77倍
48 (A)+(B)2局面 157 108 49 69 43.9% +0.70% 68.8% 2.68倍
N日線カイリ

216 125 91 89 41.2% +0.17% 57.9% 1.21倍
N日線とM日線カイリ 367 263 104 150 40.9% +0.78% 71.7% 3.72倍
48 (A)+(B)2局面 84 64 20 44 52.4% +1.02% 76.2% 4.85倍
N日線カイリ

1059 665 394 426 40.2% +0.46% 62.8% 1.78倍
N日線とM日線カイリ 256 149 107 60 23.4% +0.32% 58.2% 1.80倍
48 (A)+(B)2局面 73 44 29 25 34.2% +0.33% 60.3% 1.56倍

「売買共」の成績を見ると、@利食率は+43.9&と目標(40.0%)をクリア、A平均利益率は+0.70%と目標(0.80%)に少し不足。B勝率は68.8%と目標(70.0%)にほぼ並ぶ。ほとんど合格といってもよいでしょう。

ただし、買いトレードは@ABともクリアしていますが、売りトレードは@ABともクリアしていません。2つの局面に絞った結果、買いトレードに有利な条件表になっています。


次に「高安値突破」「パラボリック」「ボリンジャ」に(N日線カイリ)と(N日線とM日線のカイリ」の2つの局面を採用したときの成績を掲げます。

(表6-7)(N日線カイリ)と(N日線とM日線のカイリ)の2つの局面を採用したときの成績
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
48 高安値突破B 157 108 49 69 43.9% +0.70% 68.8% 2.68倍
高安値突破B 84 64 20 44 52.4% +1.02% 76.2% 4.85倍
高安値突破B 73 44 29 25 34.2% +0.33% 60.3% 1.56倍
X 1日1銘柄仕掛け 67 38 29 25 37.3% +0.24% 56.7% 1.35倍
58 パラボリックB 146 96 50 64 43.8% +0.73% 65.8% 2.99倍
パラボリックB 73 61 12 45 61.6% +1.42% 83.6% 13.85倍
パラボリックB 73 35 38 19 26.0% +0.04% 47.9% 1.06倍
X 1日1銘柄仕掛け 54 30 24 22 40.7% +0.44% 55.6% 1.85倍
68 ボリンジャB 135 95 40 64 47.4% +0.76% 70.4% 2.75倍
ボリンジャB 79 62 17 42 53.2% +1.12% 78.5% 6.42倍
ボリンジャB 56 33 23 22 39.3% +0.25% 58.9% 1.33倍
X 1日1銘柄仕掛け 65 37 28 27 41.5% +0.25% 56.9% 1.35倍

上表のNo.48,No.58,No.68の(売買共)の成績を見ると、目標とする成績にほぼ近づいています。No.68「ボリンジャ」の利食率は47.4%で目標(40.0%)をクリアし、平均利益率+0.76%は目標(+0.80%$)にあとわずか。勝率は70.4%で目標(70.0%)をクリアしています。

以上の成績は、売買マークが出たものをすべて仕掛けたときの成績です。しかし同じ日に10銘柄が買いマークを出したときはどうするのか? 実際にはそのうちの1銘柄か2銘柄を仕掛けることになるでしょう。そこで1日に1銘柄だけを仕掛けるとしたときの成績を上表の「1日1銘柄仕掛け」の欄に掲げています。

これを見ると成績はものすごく低下しています。例えば「ボリンジャ」の平均利益率は+0.76%→+0.25%へ、勝率は70.4%→56.9%へと大きく悪化しています。平均利益率が+0.40%以上になったものは「パラボリック」だけです。また勝率が60%を超えたものはありません。単純に(N日線カイリ)と(N日線とM日線のカイリ)を局面にしただけではダメなのです。

どういう局面によってトリガーが出す売買マークを制限すればよいのか? ここではN日線カイリとか「N日線とM日線のカイリ」、「N日線とM日線のクロス日数」「N日変動率」を例にして、局面を絞っていけば、成績はよくなることの説明をしました。しかし、どういうチャートによって局面を制限すれば よいのかの方針がありません。思いつくままのチャートで局面を絞っていては、3年かかっても納得できる条件表はできないでしょう。

ところで《Qエンジン24》には「オートマ」の機能があります。この機能を使えば、短時間で, どういうチャートを使って局面を絞ればよいのかを見つけ、よい条件表を生成してくれます。










【7】《Qエンジン24》のオートマを使ってディトレードのための条件表を設定する



《アラーム24》の分足データを《カナル24》の日足データの形式に変換してあれば、《Qエンジン24》の@検証やA最適化が行えるばかりでなく、Bオートマによって最高の条件表を生成することができます。

ここでは2015年7月2日〜9月18日までの56日間、5分足のデータ数約3360個について、オートマで買いの条件表と売りの条件表を生成し、これを1つにまとめて売買マークが出る条件表を作ります。できた条件表は《アラーム24》で利用することができます。

@オートマの手順

  1. 日経225銘柄を選択し、

  2. メニューの「オートマ」をクリック。

  3. オートマ指示書からNo.95「アラーム・分足」を選択し、「OK」をクリック。

    No.95は仮に設定しましたが、その内容は次図のように簡単なものです。空白の指示書No.を指示して、次図のような指示内容を設定してください。

    あるいは《Qエンジン24》のメニューの「アップデート」→「各種ファイルをダウンロード」→「QEオートマ指示書ファイル」をクリックして、右図と同じものがダウンロードできます。

「オートマの指示」の画面が現れます。


  1. 生成する条件表は(買い条件)を選択。
  2. 描画期間は(500001〜599999)と入力。(2016年は先頭の5は6になります)

  3. 注目点の条件は( c )を選択。
  4. (m基準)を選択し、(60日間)に(+2%)以上上昇し、(-2%)以上下落していない と入力。
    右側の赤色枠で囲った部分は重要なので、次図で説明します。

  5. 生成ルールは(重層条件)を選択
  6. 最小注目数は(100個以上)と入力。


  1. 描画用条件表は(描画1)のNo.190「QE.高安値突破トリガー」を選択

    この条件表は、次図に掲げています。

    《Qエンジン24》のメニューの「アップデート」→「拡張条件ファイルをダウンロード」でダウンロードできます。

  2. 記憶する注雑ファイルはNo.1〜No.999のどれかを選択。

  3. 計算用条件表は(計算2)のNo.14「計算・一般銘柄D」を選択します。

    このファイルは《Qエンジン24》Ver.5をインストールした際にインストールされているはずですが、もしNo.14がなければ、《Qエンジン24》のメニューの「アップデート」→「拡張条件ファイルをダウンロード」でダウンロードできます。

  4. 生成先条件表は、任意のNo.を指示します。ここでは(拡張5)のNo.25に生成するように指示しました。

(描画1)No.190「「QE.高安値突破トリガー」の内容




  1. 「新規実行」ボタンをクリックすると、オートマが開始します。

Aオートマが生成した条件表(買い)


  1. 買いの条件表が(拡張5)No.25に生成されました。所要時間は5〜6分です。

    No.25のタイトルは「B95」とあるので買い(B)の条件表があることがわかります。

    買いの条件は11行が設定されています。

    この条件表の内容は次のようになっていました。

(拡張5)No.25の買いの条件表の内容



No.1行〜No.6行が、(描画1)No.190のトリガーです。
No.7〜No.11がオートマが追加した局面です。
No.8行で、株価と75日(本)線のカイリ率が1.8%以上であること。
No.9行で、過去10日(本)のカイリ率の最小値が-0.6%以下であること。
No.10行で、株価の5日(本)間の上昇率が3.2%以上であること。
No.11行で、株価の25日(本)間の変動率が3.2%以上であること。

などが設定されています。


Bオートマが生成した条件表(売り)


次に売りの条件表を生成します。

  1. (売り条件)を選択し、

  2. (拡張4)のNo.26に売り条件を生成するの指示をして、

  3. 「新規実行」ボタンをクリック。


  4. 売りの条件表が(拡張5)No.26に生成されました。

    No.26のタイトルは「S95」とあるので売り(S)の条件表があることがわかります。

    また13行が設定されています。この条件表の内容は次のようになっていました。
(拡張5)No.26の売りの条件表の内容



No.1行〜No.6行が、(描画1)No.190のトリガーです。
No.7〜No.13がオートマが追加した局面です。

No.7行で、株価と17日(本)前の過去比率が-1.4%以下であること。
No.8行で、17日前過去比率が75日前に-0.6%以下であったと。
No.9行で、17日間の変動率が1.8%以上であったこと。
No.10行で、17日間の変動率が75日前に0.6%以上であったこと。

などが設定されています。

  1. メニューの「条件」をクリックして、(拡張5)No.25の買いの条件表とNo.26の売りの条件表を、1つにまとめて、No.27とします。

No.25の買いの条件表とNo.26の売りの条件表をNo.27にまとめるときは次のようにします。
  1. 《カナル24》または《Qエンジン24》のメニュー「条件」をクリック。

  2. 条件表の一覧表が現れるので、条件表No.25を選択する。

  3. 「条件表の内容」の画面が出るので、条件表No.25の1行目〜11行目を選択し、「行コピー」ボタンをクリック。

  4. メニューの「別の条件」をクリックして、条件表No.27を選択する。

  5. 条件表No.27の内容が表示されたら、1行目を選択して、「行貼付け」ボタンをクリック。

    条件表No.27に条件表No.25の1行目〜11行目が貼り付けられます。ここで「記憶」ボタンをクリックしてNo.27を保存します。

  6. メニューの「別の条件」をクリックして、条件表No.26を選択する。

  7. 条件表No.26の内容が表示されたら、3行目〜13行目を選択して、「行コピー」ボタンをクリック。(No.1行とNo.2行は、条件表No.25と同じものなのでコピーしない)

  8. メニューの「別の条件」をクリックして、条件表No.27を選択する。

  9. 条件表No.27の内容が表示されたら、12行目を選択して、「行貼付け」ボタンをクリック。

    条件表No.27のNo.12行目以降に、条件表No.26の3行目〜13行目が貼り付けられます。ここで「記憶」ボタンをクリックしてNo.27を保存します。

  10. 条件表No.27には買いの条件表と売りの条件表がまとめれられました。

(拡張5)No.27の買いと売りを1つにまとめた条件表の内容


  1. (拡張5)No.27のタイトルは「Auto 高安値突破BS」としました。(No.20行以下は省略)

  2. 売買マークが出た日を知るために、No.6行に(売残  加工なし)の行を追加しました。
    売り残は「月日」を記憶しており、買い残は「時分」の時刻を記憶しているので、この2つによって売買マークが出た日付けと時刻がわかります。

  3. 次図のように、最後行のあとに3行を追加します。これはBグループの条件で、14:50に決済するための 設定です。



Cオートマが生成した条件表を検証する

条件表No.27には、No.25の買いの条件とNo.26の売りの条件がまとめられています。この条件表の成績はどうなるのかを検証してみましょう。


  1. 日経225銘柄を選択し、

  2. 「検証」→「新規検証」をクリック。


  3. 条件表一覧からNo.27「Auto 高安値突破BS」を選択し、

  4. 「検証期間」を(500001〜599999)とします。

  5. 「売買共」を指示

  6. 買い仕掛けはNo.(6行)、売り仕掛けはNo.(7行)としておくと、条件表のNo.6行とNo.7行の数値が表示されます。

    (検証リストで、仕掛けた月日・時刻がわかります)

  7. 売買ルールを確認(次図)し、

  8. 「実行」ボタンをクリックすると検証が始まります。







売買ルール
  1. 仕掛けは、売買マークが出た次の足の始値で行う。

    ただしBグループが出す売買マークは(14:50で決済)のためのものなので、Bグループのチェック欄は空白にしておく(仕掛けはしない)。

  2. 時間切れは(999日)としているが、実際には999日(本)後に決済することはない。

    (条件表で14:50に決済するの条件をつけているので、仕掛けて60本以内に必ず決済されます)

  3. AグループまたはBグループで仕掛けと反対の売買マークが出たら決済する(決済K。ドテン売買)。

    仕掛ける時刻は9:00〜9:09までなので、9:00に買い仕掛けを して、9:09までに反対の売りマークが出ることはほとんどない。ドテン売買の機会はほとんど0%に近い)

    またBグループは14:50に売買マークを出すが、仕掛けの時刻は条件表によって、9:00〜9:09の間に限定されているのでドテン仕掛けをすることはない。

    したがって「決済K」のABCグループにチェックマークが入っていてもかまわない。

  4. ザラバで+2%の利益が出たら(利食い)する。


1分10秒で検証が終りました。

右の赤枠は(909)(905)と表示されていますが、これは9月9日の9:05(9:05〜9:09)に仕掛けたということを表しています。




「売買成績」を見ると、
  1. 利食率は59.4%で、目標の40%をクリアしています。

  2. トレード数は160回あります。

  3. 平均利益率は1.13%と目標の0.80%をクリアしています。

  4. 勝率は78.1%で、目標の70.0%をクリアしています。

  5. PFは4.97倍なので非常によい数字です。
だがこれらの数字は、同じ日に10銘柄が買いになったとき、10銘柄のすべてを仕掛けたときの成績です。

実際には1日に1銘柄のトレードをすることが多いでしょうから、「1日に1銘柄のトレードをする」としたときの成績を見る必要があります。1日に10銘柄の買い仕掛けが出たとき、実際には9:05分になったときか、9:10になったときに仕掛けが決定しますが、当然に9:05の時点で買いになっている銘柄を仕掛けることになります。どの銘柄が先に買いになっていたのかは、この検証ではわかりません。そこで便宜的に、「同じ日に買いとなった銘柄のうち、株価が最も高い銘柄を仕掛ける」として1銘柄に限定しました。

「損益経過」ボタンをクリック。


「損益経過の指示」の画面で右図のような指示をします。

重要なものは(f)の仕掛ける銘柄数は(1銘柄)とすること、(g)(h)で(高い)を指示する。の2点です。(なお(安い)を指示してもかまいません)

「損益経過」の「売買併記」で成績を見ると、売買共の
  1. トレード数は160回→47回に減りました。

  2. 平均利益率は0.59%(5.9M)

  3. 勝率は61.7%

  4. PFは2.17倍
です。この成績は表6-7)で掲げた「高安値突破」に(N日線カイリ)と(N日線とM日線のカイリ)の2つの局面を採用した(1日1銘柄仕掛け)の成績と比べるとずいぶんよい成績です。

(表6-7)のトレード数は67回、平均利益率は+0.24%、勝率は56.7%、PFは1.35倍でした。

(表7-1)オートマが生成したNo.27の成績。(9:00〜9:09仕掛け.14:50決済)
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
27 高安値突破C 47 29 18 21 44.6% +0.59% 61.7% 2.17倍
B   39 24 15 18 46.1% +0.63% 61.5% 2.45倍
S   8 5 3 3 37.5% +0.34% 62.5% 1.43倍

同様にして、(描画1)No.191「QE.パラボリックトリガー」とNo.192「QE.ボリンジャトリガー」を使って、条件表を姿勢し、1日に1銘柄の仕掛けに限定したときの成績を次に掲げます。

(表7-2)オートマが生成した3つのトリガーの成績。(9:00〜9:09仕掛け.14:50決済)
No. 条件表code B/S トレード数 勝ち数 負け数 利食数 利食% 平均% 勝率 PF
27 高安値突破C 47 29 18 21 44.6% +0.59% 61.7% 2.17倍
B   39 24 15 18 46.1% +0.63% 61.5% 2.45倍
S   8 5 3 3 37.5% +0.34% 62.5% 1.43倍
31 パラボリックC 20 16 4 14 70.0% +1.26% 80.0% 6.78倍
B   19 15 4 13 68.4% +1.22% 78.9% 6.31倍
S   1 1 0 1 100.0% +2.05% 100.0% 100.0倍
31 パラボリックC-2 31 24 7 20 64.5% +1.14% 77.4% 4.67倍
B   19 15 4 13 69.4% +1.14% 78.9% 4.71倍
S   12 9 3 7 58.3% +1.13% 75.0% 4.62倍
35 ボリンジャC 41 31 10 25 60.9% +0.93% 75.6% 3.07倍
B   20 16 4 13 65.0% +1.01% 80.0% 3.35倍
S   21 15 6 12 57.0% +0.85% 71.4% 2.82倍
36 ボリンジャ-C-2 68 51 17 35 51.4% 0.88% 75.0% 3.22倍
B   22 17 5 14 63.6% +0.98% 77.3% 3.33倍
S   46 34 12 21 45.6% +0.84% 73.9% 3.16倍
37 パラ31+ボリ35C 48 37 11 30 62.5% 1.01% 77.1% 3.63倍
B   26 21 5 17 65.3% +1.09% 80.8% 4.31倍
S   22 16 6 59.0% +0.91% 72.7% 3.03倍

上表で「パラボリックC」のほかに「パラボリックC-2」があります。「パラボリックC」はオートマが生成した条件表そのものですが、トレード数は20回しかありません。うち買いのトレードが19回で、売りのトレードは1回です。売りのトレードができていません。そこで、売りの条件行の最後尾から1行ずつ削って、売りのトレードが増えるようにしたのが「パラボリックC-2」です。

「ボリンジャC-2」は買いの条件行を少し削り、売りの条件行も少し削ったものです。これによってオートマが生成した「ボリンジャC」のトレード数41回が68回に増えています。

No.37「パラ31+ボリ35C」は、「パラボリックC」の売買条件をAグループに設定し、「ボリンジャC」の売買条件をBグループの設定し、14:50決済の条件をCグループに設定したものです。「パラボリックC」か「ボリンジャC」が売買マークを出すと仕掛けます。

上表には6本の条件表がありますが、次のような評価ができます。
  1. No.27「高安値突破C」はトレードが47回と立会い日数の56日よりも少ない。利食率(44.6%)は目標をクリアしているが、平均利益率(+0.59%)、勝率(61.7%)は目標に達していない。

  2. No.31「パラボリックC」のトレード数は20回と少なすぎる。同じく「パラボリックC-2」のトレード数は31回と少なすぎる。

  3. No.35「ボリンジャC」は、利食率(60.9%)、平均利益率(+0.93%)、勝率(75.6%)とすべて目標をクリアしているが、トレード数が41回とやや少ない(立会い日56日の約73%)。

  4. No.35「ボリンジャC-2」は、利食率(51.4%)、平均利益率(+0.88%)、勝率(75.0%)ですべての目標を満足しています。

  5. No.37「パラ31+ボリ35C」は、利食率(62.5%)、平均利益率(+1.01%)、勝率(77.1%)とすべて目標をクリアし、成績は最もよいが、トレード数が48回と目標の56回に不足している(立会い日56日の約85%)。仕掛けることがない日が15%程度あってもかまわないなら、この条件表が最も優れています。


(標準3)のNo.191〜No.194に、上記で設定した条件表を入れました。

《カナル24》の「アップデート」→「条件表をダウンロード」で、

@(標準3)日足用条件ファイルをダウンロードするか

E(サンプル0)日足用条件ファイルをダウンロードして、(サンプル0)のNo.19〜No.194をどこかの((標準3)に限らない)No.に「表複写」してください。

念のためにつけ加えておくと、この4つの条件表は「分足データ」を変換したデータでしか使えません。

(毎日データゲットから受信している普通の日足データには「月日」「時刻」の項目がないので、使えません。)




【8】定期的にすべき作業



この講座では、5分足のデータを使って条件表を生成しましたが、5分足データは1日に60本〜62本ができます。通常の日足データの60倍の量があります。したがって10個のデータディレクトリを連結させても最大で83日分(=5000本÷60)についてしか調べることができません。約4か月間です。

このように短期間のデータを手本にして作った条件表はいつまでも使えるものではありません。例えば1か月((20日)ごとにオートマで条件表を生成させるのがよいでしょう。定期的にやるべきことを箇条書きにしておきます。
  1. 8日ごとに、《アラーム24》の5分足データを《カナル24》でも扱えるデータに変換する。(これは日足データとしてDTKBxxに保存される。また「2バイトデータ」である。「4バイトデータとしては変換しない)

  2. 《Qエンジン24》の「ドライブ」で連結の設定をし直す。

  3. 新しく変換したデータディレクトリが2つか3つ増えたら、「オートマ」によって買いと売りの条件表を作り、これを1つの条件表にまとめる。

  4. 買いと売りの条件表を1つにまとめ、条件表の最後尾に(14:50で決済)の行を追加して、「新規検証」をする。

  5. トレード数が少なすぎるときは、買いや売りの条件行の下から順に削り、トレード数を増やす。ただし平均利益率や勝率が極端の低下したときは、削らない。

  6. 出来た条件表を《アラーム24》で使う。
となります。次にこれらの定期的な作業をする画面と概略を掲げます。




@カナルのデータへ変換する


1日に立会い時間は9:00〜11:30の150分間と12:30〜15:00の150分間、合計300分です。5分足なら5で割って60本(11:30と15:00に値段がついたときは62本)です。

カナルのデータは500日(本)が最大なので、8日間の分足を記憶することができます。(10分足を保存するなら16日間を記憶できる)

したがって《アラーム24》で8日間の分足データを受信し保存(アラームのデータはRTKB95に保存される)したならば、カナル24のデータに変換して下さい。


右図ではアラームデータ(RTKB95)を、カナルデータ(DTKB71)の変換しようとしています。

次の8日間がきたら、アラームデータ(RTKB95)を、カナルデータ(DTKB72)に変換します。(DTKB71→DTKB72・・・と数字を1つずつ増やします)

A《Qエンジン24》の「ドライブ」の設定をする。


右図では、DTKB77→DTKB77→DTKB76→DTKB75→DTKB74→DTKB73→DTKB72→DTKB71 の順にデータを連結する設定をしています。

新しい日付けのデータから順に、下方にいくほど古い日付けのデータにします。これはカナルの「連結」のしかたと同じです。











B「オートマ」で条件表を作る。



「オートマ」では6本の条件表を生成します。
  1. 描画用条件表は、@高安値突破、Aパラボリック、Bボリンジャ の3つがあります。(描画1)条件ファイルはダウンロードできます。No.190,No.19,No.192 に設定してあります。
  2. 注雑ファイルは何番を使ってもかまいません。
  3. 計算用条件表はNo14「一般銘柄D」を使います。(計算2)条件ファイルはダウンロードできます。
  4. 生成先の条件ファイルと条件表No.を指定します。

買いの条件表はだいたい6分間でできます。続いて売りの条件表を生成します。

売りの条件表も6分あれば生成されます。合わせて12分です。

C買いと売りの条件表を1つにまとめて「新規検証」をする


買いの条件表と売りの条件表とは別の条件表No.に、買いと売りの条件表を「コピー」して「貼り付け」ます。

条件表の最後尾に(14:50で決済)の行を追加します。

「新規検証」をします。だいたい2分以内に検証は終ります。

こうして、1つのトリガーから条件表を作るのに要する時間は、@買いの条件表生成が6分、A売りの条件表生成が6分、B買いと売りを1つにまとめるのに2分、C検証に2分 の合計16分。だいたい20分で《アラーム24》で使える条件表ができ上がります。

あと2つのトリガーから条件表を生成しても40分。全部で60分間で条件表ができるわけです。








Dトレード数が適当な数になるように条件表を調整する


「検証」の計算が終ったら「損益経過」で、1日に1仕掛けの指定をして、@トレード数、A利食率、B平均利益率、C勝率 をチェックする。

トレード数が50〜80程度になるように、条件表の買いや売りの行の最後尾から削って調整する。

ただし、、、 A利食率が(40%)、B平均利益率が(+0.80%)、C勝率が(70%)よりも大きく低下するときは削った行を元に戻す。

この作業は1つの条件表につき15〜30分かかるかも知れませんが、それでも3つの条件表について1〜2時間かければ調整できます。



講座目次へ.

株式会社 東研ソフト

執筆:坂本 正治