質問掲示板
岡三RSS
集いの広場

アップロードされたファイルおよび投稿内容についての注意事項 別窓

複数の単語で検索する方法 別窓

【国内株式、先物・オプション】岡三RSS質問箱

ゾウ

CANDLE_M関数で1分足始値の即時取得

ファイルイメージ.xlsx (12.6KB)

いつもお世話になっております、ゾウと申します。
CANDLE_M関数を用いて、1分足始値をなるべく素早く(目標は1秒以内)取得したいのですが、
どうしても5秒程度掛かってしまいます。
プログラム方法やパソコンの設定も含めて、
みなさまのお知恵をお貸しいただけませんでしょうか。

イメージとしては添付ファイルの通りで、
 ①VBAで毎秒外部データを更新
  (Application.CommandBars("岡三RSS2").Controls(5).Execute で始値も毎秒更新)
 ②条件に合致した銘柄を外部データから取得
 ③1分足の始値を利用して発注
という流れを5秒以内に行いたいです。
①②はおよそ1秒で済むのですが、③の始値を出すのに時間が掛かってしまい困っております。

現在パソコンの設定で試していることとしては、
タスクマネージャーからエクセルと岡三RSSの優先度を「高」に設定しております。

なお、CANDLEではなくCANDLE_Mを使っている理由としては、
実際試行したときに発注が若干早かったためです。

条件等々の説明が不十分かと思いますので、必要な情報があればお申し付けいただければと思います。
以上、どうぞよろしくお願いいたします。

2017年08月02日

Ryo Ohno

ゾウさん初めましてー

③の始値を出すのに時間がかかってるととのことですが・・・
CANDLE_Mの結果が表示されるのに時間がかかる感じでしょうか?
自分もやってみたのですが、225件の始値を表示するのに大体
0.5~1秒ぐらいで帰ってきました。

ですが、確かにたまーに3秒ぐらいかかるときもあり、
いろいろと調べてみたのですが、
岡三RSSのデータ表示に時間がかかってる感じでした。

岡三RSSの優先度を上げておられるとのことでしたので、
以下のことを試して頂けますでしょうか?

1.計算方式の設定を、手動にしてみる
  ファイルーオプションー数式ー計算方法の設定
  手動を選ぶ

2.画面描画を一時的に止めてみる
  Application.CommandBars("岡三RSS2").Controls(5).Executeの処理が入っているVBAのコードを
  Application.ScreenUpdating = False
  と
  Application.ScreenUpdating = True
  で囲む
  ※これはExcelの画面表示を一時的に止めて、処理を高速化させます。
  ※しかし、たぶん効果は無いと思われますが、一応・・・

3.ハードウェアのグラフィックアクセサレータを止めてみる
  ファイルーオプションー詳細設定ー表示
  『ハードウェアグラフィックアクセサレータを無効にする』にチェックを入れる
  ※古いPCとかで対応してない場合、Excelがもっさりすることがあります
  ※自分が昔これで解決したのですが、最近のPCでは効果がないと思われます・・・

4.マルチスレッド計算が外れてないか確認
  ファイルーオプションー詳細設定ー数式
  『マルチスレッド計算を行う』のチェックが外れてないか確認する
  ※表示でもたついてる感じなので、望みは薄いですが、これも一応・・・

いずれかで解決できるとよいのですが・・・

2017年08月06日

ログインしてコメントを投稿する

ゾウ

Ryo Ohno様

ご回答ありがとうございます、是非参考にさせていただきます。

1:
発注の一部にエクセルの計算を使っているため、できれば避けたいところです。
どうしても他のところで解決しなければ、手動にして毎秒再計算させるようなプログラムに変更してみます。

2:
実行済みでした。。(常にFalseに設定)
仰る通り、大きな改善は見られなかった記憶があります。

4:
チェックが入っておりました。


3と場合によっては1について試行してみます。
そもそもネット回線が遅いのでは?と思い、いま使っている古めのルーターを買い替え予定です。

少しお時間いただきますが、結果が出ましたらまた改めてご報告いたします。

ありがとうございました!

2017年08月07日

ログインしてコメントを投稿する

ゾウ

Ryo Ohno様

1の手動計算を試してみたところ、若干の改善が見られました。
元々有線なこともあってかルーターの変更では改善なさそうです。。

3については、Excel2007を使用しており方法がわからなかったので未実施です。

ちなみに10程度の銘柄を一度に取得しているのですが、それでも1秒弱で取得可能でしょうか?
ご教示いただけますと幸いです。

どうぞよろしくお願いいたします。

2017年08月09日

ログインしてコメントを投稿する

Ryo Ohno

手動計算で若干解決されましたか・・・
良かったですが、あまり解決策にはならないですね・・・
ちなみに、手動計算にされた場合でも、目標の1秒以内には遠く及ばない感じでしょうか?

自分のところも回線の帯域(回線を使っている量)はほとんど使っていませんでしたので、
よほどの事がない限り回線速度の問題は低そうですね・・・


>ちなみに10程度の銘柄を一度に取得しているのですが、それでも1秒弱で取得可能でしょうか?
今、255銘柄から、10銘柄に減らして条件を合わせてみたのですが、やはり1秒弱ぐらいでした。

あとは解決策とは違いますが、
QUOTE関数で現在値を取得しVBAで1分ごとに、
その時の価格をセルに設定するというのはいかがでしょうか?
それなら、比較的目標の時間には近づけられる気がします。

2017年08月10日

ログインしてコメントを投稿する

ゾウ

コメントいただき、ありがとうございます。

>ちなみに、手動計算にされた場合でも、目標の1秒以内には遠く及ばない感じでしょうか?
そうですね、まだ2秒程度かかってしまうようです。

>今、255銘柄から、10銘柄に減らして条件を合わせてみたのですが、やはり1秒弱ぐらいでした。
255本分の値を取得していたのと勘違いしておりました。
255銘柄でも1秒弱で表示できていたのですね。。

>あとは解決策とは違いますが、
QUOTE関数で現在値を取得しVBAで1分ごとに、
その時の価格をセルに設定するというのはいかがでしょうか?

当初QUOTE関数を使っていて、うまくいかなかったのでCANDLEに変更した経緯がありまして...
ですが、他のアプローチを考えた方が早いかもしれないですね!
諸々ご助言いただき、誠にありがとうございました!

2017年08月13日

ログインしてコメントを投稿する

すべての投稿を表示する

to_top
to_top

アップロードされたファイルにはウイルスチェックを行っておりますが、未知のウイルス等に感染されている場合がありますので、アップロードされたファイルのご利用はご注意ください。
また、取引パスワード等の重要な情報を投稿内容に含めないようご注意ください。
なお、アップロードされたファイルの利用や投稿内容によって、投稿者自身や他の利用者が被った損害に対して当社は一切責任を負いません。

また、セキュリティの関係上、一部コマンド等を含む内容を送信するとエラー画面が表示され、投稿ができない場合がございます。何卒ご了承ください。

岡三RSS集いの広場では、複数の単語による検索が可能です。

例)関数 and サンプル
→AND検索となり、「関数」および「サンプル」を含む検索結果が表示されます。

例)関数 or サンプル
→OR検索となり、「関数」または「サンプル」を含む検索結果が表示されます。

例)関数 not サンプル
→NOT検索となり、「関数」を含むが「サンプル」は含まない検索結果が表示されます。

※and、or、notの前後は半角スペースで区切ってください。
※単語の間を半角スペースで区切るだけだと、OR検索となります。