ブログジャンル

にほんブログ村 為替ブログ 100通貨単位・1000通貨単位へ
にほんブログ村の為替ブログランキングに参加中です。応援よろしくお願いいたします♪

検索フォーム


カレンダー

07 | 2017/08 | 09
- - 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 - -

最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


リンク


スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

リピートVBAをバージョンアップしました!

VBAに追加機能を付けました。
今回はこちらの2つになります。

■「シングル」「IF-OCO」注文に対応
■動作状況をExcelのタイトルバーにてお知らせ

です。
ただし、いくつか注意点があります。

①シングル・IF-OCO注文ですが、
注文表の注文パターン(B2セル)にてご希望の注文方式を選択してください。デフォルトでは「IF-DONE」になっておりますので、注意してくださいね。


②動作状況をお知らせする機能なんですが、
プログラムを停止しても常に何かしらのメッセージが残ってしまいます。
邪魔なので停止時は消したかったのですが、アイデアが浮かびませんでした。

いつ停止するのか分からないというのが、クセモノでして・・・
試したことは「Application.EnableCancelKey = xlErrorHandler」を IE_Wait2 で処理する方法とプログラム起動時にユーザーフォームを非表示で開いておいて、終了時にユーザーフォーム側のコードを実行し、メッセージを消せるかなと思ったのですが、どちらも常時消せるようには出来ませんでした。
メッセージを消すコードを全体に貼ろうかなとも思いましたが、無駄にコードが増えてしまうので辞めました^^;


③ボタンをクリックしても反映されない
これはずっと気づいていなかったのですが、
プログラムを実行してもボタンの選択がきちんと反映されていませんでした。注文はちゃんと通ります。

例えば、売買の 売・買ボタン ですが、
ボタンをクリックしたときはボタンの色が変わっていないという問題です。

20111218-VBA1
※注文は「売」で出していますが、まだ「買」のボタンが選択(黒い状態)されています。

20111218-VBA2
※しかし確認画面ではきちんと「売」で注文されています。

20111218-VBA3
※「戻る」をクリックし、注文画面に再び戻ると「売」に変わっています。

あまり気持ちの良いものではありませんが、とりあえず放置プレイでお願いします^^;

それでは追記にてコードの紹介をしますね。
最後にダウンロード先をお知らせします。


まず、「動作状況をExcelのタイトルバーにてお知らせ」なんですが、これは各プロシージャごとを目安に適当に使ってます。


'現在の状況コメント
Application.Caption = "決済注文を検索中"


↑こんな感じです。
次に「シングル・IF-OCO注文に対応」は MP_auto_order にこのコードを追加しました。


-------------------- ここから --------------------
'注文パターンを認識する
Select Case Worksheets("注文表").Cells(2, "B").Value
Case "シングル"
ORDERurl = "doSingleOrder"
Case "IF-DONE"
ORDERurl = "doIfDoneOrder"
Case "IF-OCO"
ORDERurl = "doIfDoneOcoOrder"
Case Else
MsgBox "注文パターンが不正です"
End Select
-------------------- ここまで --------------------


内容は、まず注文表の注文パターン(B2セル)を読み込んで、マネパ注文画面のURLの一部を代入しておきます。
あとは各注文パターンに合わせたコードを作ってやるだけですね。
(さらっと言いましたが、ここに一番時間がかかってますw)

例えば、シングル注文にしか使わない項目(注文区分)なら、if文を追加して回避すればOKです!
回避してないと 新規・決済ボタン をクリックできないため、エラーが出ます。
(取引画面が変わってから必要なくなったのかな?IF-DONEなら必要ないんですよね^^;)

-------------------- ここから --------------------
'注文区分
If InStr(ORDERurl, "doSingleOrder") > 0 Then
If Trim(Cells(yCNT, "D")) = "新規" Then
objDOC.forms("LeaveOrderForm").Item("isClosedOrderFalse").Click
ElseIf Trim(Cells(yCNT, "D")) = "決済" Then
objDOC.forms("LeaveOrderForm").Item("isClosedOrderTrue").Click
Else
MsgBox "注文区分を選択してください"
End If
Call IE_Wait2(objIE)
End If
-------------------- ここまで --------------------


続いて、執行区分のエラーが出た時も同じように分けておきます。基本的に同じ作業なので、コードは書きません。


以上です。
では、ダウンロード先を紹介してお別れしたいと思いま~す。ばいば~い♪

「マネーパートナーズのシングル・IF-OCO注文に対応した、リピートVBAをダウンロードする」



スポンサーサイト

コメント

さすが!

もうできたんですね。
さっそくダウンロードさせて頂きました!
で、注文してみたら…注文のスピードすごく早くなってませんか!?サクサク進みますよ。

でも、あちこちでエラーが出ました。
初回は、1件目の注文で通貨ペア選択のコードでエラー
3回目は、3件目の注文で確認ボタンがクリックできずエラーでした。
2回目3回目に1件目の注文が無事通っているので、注文の進め方には問題ないと思います。処理スピードとうちの回線速度の問題かなとか想像してますが…もしかしてIE以外の画面をアクティブにしたらもうダメ?

動作状況の「いつ停止するかわからない」というのは、コードのデバッグが出るようなエラー時ってことでしょうか?
そしたら On Error Go To ErrorHandler でキャプションを戻してから Exit Sub ではどうですかね?
停止ボタンで停止する場合も fStop = True の前に、キャプションを戻すコードを入れておけばいいかと思うのですが、甘いかなぁ?
2011-12-18 15:15 菜摘 #LjveDjGg URL [ 編集 ]

はじめまして。
MT4でなく、EXCELVBAというのは斬新な発想ですね。
VBAならばどんな業者でも対応可能ですからね。
バージョンアップおめでとうございます。
そして今後のご活躍期待しています。
2011-12-18 15:52 saru999 #l0yaxqJ6 URL編集 ]

VBAでプログラム作れるなんて凄いです。
早速、ダウンロードして注文してみました。
IF-OCOも発注できました^^
しかし、私のほうに何か問題が有るのかもしれませんが、
発注後、注文照会ページにジャンプしていないみたいで、
注文照会シートが空白で、注文表に注文番号が取得されません。
旧バージョンも試してみたところ、同様の不具合が発生します。
金曜日まではちゃんと動作していたようでしたが・・・
なんででしょうね?(涙)
2011-12-18 17:43 馬来の寅 #- URL [ 編集 ]

Re: さすが!

早速でましたかっ!w
菜摘さんが、コメントくれて助かりました♪

設定がテスト用のままでしたね^^;
IE_Wait2 のsleepスピードを変えてましたので、今は修正してアップロードし直しました。
一応、他ブラウザを使用していても動くはずです(GoogleChromeでは確認済み)


動作状況対策には・・・On Errorですか!
勉強してきます♪w
ありがとうございます☆
2011-12-18 18:03 ヒゲ☆坊主 #mQop/nM. URL編集 ]

Re: タイトルなし

初コメントありがとうございます♪

いや~、やっぱりMT4がいいですよw
saru999さんのような方々がいろんな手法のコードを紹介されてるし、動作は軽いし・・・。

VBAだとブラウザでの取引がフラッシュになったら、私ではもうお手上げです^^;
でも、必要としている方々もいらっしゃるので頑張れます♪


とりあえず、今回作った分のテストをもうちょっとしないといけなさそうですw
2011-12-18 18:17 ヒゲ☆坊主 #mQop/nM. URL編集 ]

Re: タイトルなし

ダウンロードありがとうございます。

いま動作の確認しましたところ、注文番号の取得ができていませんでした!
完全に見落としてました、すみません。

旧バージョンでも無理なら、
マネパの仕様が変わったのかなぁ~。


調べてみます。

2011-12-18 18:28 ヒゲ☆坊主 #mQop/nM. URL編集 ]

なるほど、だからスピードアップしてたわけですね。納得しました。

注文照会ページへ遷移するときに、テキストリンクをクリックで行けてたのが、今回ボタンに変更されてますね。だから照会ページに飛ばなくなっちゃってるんだぁ><
2011-12-18 21:21 菜摘 #LjveDjGg URL [ 編集 ]

コメントの投稿



管理者にだけ表示を許可する


トラックバック

http://fxbouz2011.blog67.fc2.com/tb.php/96-f7a3d78f

 | ホーム | 


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。