※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

久しぶりの更新です。
永らくほったらかしていましたが、まだ更新していきたいと思います。

マクロを直接実行する際、○年○月○日時点で検索したい場合、、
これまでは
zzenddno:=datedno(130125);
という記述で行っていたのですが、訂正した方が良さそうです。
日足は問題なさそうなのですが、週足、月足でうまくいかなかったので、紹介します。

ワタミ7522です。
上場したのが、そんなに古くない銘柄です。



日足データの最新番号(dno)は4074です。



伊藤忠8001です。
当然、上場も最古参です。



日足最新dnoは6283



右上検索窓に7522と入力し、チャート画面をワタミに戻して、マクロの画面にします。



検索ループの銘柄を8001のみにして、昨日の日付にします。



マクロの終わりの方に
pause;
を入れます。
有効な命令なのですが、なぜか色が変わりません。まあ問題ないです。
これで、マクロ中の変数がどうなっているか確認できます。



runボタンを押したところです。
左の窓に、マクロで使われた変数が出てきます。ここでは
zzenddnoが検索したい日
enddnoが今日の日付です。
493が今日の日付かどうか確認するため、マクロ内で株価データを格納したzzdata[493]を見てみましょう。
赤丸の四角で囲まれた+をクリックすると展開されますので、zzdata[493]を探しましょう。



zzdata[493][0]が今日の日付なのが確認できますね。
つまり、日足チャートなら、表示しているチャート銘柄に左右されず、きちんとenddnoが反映されている、ということです。



さて、問題の週足です。
週足ボタンを押して、ワタミの週足を見てましょう。



週足データの最後(今週)のdnoは867です。



続いて伊藤忠です。



今週のdnoは1327です。



チャート画面をワタミに戻して、マクロの画面を開きます。
hiashiをshuashiに戻し、検索対象日が週末なのをチェックして



左の「配列表示数」を大きくして
マクロの後ろの方にpause;を置いて実行します。
すると、さっき日足ではenddnoが493だったのに、openなどの配列数が850にもなっています。
チャート表示サイズは日足と週足で変えていません。
なんか変です…



下の方を見てみると、株価を読み込ませたzzdataだけ1327になっています。



readkabudataのヘルプを見ると、ReadAllDataFlagがtrueになっているかのようですが、
このマクロでは、上の画面の通り、falseにしてあります。
まあ、これはヘルプには載ってないんですが、仕様、ということなのでしょうね。
日足データから週足データを作成しているため(?)なのでしょう。



念のため、データを見てみましょう。
今日の株価データは1327ですが、
検索対象日zzenddnoがチャート表示されているワタミのenddnoになってますので、849。



ということは、やはり、とんでもない日を検索対象にしてしまっています。



これを回避するために、検索対象日を、こう記述してみましょう。
1時間ほどかけて、なんとか頭から捻り出てきました。



これなら、



ちゃんと検索したい日で動作してくれています。




ということで、日足ならenddno:=zzenddnoでも問題なさそうですが、以降は上記記述を使うことにします。

これで問題解決と思いきや、まだ変なところがありました。
5週終値平均の上昇を買い、下落を売り候補として検索したところです。
左窓には、検索されたコードと、平均線からの乖離率を表示しています。
なぜか、同じ乖離率のコードが連続していますね、明らかに変です。



乖離率が連続して同じ表示になってしまっている銘柄で、おかしな部分です
上の石油資源開発は平均線上昇、下の間組は平均線が下落してるのに買になってしまっています。
乖離率も2銘柄とも20%と表示されていますが、一目でおかしいことがわかります。




おかしな部分で、pauseをあちこちにおきつつ、rerunボタンを使いながら途中で止めたところです。
検索対象の前の銘柄のデータが残ってしまっていました。



ループ部の最後の辺りに、データをクリアする命令を追加します。
今度こそ、大丈夫そうです。