プロが教えるわが家の防犯対策術!

GMOクリック証券のヒストリカルデータを使ってMT4でチャートを表示させる事はできますか?

GMOクリック証券のヒストリカルデータをMT4がうまく取り入れないようなのですがどうすればいいのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

タイムリーに自分と同じこと考えている人がいて、なんだかうれしいです。


私も信用できる1分足ヒストリカルデータをどうすれば入手できるのか頭を悩ませていて、このサイトで質問したことがあります。
そしたらここでも先立って回答しているSaitarさんにいろいろと為になるご回答を頂き、その中にクリック証券のデータがよさそうだといったアドバイスがありましたので早速データをダウンロードしてみました。
私がざっくりと確認したところ、クリック証券はFXDDとかForexieとは違って、実際に過去に提示したレート通りの信頼できるデータのようです。Saitarさん、その節は本当にありがとうございました。

そのときのQ&A↓
http://oshiete.goo.ne.jp/qa/7957569.html

さて、本題のMT4へのインポートの仕方についてですが、クリック証券とMT4ではデータ形式が異なるため、少々のデータの加工作業が必要になります。私の場合はエクセルではなくテキストエディタの秀丸を使いました。やり方は、

1.クリック証券からダウンロードしたcsvファイルを秀丸で開く。
2.一番上の”日時,始値,高値,安値,終値”って行はいらないので削除
3.Ctrl+Rで置換のウィンドウを開いて、検索のとこに”^([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})00”と入力、置換のとこに”\1\.\2\.\3\,\4:\5”と入力して実行。

上記の作業で日時のデータが例えば、2013年11月7日0時01分の場合に”20130111070100”と表現されてたのが”2013.11.07,00:01”となってMT4にインポートできる形式となります。
私の場合はForextesterへのインポートだったのですが、MT4でも取り込めるはず。

ちなみに、クリック証券のデータは一日ごとに一つのファイルなので、一ヶ月とかまとめて一つのファイルにしたいならフリーのファイル結合ソフトを使うと便利です。その場合”日時,始値,高値,安値,終値”の行を同じように置換機能を使って削除すれば楽です。
    • good
    • 0
この回答へのお礼

apraxasさん、回答ありがとうございます。GMOクリック証券のヒストリカルデータを秀丸で開き、時間を表す数字20130103070000を
20130103,070100とカンマをひとつ入れることでうまく読み込めるようになりました。

お礼日時:2013/02/24 18:21

urataffyさん、apraxasさん、こんにちは。



そうなんですね。
ヒストリカルデータが信頼ならん、ということですか。納得です。
私もかなり昔、Metaquotes社自体のヒストリカルデータでバックテストしていた際に、ある時点以前のヒストリカルデータがとんでもない状態になっていて、バックテストをすると天まで昇るような結果になり、一時の夢を見せてもらった経験があります^^;

※とんでもない状態とは・・・
  無茶苦茶なヒゲが付いていて、スキャルピングEAが全て利益になってしまった

それ以来、Metaquotes社のヒストリカルデータは使ってません。

で、お二人のご心配の件について私の見解をちょっとだけ。
私の経験上はまともな会社?(FXDDとかPepperstoneとかetc...)のヒストリカルデータは使えない、というほどひどいものではない、と思ってます。ご心配であれば、複数の会社のヒストリカルデータをダウンロードして比べてみてもいいですね。
で、ここからが重要と思いますが、ポイントが2つあります。

(ポイント1)バックテストを行うのはあくまで自分が使っている会社のデータでやるべき
      FX業者によりまれに多少のプライス差があるかも知れません。しかし、相対取引が前提なのですから、そのおかしな?データも正しいデータとして考えるべきと思います。どんなにキレイなデータでバックテストしても、その結果はあくまでキレイなデータでの結果であり、自分の業者の結果ではないのです。お隣の奥さんがどんなにキレイでも、やはり自分の女房が自分にとって最良の女なんです(違うか。。。)

(ポイント2)バックテストはあくまで参考です
      これは、ポイント1より100倍くらい大切なことですが、バックテストとリアルトレードの結果はまま異なります。というか、ほとんど違う結果になるEAもあります。バックテストのためのデータをいかに精度を上げても、ほとんど意味がない、というのが私の経験則です。これはMT4の約定能力やスリップなどによるものと思います。
バックテストでは「EAがとりあえず動き、ま~右肩上がりにはなるな」くらいを確認する程度と考えるのがちょうどいい、と思います。後は、デモ口座なりでよりリアルに近い反応を確認し(1ヶ月以上)、調整を重ねながら厳かにリアルへトライするのが良い、と思います。
バックテストはホント参考程度がちょうどいいです。余談ですが、よく商材でバックテストの結果をこれみよがしに宣伝しているものがありますが、結果は、、、です。それが実態。


色々書きましたが、参考にして下さい。
では。
    • good
    • 0
この回答へのお礼

Saitarさん色々回答していただきありがとうございます。
バックテストは参考程度にしつつ色々試行錯誤していこうと思います。

お礼日時:2013/02/24 18:33

あ、リンク先のアドレスが間違ってました。



「FXブローカーのヒストリカルデータについて」
http://oshiete.goo.ne.jp/qa/7932365.html
    • good
    • 1

できました。



今年の1/17のUSDJPYの1分足のデータをクリック証券から取り込み、MT4に表示させました。
あまりに普通の結果なので、拍子抜けされるかも知れませんね ^^;

今回初めてクリック証券のヒストリカルデータをダウンロードして見ましたが、クリック証券内では使い易いデータ形式かも知れませんが、MT4の形式とはかなり違いますね。

Excelが得意な方はそれでもなんとか変換可能と思いますが、あまりExcelに馴染みがない人は、、、敢えてMT4への変換をチャレンジする必要はないかと思います。
というか、そもそもなぜクリック証券⇒MT4の取り込みを考えられたのかが、疑問になりました。

クリック証券のヒストリカルデータを使ってMT4でチャートを表示する目的を教えて頂けるともう少し違ったアドバイスができるかも知れません。

とりあえず、できました、ってことで。
「他サイトのデータでMT4でチャートを作れ」の回答画像2

この回答への補足

回答ありがとうございます。
実はMt4でBOのバックテストをしようと思ったのですが、どうもFXDDとか海外のヒストリカルデータはネット上で評判が悪い。
そして、それらのヒストリカルデータで作ったチャートはロウソクの間が変に開きすぎたりしていて、それ本当か?と疑うようなものでした。
GMOクリック証券のヒストリカルデータはそれよりはましかなと考えて、MT4で読み込もうと考えました。

補足日時:2013/02/24 01:31
    • good
    • 0

できます。



面白いので、今、クリック証券のサイトがメンテ中なので、メンテが終了して、私が○○を終えたら実際にやってみます。

お楽しみに。

この回答への補足

Saitarさん、回答ありがとうございます。
GMOクリック証券のヒストリカルデータをどういう風に加工すれば、
MT4で読み込めるのかぜひ教えてください。

補足日時:2013/02/23 17:11
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QFXブローカーのヒストリカルデータについて

【疑問1】なぜ多くのFX業者は過去に提示したレートをヒストリカルデータとして公開していないのか?
過去数年分の1分足の4本値データなんて、データ量としてたかがしれているし、業者自身がそれを取得する上で技術的に難しい点も無いはず(足が確定するたびにそのままの値をデータベースに入れていけばいいだけ)。
にもかかわらず、それをユーザーに提供できる形にしていないのはなぜなのだろうか?
不当なレート操作の証拠を残したくないってことなのだろうか?

【疑問2】中にはヒストリカルデータを公開しているFX業者もあるが、それに信憑性がまるでないのはなぜなのか?
裁量トレードの訓練・手法の検証をする為にForexTesterというソフトを買いました。
このソフトでは無料でForexiteというFX業者が提供しているヒストリカルデータをダウンロードして使うことができます。
ところが、このデータを元に生成されたチャートと、自分の口座を開設している業者のチャートを見比べてみたところ、ローソク足の形が全然違うのです。おおまかなチャートの形はほぼ同じように見えるけど、一時間足レベルですら足を一本ずつ見比べると、陽線のところが陰線になっていたりするくらいの違いがあります。
FXは相対取引なのでレートを提示する業者によって価格が異なるのは知っていますが、ここまで違うのはおかしいですよね。
業者A社とB社に対して、同じポジションで同時にエントリーして、一時間後に同時に決済したところ、A社では20pipsの利益がでB社では10pipsの損失になりました、なんてことはいくらなんでもありえないですよね?
(スリップは考慮せず表示されているレートだけでの話として)
ということはForexiteのヒストリカルデータは実際に提示したレートと異なるものなのでしょうが、どういう理由でそういったことになってしまうのでしょうか?
Forexiteの他にFXDDというところも同じようにヒストリカルデータを公開していたので確認してみたところ同じ結果になりました。

【疑問1】なぜ多くのFX業者は過去に提示したレートをヒストリカルデータとして公開していないのか?
過去数年分の1分足の4本値データなんて、データ量としてたかがしれているし、業者自身がそれを取得する上で技術的に難しい点も無いはず(足が確定するたびにそのままの値をデータベースに入れていけばいいだけ)。
にもかかわらず、それをユーザーに提供できる形にしていないのはなぜなのだろうか?
不当なレート操作の証拠を残したくないってことなのだろうか?

【疑問2】中にはヒストリカルデータを公開して...続きを読む

Aベストアンサー

(何年かぶりに)Forexiteのデータを確認してみました。と言っても、あるフリーソフトでダウンロードしたデータなので、オリジナルのデータを見ているわけではないのですが。。。

結果、質問者の方と全く同じ状況を確認できました。

Forexiteのデータはあまり正確でない(ゴミが混じっていることがある、とか)と言われていますが、これはハッキリ使えないですね。

FXDDやPepperstoneのデータの方が正しいと思われます。(他のBrokerのデータもFXDD等と一致します)
そもそも、ご自身で利用されるBrokerのヒストリカルデータを用いるのが、ベストですから、質問者の場合はやはりPepperstoneのデータを利用されるのが最良でしょう。

それと、Forexiteの時刻をGMT-2と表記されておられますが、FXDD等の時刻がGMT+3であり、ForexiteのデータはGMT+1が正解です。

ま~、これを機会にForexiteには近づかないことが肝要ですね。

Q為替データをエクセルにダウンロード出来るサイト

為替データをリアルタイムで取得して、エクセルに
ダウンロードして処理したいのですが、
そのような事の出来るサイトは無いでしょうか。

Aベストアンサー

システムに関しては全く無知です。

株価のリアルタイムダウンロードの質問は時々あり、次が参考になっているようです。為替も同じじゃないでしょうか?

Excelで株投資
http://www2s.biglobe.ne.jp/~iryo/kabu/index.html
このなかの、右下のほうで、
■ 解析ツール関連VBAの解説
┣[1]-1Webから株価データ取得マクロ(Yahoo)
 ┣[1]-2Webから株価データ取得マクロ(Infoseek)

参考URL:http://www2s.biglobe.ne.jp/~iryo/kabu/index.html

QFXの日足時系列データをダウンロードできるサイトはありませんか?

ドル円などの日足の長期間(過去6年くらい)の時系列データを
ダウンロード出来るところを探しています。

データをエクセルファイルで保存しようと思っています。

日本のヤフーファイナンスや、インフォシークファイナンス、
ドリームバイザー.comのサイトで時系列データが見れますが、
長期のデータをボタンひとつでダウンロードすることができません。

やはり1ページ1ページ手作業でエクセルにコピペして行くしかないのでしょうか。

例えばNYダウの日足時系列データを10年分ダウンロードしようと思ったら、
アメリカのヤフーファイナンスのサイトから1発ダウンロードできます。
このような感じでデータ取得できるところはないのでしょうか?

よろしくお願いいたします。

Aベストアンサー

http://stooq.com/q/d/?s=usdjpy&c=0
1ドル360円くらいからのデータがCSVでダウンロードできます。

QMT4からエクセルへデータを出力

4本値のデータがDDEサーバーを使って出力可能なことは知っているのですが
その他のデータたとえばストキャスティクスの現在値やクロスタイミングなどは出力可能でしょうか?

Aベストアンサー

質問に対する直接の回答になっておらず、ごめんなさい。

MT4の4本値をエクセルに落とせるのならば、そのエクセルシートで、関数を使ってストキャスを組めばよいではないでしょうか。

ストキャスの関数はそれほど難しくないですよ。

http://www.kyoei-bs.co.jp/home2/tech/tec05.html

参考URL:http://www.kyoei-bs.co.jp/home2/tech/tec05.html

Q株のプログラムを自作したい

高校生ですがライブドアの件で株に興味が湧きました。しかし株を購入できる年齢ではないようです。今は父が株をやっているので株価の動きを見ています。父が使っているのは証券会社のソフトです。そのソフトを使っていろいろと分析しています。ふと思ったのですがこういう株価分析ソフトって自分で作れるのかな、ということです。刻々と変わる株価のデータが証券取引所?のようなところから送られて来たのを証券会社のソフトで受けて分析をする、こんなこと個人の力でできますか。もしできるのなら私は自分でそのソフトを作りたいと考えています。ただプログラミングの知識は全くありません。言語は何が良いのかもわかりません。ただ時間はありますので一から学んでいきたいと考えています。
何から手をつけたほうがいいのかアドバイスをお願いします。

Aベストアンサー

株のシステムを作成しようとした場合、以下の2つの知識が必要となります。

(1) 株の知識
(2) プログラミングの知識

株価の動きを読むためには、株の知識が不可欠です。株の知識なしでは、良いシステム開発はできません。

> しかし株を購入できる年齢ではないようです
保護者の同意があれば、未成年者でも株の売買が可能です。最近では1単元、数万円程度で購入できる株や、ミニ株、プチ株といった物もあります。
株に関する書籍はたくさんありますので、色々と勉強してみてはいかがでしょうか。
http://www.amazon.co.jp/exec/obidos/ASIN/4791612299/
http://www.amazon.co.jp/exec/obidos/ASIN/4886487416/


プログラミング言語ですが、個人で作成するならC#.NETなどをおすすめします。いきなり株のシステムを作るのもいいですが、基本的なプログラムの作成から始めることをおすすめします。
そして、色々なシステム(プログラム)を作成できて、その1つとして株のシステムも作成できる…というスキルを持つことをおすすめします。


あと、問題なのが、リアルタイムの株価情報を入手するということです。証券会社から取得したり、クイックなどの仲介業者から入手することが可能ですが、有料です。
しかも、個人で支払いができるような安い金額ではありません。ちなみに、直接東証からリアルタイムで株価情報を取得しようとした場合、契約料だけで月100万を超えます(汗

株のシステムを作成しようとした場合、以下の2つの知識が必要となります。

(1) 株の知識
(2) プログラミングの知識

株価の動きを読むためには、株の知識が不可欠です。株の知識なしでは、良いシステム開発はできません。

> しかし株を購入できる年齢ではないようです
保護者の同意があれば、未成年者でも株の売買が可能です。最近では1単元、数万円程度で購入できる株や、ミニ株、プチ株といった物もあります。
株に関する書籍はたくさんありますので、色々と勉強してみてはいかがでしょうか。
htt...続きを読む

Qエクセルで定期的(30分おき)にマクロを実行させる方法は?

エクセルにて刻一刻変る外部データ(株価)を表示させています。それを自動で30分置きにデータ蓄積させる方法はありませんか?

現在は自分で作ったキーボードマクロで 時計を見ながらボタンを押し、データを取り込ん出る始末です。

その簡単マクロに「30分置きに実行させる」と云う記述を付け足す程度で自動実行させる事は可能でしょうか? 
当方キーボードマクロでの自動書き込みしか出来ない素人ですが、少々複雑な物であっても頑張ってみるつもりですので、どなたかご教授下さい。

Aベストアンサー

えーー。。実際に使うなら、zap35 さんのように、OnTime で実行したマクロ
の中で再度 OnTime を登録する方が良いと思います。

この方式だと、OnTime で登録されるのは常に一つだから管理し易いです。
これに未実行の予約を破棄できる仕組みを組み込めばベストだと思います。

今更こんな事言うのは、#6 の大げさなコードを見て、「また、やっちまった...」
と反省しているからです。が、#6 をアップしてしまった以上、それなりに
まとめておきました。こちらは、一括登録方式です。

コードのままだと、午前10時~午後6時まで30分間隔で Macro1 を実行します。
変更点は、

 ・ブッククローズをトラップした
 ・進捗状況をステータスバーに表示するようにした
 ・その他しょうもないこと

です。

このままコピペで使えると思いますが、試される場合は、MACRO1 はご自分の
用途に合わせて適切に修正して下さい。


Option Explicit

Dim mcolTask As Collection

Sub 実行予約()

  Dim i      As Date
  Dim strProcName As String
  Dim datBigin  As Date
  Dim datEnd   As Date
  Dim datInterval As Date
  Dim datTimeout As Date
  Dim blnJustTime As Boolean

  ' Setting-------------------------------------------------------

  datBigin = TimeValue("10:00:00")  ' 開始時刻
  datEnd = TimeValue("18:00:00")   ' 終了時刻
  datInterval = TimeValue("00:30:00") ' 実行間隔(少なくとも数秒以上で)
  datTimeout = TimeValue("00:02:00") ' 実行待機タイムアウト
  blnJustTime = True         ' datInterval で丸めるか
  strProcName = "MACRO1"       ' 実行するマクロ名

  '---------------------------------------------------------------

  ' 既に実行予約されているか確認
  If mcolTask Is Nothing Then

    ' 日付シリアル値を加算
    datBigin = datBigin + Date
    datEnd = datEnd + Date
    ' 終了時刻が開始時刻より小さければ日をまたぐので補正
    If datEnd < datBigin Then datEnd = datEnd + 1
    ' 現在時刻が既に終了時刻を過ぎている場合
    If datEnd < Now() Then
      MsgBox "終了時刻を過ぎているため予約できません。", vbCritical, "終了"
      Exit Sub
    End If
    ' 現在時刻が開始時刻を過ぎていれば補正
    If datBigin < Now() Then
      ' 開始時刻を datInterval で指定された値で丸めるか
      If blnJustTime Then
        datBigin = Application.Floor(Now() + datInterval, datInterval)
      Else
        datBigin = Now() + datInterval
      End If
    End If

    ' 初期化
    Set mcolTask = New Collection

    ' メイン部分
    For i = datBigin To datEnd Step datInterval
      ' 後から取り消せるようにコレクションに退避
      mcolTask.Add CStr(i) & "," & strProcName
      ' Application.Ontime で実行予約を行う
      Application.OnTime EarliestTime:=i, _
                Procedure:=strProcName, _
                LatestTime:=i + datTimeout, _
                Schedule:=True
    Next i
  Else
    MsgBox "既に実行中です", vbInformation
  End If

End Sub

Sub 未実行予約強制解除()
 
  Dim i  As Long
  Dim vntS As Variant
 
  On Error Resume Next
  Application.StatusBar = "タスク破棄中... "
  For i = 1 To mcolTask.Count
    vntS = Split(mcolTask.Item(i), ",")
    Application.OnTime CDate(vntS(0)), CStr(vntS(1)), Schedule:=False
  Next i
  Application.StatusBar = ""
  Set mcolTask = Nothing

End Sub

' タスク管理用
Private Sub RemoveTask()
  
  On Error Resume Next
  mcolTask.Remove (1)
  Application.StatusBar = "待機中のタスク... " & mcolTask.Count
  DoEvents
  Beep
  If mcolTask.Count = 0 Then
    Application.StatusBar = ""
    Set mcolTask = Nothing
  End If

End Sub

Sub Auto_Close()

  Dim intRes As Integer
  If Not mcolTask Is Nothing Then
    intRes = MsgBox( _
        Prompt:="待機中のタスクが " & mcolTask.Count & " 件あります。" & vbLf _
           & "破棄して終了しますか?", _
        Buttons:=vbOKCancel + vbDefaultButton2 + vbExclamation, _
        Title:="問い合わせ")
    If intRes = vbOK Then
      Call 未実行予約強制解除
    Else
      ' ブッククローズをキャンセル
      Application.ExecuteExcel4Macro ("Halt(True)")
    End If
  End If

End Sub

' 呼び出すマクロ--> Application.Ontime のマクロ名と一致させて下さい
Sub MACRO1()

  Dim lngRow As Long
  With ThisWorkbook.Sheets("Sheet1")
    lngRow = .Range("V65536").End(xlUp).Offset(1).Row
    .Cells(lngRow, "V").Resize(1, 3).Value = .Range("Q12:S12").Value
    .Cells(lngRow, "Y").Value = Now()
  End With

  ' ご自分のマクロの最後に次の一行を追加しておいて下さい
  Call RemoveTask

End Sub

えーー。。実際に使うなら、zap35 さんのように、OnTime で実行したマクロ
の中で再度 OnTime を登録する方が良いと思います。

この方式だと、OnTime で登録されるのは常に一つだから管理し易いです。
これに未実行の予約を破棄できる仕組みを組み込めばベストだと思います。

今更こんな事言うのは、#6 の大げさなコードを見て、「また、やっちまった...」
と反省しているからです。が、#6 をアップしてしまった以上、それなりに
まとめておきました。こちらは、一括登録方式です。

コードのままだと...続きを読む

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

QEXCEL VBAから他アプリケーションを操作することは可能ですか?

こんばんは。

VBAの本を購入し勉強していますが、VBAと他アプリケーションとの連携について記載が少なく(txtやcsvファイル操作)、どこまで出来るんだろうという不安があり質問しました。

(1)EXCEL VBAから他アプリケーションを起動し、設定操作、命令を送り操作することは可能でしょうか?
イメージとしては他アプリに一方的に命令を送り操作できれば良しです。(アプリ側からのリターン要求はしません。)

(2)第2の質問です。
VBAで他アプリを起動した状態で人が操作している感覚でマウスを操作できますか?(利用方法:他アプリの●ボタンを押したい!!)
目の前にソフトがあるのに触る操作は出来ないものでしょうか?
いろいろ調べて見ましたが、この様な事例はありません。
駄目元ですが、こんな操作を知っていましたら教えてください。
こんな操作ができればいいな~

Aベストアンサー

#2,4 です。

> EXCEL2000内の特定のセルに規定値外のデータが入力された場合に
> UWSCを起動して...

UWSC のスクリプトが完成しているとすれば、起動オプション付きで
バッチ処理すれば良いでしょう。実行タイミングは、シートまたは
ThisWorkbook の Change イベントが使えます。

例)シートモジュール

Private Const EXE_PATHNAME As String = "C:\Program Files\uwsc\uwsc.exe"
Private Const DQ      As String = """"

Private Sub Worksheet_Change(ByVal Target As Range)

  Dim rChange   As Range
  Dim sCommand  As String
  Dim sScriptFile As String

  ' // 実行する UWSC スクリプト
  sScriptFile = "C:\sample.uws"
  ' // UWSC の起動オプションは UWSC のヘルプを参照
  sCommand = DQ & EXE_PATHNAME & DQ & " " & _
        DQ & sScriptFile & DQ
  
  ' // 変更されたのが単一セルかつ A 列でなければ終了
  If Target.Cells.Count > 1 Then Exit Sub
  Set rChange = Intersect(Target, Columns("A"))
  If rChange Is Nothing Then
    Exit Sub
  End If
  
  ' // さらに値が TEST だった場合のみ実行
  If rChange.Value = "TEST" Then
    Shell sCommand, vbNormalFocus
  End If

End Sub

#2,4 です。

> EXCEL2000内の特定のセルに規定値外のデータが入力された場合に
> UWSCを起動して...

UWSC のスクリプトが完成しているとすれば、起動オプション付きで
バッチ処理すれば良いでしょう。実行タイミングは、シートまたは
ThisWorkbook の Change イベントが使えます。

例)シートモジュール

Private Const EXE_PATHNAME As String = "C:\Program Files\uwsc\uwsc.exe"
Private Const DQ      As String = """"

Private Sub Worksheet_Change(ByVal Target As Range)

  ...続きを読む

Q土日でも為替の変動が見れるサイトは?

土日でも為替の変動が見れるサイトはありますでしょうか?

見たいのは円/USドルですが。

宜しくお願い致します。

Aベストアンサー

こちらですか?

http://www.ne.jp/asahi/cme/globex/fx4.html

ここの注意として土曜日にどんなに相場が動いても無視して下さい。
ほとんどの場合は日曜日に元に戻ります。
日曜日の26時(月曜の午前2時)すぎまで相場の変動がそのままの場合は月曜日の相場に影響がある場合があります。(9月10月に2回ずつ有りました)

QFX:指定した時間の高値・安値を返すプログラムを教えてください。(MT4)

指定した時間の高値・安値を返すプログラムを教えてください。

具体的に言うと、、21時から23時の間の高値・安値です。

少し調べたところ、iHighest,iLowestやiBarSHiftの関数で値を出せると思ったのですが、
この関数では、指定の期間が、”現在から何本前の足から何本分の期間”といったように時刻で指定できないみたいで困っております。

※MT4を使用しております。

Aベストアンサー

ちょっと自信ありませんが、とりあえず作ってみました。
今、手元に、MT4がないので、コンパイルその他の実験をしておりません。エラー等ありましたら、どうかご容赦を。

double H=0; // 最高値を変数として宣言
double L=0; // 最安値を変数として宣言
int T = TimeHour(CurTime()); // 現在の時刻を変数として宣言

if(T!=23) // もしも現在が23時台でなければ、
{
H= High[iHighest(NULL,PERIOD_H1,MODE_HIGH,2,T+2)];
L= Low[iLowest(NULL,PERIOD_H1,MODE_LOW,2,T+2)];
}
else // もしも現在が23時台であれば、
{
H=High[iHighest(NULL,PERIOD_H1,MODE_HIGH,2,1)];
L=Low[iLowest(NULL,PERIOD_H1,MODE_LOW,2,1)];
}

ちなみに、TimeHour()関数については、以下のサイトで詳しく解説されておりました。

http://jidoubaibai.com/index.html

また、私は、ごく最近MT4の勉強をはじめたばかりで、質問者の方と同様、いろいろ苦労しております。

ちょっと自信ありませんが、とりあえず作ってみました。
今、手元に、MT4がないので、コンパイルその他の実験をしておりません。エラー等ありましたら、どうかご容赦を。

double H=0; // 最高値を変数として宣言
double L=0; // 最安値を変数として宣言
int T = TimeHour(CurTime()); // 現在の時刻を変数として宣言

if(T!=23) // もしも現在が23時台でなければ、
{
H= High[iHighest(NULL,PERIOD_H1,MODE_HIGH,2,T+2)];
L= Low[iLowest(NULL,PERIOD_H1,MODE_LOW,2,T+2)];
}
else // もしも現在...続きを読む


人気Q&Aランキング