久しぶりにアクセス履歴を確認すると、
増田正美 MM法
というキーワードでGoogle検索で僕のサイトに訪問する客が多い事が分かった。
えっ……誰?
あぁ……、4年前にProtraを始めた頃にバックテストした事があったのね。
ってか、今更だけど「マサミ」だと思ってたわ……!
写真見たら、定年退職した男性じゃねーか!
僕のイメージしていたマサミを返せ!
【僕のイメージ】
マサミ「私を捕まえてご覧なさい〜♪」
僕「はは!待てよ〜マサミ♪」
で、「マスダ・マサヨシ」でMM法って事か?
自分の名前を手法につけるなんて羨ましいなぁ……糞。
何度も書いてるけど僕のイニシャルなんて
KY(空気読めない)
だからね。
二言目には上司から
「だから、お前はKYなんだよ!」
と、何度怒られた事か……。
因みに、ちびまる子ちゃんの「丸尾 末男(まるお すえお)」は
SM
だ。
原作のおまけページp.115で
先生!丸尾スエオ、自分のイニシャルだけは情けなくてかけません
と泣いていたのを覚えてる。
増田正美(ますだ まさよし)氏って誰?
増田正美氏は、1927年生まれ。
大阪大学理学部卒。理学博士。
高エネルギー物理学研究所名誉教授、元東京工業大学教授、元湘南工科大学教授。
と書籍のプロフィールに書いてあった。
大学の教授か……。
で株歴は?
次のように書かれていた。
60歳で株を始め、得意の数字を駆使したMM法を編み出し2002年から講演を始めた。
株屋さんが着目し、毎日新聞に言ったところ「出版しよう」ということになった。
その後、パンローリングさんが目をつけて講演会を催した。……らしい。
なお、2006年4月4日に他界されたと、他のサイトで知った。
享年79歳。この業務の身体・肉体的な疲れもあるんじゃない?
因みに「MM法」は増田氏のイニシャルだが本人ではなく「ある証券会社の人間」が付けたものらしい。
私が「そんなみっともないことやめてくれ」と言うと、「これ、マネー・メーキングですよ」と答えたので、「ああ、それなら、まあいいだろうと」、こうなっているわけです。
個人投資家は、ファンダメンタルには頼れない(アナリストミーティングに呼ばれる事はなく、そこで得た情報も裕福層にだけ流される為)。
なのでテクニカルしかないが、テクニカルでは長期分析はできない。
結果、個人投資家は、テクニカル分析の短期売買しかない。
とのこと。
MM法の有効性検証
MM法は取る利確を最大にするのが目的。
そして、MM法はトレンド系テクニカル指標を旗艦として、他と組み合わせて艦隊をつくる。
前者としてボリンジャーバンド、後者にRSI、DMI、MACDを配備する。
ただし使用する平均日は短期に変更する。
MM法は「順張り」を前提とした手法であって「逆張り」「押し目買い」ではない。
「底で買い、天井で売る」手法をとる。
……らしい。
言葉ではいくらでも言える、欲しいのは結果だ。
【基本設定】
- 1) 株価の低い場合はランキングしない[250]円以下
- 2) 売買代金の少ない場合はランキングしない(売買代金の[5]日間平均が[100]千万円以下の場合)
- 3) 単利利用、通年
- 4) 東証一部のみ(株価の動きが予測できないから)
【買いルール】
- 株価がボリンジャーバンド(20日)の-2.0σより安い
- RSI(13日)が25以下
- ADX(平均1日)で75以上
- MACD(1日)がGC(ゴールデンクロス)直前
MACDは「シグナルを下から突き抜けたら(ゴールデンクロスしたら)買い」と言われる。
システムトレードで実施するため、MACDが0より下と変更している人もいた。
【手仕舞いルール】
- 含み益が20%以上(利確)
- 仕掛けから暦日で60日経過(期限切れ)
なお、売りの場合は次なようになる。
【売りルール】
- 株価がボリンジャーバンド(20日)の+2.0σより高い
- RSI(13日)が75以上
- ADX(平均1日)が75%以上
- MACD(1日)がDC(デッドクロス)直前
テクニカル指標は何度も説明しているので簡単に紹介しておく。
正直、こんなオカルトを覚えても仕方ないと思ってる。
ボリンジャーバンド(Bollinger Bands)
ジョン・ボリンジャー(John Bollinger)が1980年代前半に考案した手法。
移動平均線と標準偏差で構成されており、移動平均を表す線とその上下に値動きの幅を示す線を加えた指標。
RSI (Relative Strength Index) 相対力指数
J.W.ワイルダー(Welles Wilder) が1978年に考案した手法。
- 指数70%以上で「買われすぎ」で売りシグナル点灯
- 指数30%以下で「売られすぎ」で買いシグナル点灯
の状態となる。
平均方向性指数(ADX = Wilder DMI)
こちらも、RSIなどを開発したJ.W.ワイルダー(Welles Wilder) が1978年に考案した手法。
ADXは0〜100の範囲にあり、高い値は強気トレンドを示し、低い値は弱気トレンドを示す。
移動平均収束発散法(MACD)
ジェラルド・アペル(Gerald Appel) が1979年に考案した手法。
オシレーター分析とトレンド分析を組み合わせたテクニカル分析の手法。
移動平均線よりも直近の値動きの影響度を高めることでより売買タイミングを早く掴める。
バックテスト結果
オリジナルの結果
計算時間は東証一部だけで3時間30分。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
銘柄リスト: 東証1部 2000/01/07~2021/08/17における成績です。 ---------------------------------------- 全トレード数 918 勝ちトレード数(勝率) 486(52.94%) 負けトレード数(負率) 432(47.06%) 全トレード平均利率 0.61% 勝ちトレード平均利率 10.85% 負けトレード平均損率 -10.91% 勝ちトレード最大利率 57.18% 負けトレード最大損率 -52.86% 全トレード平均期間 56.00 勝ちトレード平均期間 52.80 負けトレード平均期間 59.59 ---------------------------------------- 必要資金 ¥3,842,200 最大ポジション(簿価) ¥2,999,800 最大ポジション(時価) ¥3,628,600 純利益 ¥2,707,600 勝ちトレード総利益 ¥21,309,600 負けトレード総損失 -¥18,602,000 全トレード平均利益 ¥2,949 勝ちトレード平均利益 ¥43,847 負けトレード平均損失 -¥43,060 勝ちトレード最大利益 ¥277,200 負けトレード最大損失 -¥266,400 プロフィットファクター 1.15 最大ドローダウン(簿価) -¥1,449,000 最大ドローダウン(時価) -¥2,103,800 ---------------------------------------- 現在進行中のトレード数 8 ---------------------------------------- 平均年利 3.20% 平均年利(直近5年) -0.82% 最大連勝 10回 最大連敗 8回 ---------------------------------------- [年度別レポート] 年度 取引回数 運用損益 年利 勝率 PF 最大DD 2021年 27回 ¥189,800円 4.94% 59.26% 1.56倍 -19.55% 2020年 38回 -¥484,800円 -12.62% 42.11% 0.55倍 -41.13% 2019年 46回 ¥98,400円 2.56% 52.17% 1.13倍 -24.82% 2018年 45回 -¥319,700円 -8.32% 42.22% 0.69倍 -27.44% 2017年 43回 ¥358,700円 9.34% 62.79% 1.66倍 -29.90% 2016年 41回 -¥674,600円 -17.56% 36.59% 0.45倍 -30.91% 2015年 44回 ¥650,900円 16.94% 63.64% 2.30倍 -21.14% 2014年 42回 ¥373,500円 9.72% 54.76% 1.63倍 -25.93% 2013年 42回 ¥1,123,300円 29.24% 76.19% 5.20倍 -19.60% 2012年 40回 ¥101,700円 2.65% 52.50% 1.10倍 -45.58% 2011年 39回 -¥703,500円 -18.31% 35.90% 0.45倍 -31.10% 2010年 37回 ¥49,600円 1.29% 54.05% 1.07倍 -32.09% 2009年 44回 ¥832,000円 21.65% 56.82% 2.03倍 -20.74% 2008年 55回 ¥200,500円 5.22% 47.27% 1.13倍 -52.86% 2007年 48回 -¥425,200円 -11.07% 47.92% 0.69倍 -44.44% 2006年 42回 ¥61,200円 1.59% 54.76% 1.09倍 -21.74% 2005年 44回 ¥848,000円 22.07% 75.00% 3.94倍 -16.89% 2004年 37回 ¥611,500円 15.92% 64.86% 2.38倍 -51.27% 2003年 41回 ¥646,200円 16.82% 70.73% 2.08倍 -37.86% 2002年 42回 -¥611,200円 -15.91% 35.71% 0.50倍 -45.56% 2001年 40回 -¥468,300円 -12.19% 45.00% 0.65倍 -38.13% 2000年 41回 ¥249,600円 6.50% 41.46% 1.26倍 -42.40% |
利益曲線は次のとおり。
ボロボロじゃねーか!
手仕舞いルールを変えてみる。
手仕舞いルールを変更した結果
今風に手仕舞いを5日(営業日3日)以内、含み益が5%、含み益が-3%以下で再度確認してみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// 1) 利食い:含み益が5%以上 if (Close >= 1.05 * $buy[i]) PrintLog("利食い") $sellflag[i] = 1 $set[i] = 0 // 2) 損切り:含み益が-3%以下 elsif (0.97 * $buy[i] >= Close) PrintLog("損切り") $sellflag[i] = 1 $set[i] = 0 // 3) 損切り:5日経過(営業日3日で近似) elsif ($set[i] >= $MaxHoldDay) $sellflag[i] = 1 $set[i] = 0 end |
バックテスト計算時間は7時間30分。
簡単な手法なのに時間かかり過ぎ & 3回実装間違ったわ……フザケてる。
全銘柄を対象にしたが、売買代金の少ない場合はランキングしない事で東証一部上場ができる限り選ばれるようにしている。
もうすぐ東証の市場再編(市場区分見直し)があるからね。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
株価データ: 日足 銘柄リスト: 全銘柄 2000/01/07~2021/07/05における成績です。 ---------------------------------------- 全トレード数 5159 勝ちトレード数(勝率) 2598(50.36%) 負けトレード数(負率) 2561(49.64%) 全トレード平均利率 0.33% 勝ちトレード平均利率 3.73% 負けトレード平均損率 -3.12% 勝ちトレード最大利率 38.29% 負けトレード最大損率 -39.31% 全トレード平均期間 4.16 勝ちトレード平均期間 4.24 負けトレード平均期間 4.08 ---------------------------------------- 必要資金 ¥2,425,600 最大ポジション(簿価) ¥2,999,416 最大ポジション(時価) ¥3,640,100 純利益 ¥7,059,064 勝ちトレード総利益 ¥40,004,380 負けトレード総損失 -¥32,945,310 全トレード平均利益 ¥1,368 勝ちトレード平均利益 ¥15,398 負けトレード平均損失 -¥12,864 勝ちトレード最大利益 ¥185,700 負けトレード最大損失 -¥144,000 プロフィットファクター 1.21 最大ドローダウン(簿価) -¥1,496,168 最大ドローダウン(時価) -¥1,621,933 ---------------------------------------- 現在進行中のトレード数 3 ---------------------------------------- 平均年利 13.23% 平均年利(直近5年) -6.68% 最大連勝 9回 最大連敗 13回 ---------------------------------------- [年度別レポート] 年度 取引回数 運用損益 年利 勝率 PF 最大DD 2021年 162回 -¥34,940円 -1.44% 48.77% 0.96倍 -9.23% 2020年 295回 -¥870,195円 -35.88% 44.75% 0.69倍 -19.80% 2019年 270回 ¥274,122円 11.30% 49.26% 1.19倍 -14.89% 2018年 344回 -¥668,337円 -27.55% 45.93% 0.73倍 -11.76% 2017年 305回 ¥489,632円 20.19% 54.75% 1.42倍 -14.29% 2016年 262回 ¥353,264円 14.56% 50.76% 1.22倍 -14.47% 2015年 267回 ¥463,974円 19.13% 51.69% 1.34倍 -11.55% 2014年 262回 ¥218,022円 8.99% 50.76% 1.13倍 -15.55% 2013年 204回 ¥756,160円 31.17% 57.35% 1.65倍 -18.76% 2012年 217回 ¥126,000円 5.19% 46.08% 1.09倍 -10.44% 2011年 223回 -¥418,300円 -17.25% 50.67% 0.79倍 -39.31% 2010年 196回 ¥265,100円 10.93% 52.55% 1.29倍 -11.37% 2009年 231回 ¥1,093,500円 45.08% 57.58% 1.90倍 -14.07% 2008年 282回 ¥1,423,870円 58.70% 55.32% 1.58倍 -20.88% 2007年 327回 ¥1,300円 0.05% 48.62% 1.00倍 -11.68% 2006年 233回 ¥627,800円 25.88% 52.36% 1.41倍 -14.92% 2005年 196回 ¥376,132円 15.51% 61.22% 1.46倍 -12.22% 2004年 186回 ¥671,700円 27.69% 59.68% 1.80倍 -15.37% 2003年 136回 ¥234,300円 9.66% 58.82% 1.26倍 -17.28% 2002年 188回 ¥433,760円 17.88% 54.79% 1.33倍 -11.57% 2001年 209回 ¥221,100円 9.12% 49.28% 1.14倍 -19.44% 2000年 164回 ¥1,021,100円 42.10% 56.71% 1.82倍 -18.57% |
利益曲線は次のとおり。
うーん2018年頃までは、ある程度キレイな増加を見せてたんだなぁ……。
増田氏のいう通り東証一部だけにしても、利益曲線にしても結果は殆ど変わらないわ。
とはいえ、システムトレードで今でも使っている人いないんじゃないかなぁ。
やっぱり、テクニカル分析による投資は難しい気がするなぁ……。
空売りの場合
空売り手法もバックテストやってみた。計算時間は4時間。
ソースコードの変更箇所はここ。
1 2 3 4 5 6 7 8 9 |
// 株価がボリンジャーバンド(20日)の+2.0σより高い flag1 = Close > bb_v + 2 * bb_d // RSI(13日)が25以下 flag2 = rsi >= 75 // ADX(平均1日)で75以上 flag3 = 75 >= adx // MACD(1日)がDC(デッドクロス)直前 flag4 = macd_old >= signal_old && macd <= signal if (flag1 && flag2 && flag3 && flag4) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
株価データ: 日足 銘柄リスト: 貸借(東証一部+二部) 2000/01/06~2021/07/05における成績です。 ---------------------------------------- 全トレード数 6895 勝ちトレード数(勝率) 3617(52.46%) 負けトレード数(負率) 3278(47.54%) 全トレード平均利率 0.14% 勝ちトレード平均利率 3.56% 負けトレード平均損率 -3.64% 勝ちトレード最大利率 33.10% 負けトレード最大損率 -87.87% 全トレード平均期間 4.10 勝ちトレード平均期間 3.95 負けトレード平均期間 4.27 ---------------------------------------- 必要資金 ¥2,756,200 最大ポジション(簿価) ¥2,999,100 最大ポジション(時価) ¥3,319,400 純利益 ¥3,634,500 勝ちトレード総利益 ¥52,673,500 負けトレード総損失 -¥49,039,000 全トレード平均利益 ¥527 勝ちトレード平均利益 ¥14,563 負けトレード平均損失 -¥14,960 勝ちトレード最大利益 ¥150,000 負けトレード最大損失 -¥430,200 プロフィットファクター 1.07 最大ドローダウン(簿価) -¥3,683,700 最大ドローダウン(時価) -¥3,706,900 ---------------------------------------- 現在進行中のトレード数 4 ---------------------------------------- 平均年利 5.99% 平均年利(直近5年) 4.04% 最大連勝 12回 最大連敗 10回 ---------------------------------------- [年度別レポート] 年度 取引回数 運用損益 年利 勝率 PF 最大DD 2021年 209回 ¥591,700円 21.47% 56.94% 1.54倍 -12.05% 2020年 376回 -¥12,000円 -0.44% 52.93% 1.00倍 -24.04% 2019年 376回 ¥47,600円 1.73% 49.47% 1.02倍 -10.36% 2018年 360回 ¥626,100円 22.72% 56.11% 1.30倍 -19.30% 2017年 436回 -¥696,700円 -25.28% 44.04% 0.74倍 -20.40% 2016年 339回 -¥53,700円 -1.95% 51.62% 0.98倍 -87.87% 2015年 389回 -¥614,500円 -22.30% 46.02% 0.79倍 -28.96% 2014年 357回 -¥507,500円 -18.41% 52.66% 0.83倍 -59.46% 2013年 371回 -¥1,142,600円 -41.46% 50.13% 0.74倍 -51.23% 2012年 302回 -¥335,200円 -12.16% 56.62% 0.86倍 -46.34% 2011年 249回 -¥173,100円 -6.28% 53.01% 0.90倍 -31.87% 2010年 282回 ¥341,300円 12.38% 57.80% 1.25倍 -13.45% 2009年 275回 ¥657,700円 23.86% 56.36% 1.34倍 -23.00% 2008年 240回 ¥1,428,300円 51.82% 64.58% 1.98倍 -25.88% 2007年 342回 ¥1,197,300円 43.44% 60.23% 1.65倍 -28.06% 2006年 345回 ¥775,600円 28.14% 56.52% 1.45倍 -11.53% 2005年 417回 -¥1,299,000円 -47.13% 50.60% 0.66倍 -55.42% 2004年 307回 ¥83,000円 3.01% 54.72% 1.04倍 -32.90% 2003年 302回 ¥145,500円 5.28% 55.96% 1.06倍 -61.98% 2002年 165回 ¥636,500円 23.09% 66.06% 1.70倍 -11.97% 2001年 213回 ¥1,023,300円 37.13% 61.97% 1.93倍 -11.90% 2000年 243回 ¥914,900円 33.19% 61.73% 1.47倍 -33.68% |
利益曲線は次のとおり。
ボロボロだぁ……。
東証一部だけでも、ほとんど変わらず。
おまけ程度に
空売りは数値を逆にすれば良いです。
と書いている人は大抵「空売り」の結果を確かめてないからね。
昔、「オセロ」ページのサイトに「最弱アルゴリズム」を紹介した際に
「評価関数の値を逆にすれば良い」
と書いたことがある。
真面目に実験された方がいて、抗議のメールが届いたからね。
単に評価関数を符合反転するだけでは、弱いとも強いともいえないレベルになる。
株の手法も同じ。
まとめ
今回も古典をやってみた。
昔と比べてかなりロジック作成が慣れてきたので、これが本当の増田氏の手法を使った際の実力だと思ってる。
まぁ2015年頃までに始めた人は大儲けしていたんだろうなぁ……。
時期が遅すぎたよ……。
でも、おかげで撤退すること無く新たな「聖杯探し」に夢を持つことができているんだけどね。
ソースコード
バックテストには無料OSSの「Protra」を利用した。
TIlib、Utility、TrendCheck、TOPIXライブラリはGitHubに置いている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 |
# loop-type: date-only //============================== require "TIlib" require "Utility" require "TrendCheck" //========================================== // MM法の有効性検証 // // 1) 株価がボリンジャーバンド(20日)の-2.0σより安い // 2) RSI(13日)が25以下 // 3) ADX(平均1日)で75以上 // 4) MACD(1日)がGC(ゴールデンクロス)直前 //========================================== codes = CodeList if ($code_num && $code_num != Length(codes)) Print("前回と異なる銘柄リストでは実行できません。") Dummy end $code_num = Length(codes) //グローバル変数を初期化 if (!$__INIT__) $budgetIni = 3000000 $buyUnit = 500000 // 1回の購入資金 (50万円) $MaxHoldDay = 3 // 最大保有日数 $shortSelling = 0 // 空売り戦略 Yes(1)/No(0) $Interest = 1 // 無制限(0) / 単利(1) / 複利(2) $reverse = 0 // 購入順序 昇順(0) / 降順(1) $udcount = 0 // 騰落レシオ利用数 Init() //------------------------------------------------ $BB = [$code_num] $RSI = [$code_num] $DMI = [$code_num] $MACD = [$code_num] $MACD_old = [$code_num] //------------------------------------------------ InitDone() // 騰落レシオ初期化 $__INIT__ = 1 end def Main(i) //================================================== // 条件(買条件, 売条件共通部分) //================================================== //まだ上場していない銘柄は株価データがないためnullが返る if (Index == null) return end if ($order[(int)Code] == -1) $order[(int)Code] = i end if ! ($BB[i] && $RSI[i] && $DMI[i]) //Tilibのオブジェクト生成 $BB[i] = BB_new(20) // Bollinger Bands(20日) $RSI[i] = RSI_new(13, 0) // RSI(13日) $DMI[i] = DMI_new(14, 1, 0) // ADX(1日) $MACD[i] = MACD_new(5, 20, 1) // MACD(5,20日) シグナル(1日) $MACD_old[i] = MACD_new(5, 20, 1) // MACD(5,20日) シグナル(1日) //銘柄ごとのグローバル変数を初期化する $hold[i] = 0 return end //指標の計算を1日進める BB_next($BB[i]) RSI_next($RSI[i]) DMI_next($DMI[i]) MACD_next($MACD[i]) MACD_next($MACD_old[i]) //================================================== // 保有してない→購入 //================================================== if ! ($hold[i]) if ! (Close && {-1}Close && Volume) return end // 1) 株価の低い場合はランキングしない[250]円以下 // 2) 売買代金の少ない場合はランキングしない(売買代金の[75]日間平均が[100]千万円以下の場合) if (TradingValume(5) <= 1000000 || Close <= 250) return end bb_v = BB_value($BB[i]) bb_d = BB_deviation($BB[i]) rsi = RSI_value($RSI[i]) adx = DMI_adx($DMI[i]) macd = MACD_value($MACD[i]) signal = MACD_signal($MACD[i]) macd_old = MACD_value($MACD_old[i]) signal_old = MACD_signal($MACD_old[i]) if ! (bb_v && bb_d && rsi && adx && macd && signal && macd_old && signal_old) return end //================================================== // 売買(買い) //================================================== // 株価がボリンジャーバンド(20日)の-2.0σより安い flag1 = bb_v - 2 * bb_d > Close // RSI(13日)が25以下 flag2 = rsi <= 25 // ADX(平均1日)で75以上 flag3 = 75 >= adx // MACD(1日)がGC(ゴールデンクロス)直前 flag4 = macd_old <= signal_old && macd >= signal if (flag1 && flag2 && flag3 && flag4) $buyflag[i][0] = 1 $buyflag[i][1] = rsi $buyflag[i][2] = 1 $buyCnt = $buyCnt + 1 end //================================================== // 保有している→売却 //================================================== elsif ($hold[i]) if ($set[i] < 1) $set[i] = 1 return end $set[i] = $set[i] + 1 //================================================== // 売買(売り) //================================================== // 1) 利食い:含み益が20%以上 if (Close >= 1.20 * $buy[i]) PrintLog("利食い") $sellflag[i] = 1 $set[i] = 0 // 2) 損切り:60日経過(営業日40日で近似) elsif ($set[i] >= $MaxHoldDay) $sellflag[i] = 1 $set[i] = 0 end end end //==================== // 買い処理 //==================== def SortBuy() if ! (HasPricedata({1}Open)) return end $long = 0 $long = Num($buyUnit, Close) codeset = $order[(int)Code] Buying(codeset) end //==================== // 売り処理 //==================== def Sell_(i) if ($sellflag[i]) // 当日のCloseで売る Selling(i) $sellflag[i] = 0 $buyflag[i][2] = 0 end // 使用した$buyflag 配列を初期化 if ($buyflag[i][0]) $buyflag[i][0] = 0 $buyflag[i][1] = 0 end end //==================== // 銘柄コードを変えながらMain関数,BuySell関数を実行 //==================== Print("-------------------------------------------------") Print("日付 = "+ Year + "/" + Month + "/" + Day) $buyCnt = 0 // 購入数初期化 i = -1 while (i + 1 < $code_num) i = i + 1 {codes[i]}Main(i) end i = 0 if ($buyCnt) sortList = SelectionSort($buyCnt, 0) while i < $buyCnt {sortList[i]}SortBuy() i = i + 1 end end //---------------------------------------------- i = -1 while (i + 1 < $code_num) i = i + 1 {codes[i]}Sell_(i) end |