【株解析チャートから自動発注ロボットまで ExcelVBAで極めるシステムトレード】

よくあるご質問

(1) IE7で不具合が発生する件
(2) Yahooファイナンステーブル位置の変更方法が解らない
(3) t03-移動平均チャートの移動平均線が目盛りと合っていない
(4) Excel2007のチャート不具合の件
(5) 株価取得の自動記録が本に紹介通りにならない
(6)KIkabu(MACD)で、何箇所か前日より高いOSCIの日に売り検討が表示されます



(1) IE7で不具合が発生する件
(1)-1 「質問」2008年6月1日 23:13 
はじめまして
数日前に書籍を購入したHaと申します。サンプルマクロが収録されているCDROMですが、
HDDにコピーし読み取り専用を解除しいくつかのマクロをテストいたしましたが、
当方使用のWindows Vista? UltimateExcel2000の環境では画像のようなエラーが表示され
実行不可能な状態にあります。

webに公開されておられる19鍋蓋(ナベブタ)足チャートは正常にデータ取得できているようです。
※過去にマクロ関連で同エラーは発生したことはありません。ご回答よろしくお願いします。

<以下添付図>


----------------------------------------------------------------------------------------------------------
(1)-2 「Excel VBAで極めるシステムトレードでサンプルツール「t13株価記録」の使用方法についての質問」2008年6月17日 12:13 
Excel VBAで極めるシステムトレードでサンプルツール「t13株価記録」の使用方法を
実行すると実行時エラー1004がでます。
[指定したフォルダーがあることを確認します]とでますが、このフォルダーはどこで指定すれ
ばよいのですか,具体的に教えてください。


********************************************************************************************************
<回答>
執筆時期及び本発行の2008/1月頃は、初期のIE7を使用していた時は動きました。
しかし、2008/2月ころのIE7バージョンアップでExcelクエリが不安定またはエラー発生するようになりました。
エラー内容は上記(1)-1の添付図です。エラー発生原因は以下を参照願います。

以下は、2008/2/29(Fri) 21:06 に掲示版で下髭さんに頂いた情報です
 
IE7でヤフーから株価データを取得する場合、40件以上データを取得するたびにインターネット一時
ファイルを消去しなければならない場合についてマイクロソフトから回答が来ました
[問い合わせ概要]
IE7 で Web クエリがエラーになる。
 
[回答]
この度は長時間、調査にお時間を頂戴しまして誠にありがとうございました。
 
これまでにお問い合わせいただきました同様の現象、お寄せいただきました情報を元に調査を進めまし
たところ、本件は Internet Explorer 7 のセキュリティ設定により外部パラメータの使用に制限が加え
られたことに起因する現象であることがわかりました。
 
お客様には、以前のバージョンと同様の動作ができないことでご不便をおかけいたしまして誠に申し訳
ございませんが、セキュリティホールの解消のためにこの変更が加えられており、現在のところ改修の
予定はございません。何卒ご了承くださいますようお願い申し上げます。

上記のように、IE7ではExcelのWebクエリを使用して連続でデータを取得できません。 書籍のサンプルマクロt1〜t10は連続所得機能がないので、一時ファイルを 削除すれば、1銘柄の取得は出来るはずです。
t13のようなリストで多数銘柄取得は40銘柄以上でエラーになるので、そのつど「ファイルの削除」が必要です。

「ファイルの削除」はIE7メニューの「ツール」【インターネットオプション」をクリックして「全般」の一時ファイルの「削除」ボタンをクリックします。表示されたインターネット一時ファイル項目の「ファイルの削除」で一時ファイルを削除できます。

なお、HPに公開しているマクロは動くと連絡がありますが、これは2008/4月に1部のマクロをIE7対応版に改善しました。
このページ ⇒ 解析ツール概略  を参照願います。(3)項表のNo11〜19がIE7対応版、20〜35はIE7で動きません。

IE6では問題なかったが、上記のようにExcelのWebクエリを使用方式はIE7、IE8では不具合が発生ます。
解決するために新取得方法を開発したが、これは下記の本で紹介してあります。
新・Excel VBAで極めるシステムトレード~最強パワーアップ編

 ▲ページトップ


(2) Yahooファイナンステーブル位置の変更方法が解らない
(2)-1 「貴書籍の65ページの事例1-14について」2008年5月5日 15:24 
はじめまして、貴書籍『株式システムトレード』の読者(VBA初心者)です。 Yahooファイナンスのテーブル位置変更時の対処として、事例1-13と事例1-14が65ページに出ています。事例1-13の方は、マクロの編集画面で同じ記述を見つけて変更できたのですが、事例1-14の方は同じ記述の箇所をマクロの編集画面で見つけられませんでした。あれこれ考えてやってみたのですが、わかりません。
お手数ですが、教えていただけないでしょうか?当方はWindows XPで、Excel 2002を使用しています。 よろしくお願いいたします。

<回答>
事例1-14のPublic Const teblsua As Integer = 14をPublic Const teblsua As Integer = 10に変更したマクロを添付送付します。 これで解からない場合は再度メールを下さい。

時系列データのt01からt10までは、事例1-13にありますように、Const ytable As Integer = 23 の文を見つけて、20に変更することができましたが、t11では、事例1-14のPublic Const teblsua As Integer = 14 の文を見つけられないのです。時系列のマクロはModule1(コード)、t11の場合はModule2(コード)となっていますが、これは何か関係あるのでしょうか?

<回答>
Public Const teblsua As Integer =10の場所を図面で送ります。
>t11でも、マクロは冒頭の行が、Public Const ・・・・
はModule2でここにはありません。記載場所はModule1です。これで解かるでしょうか?


「Module2が開いているのだからModule1があるはず..」とは思いつつも、移動の方法がわからなかったのです。あまりにも初心者で申し訳けないです。


(2)-2 「t13株価記録が使用できない」2008年6月14日 10:53 
Hahooファイナンスのテーブル位置を23から20へ変更しました結果t01からt10まではOKとなりましたが、t13「株価記録」の場合は>> (変更前:Public Const ytable As Integer = 23 )の記録が見当たらないので、どこを変更すれば良いのか分かりません。

<回答>
t01からt10とt13は「module1シート」で同じ場所です
なぜt13だけ解からないのか不思議ですが、図面を送ります(20に変更済み)


t13にはこれだけしか入っていません。「module1シート」ではなく「module3シート」だけしか入っていません。 お手数をおかけしますが、よろしくお願いします。

<回答>
「module1シート」「module2シート」のあるマクロを送付します。 なお、module1・module2がないと言うことはCD-ROMが壊れていると思われがなぜ壊れたかは解かりません。数千枚作成のCD-ROMで1枚だけ2モジュール削除って出来るのかな?

 ▲ページトップ


(3) 「t03-移動平均チャートの移動平均線が目盛りと合っていない」2008年6月2日 14:48
t03-移動平均.xlsを使って勉強してます。教えていただきたいのですが、5日と25日のグラフの位置が日足に比べて 下にずれているのですが、直すのはどうしたらよろしいでしょうか。左端の数字ラインと日足は合っていますが。

<回答>
失礼しました。マクロにミスあり以下の訂正をお願いします。
下記の訂正前のように、第1軸と第2軸を同じ計算式ですが別々に計算しています。移動平均とローソ足の最低値が同じ場合は問題 ないが、異なる場合は目盛り変わってしまいチャートの表示位置がズレルケースがあります。

申し訳ありませんが、訂正後のように第1軸と第2軸を完全に一致させて下さい。

’訂正前------------------------------------------------------
'左縦列文字調整
With ActiveChart.Axes(xlValue)
     .TickLabels.Font.Size = 8
         If .MaximumScale < 1001 Then
            .MinimumScale = Int(Int(yasune * 0.8) / 10) * 10
         Else
            .MinimumScale = Int(Int(yasune * 0.8) / 100) * 100
         End If
      .MaximumScale = takane
End With

'左縦列文字調整(第2軸 xlSecondary側)(誤字、(正)右、(誤)左)
With ActiveChart.Axes(xlValue, xlSecondary)
     .TickLabels.Font.Size = 8
         If .MaximumScale < 1001 Then
            .MinimumScale = Int(Int(yasune * 0.8) / 10) * 10
         Else
            .MinimumScale = Int(Int(yasune * 0.8) / 100) * 100
         End If
      .MaximumScale = takane
End With

'訂正後 *******************************************************

'左縦列文字調整
With ActiveChart.Axes(xlValue)
     .TickLabels.Font.Size = 8
         If .MaximumScale < 1001 Then
            .MinimumScale = Int(Int(yasune * 0.8) / 10) * 10
         Else
            .MinimumScale = Int(Int(yasune * 0.8) / 100) * 100
         End If
     max1 = .MaximumScale
     min1 = .MinimumScale
End With

'右縦列文字調整(第2軸 xlSecondary側)
With ActiveChart.Axes(xlValue, xlSecondary)
        .MaximumScale = max1
        .MinimumScale = min1
End With
 ▲ページトップ

【戻る】  【ホーム】