関する情報商材を紹介するブログ等で当サイトが参考リンクとして併記されていることがあるようですが、概ね当サイトとは無関係です。トラックバック(0)自動売買プログラムにメールをチェックさせる処理を追加したところ、負荷がかかり過ぎてしまうらしく、特に複数銘柄に同時に発注したりする状況で重くなってしまうことがわかりました。タスクマネージャーでCPU使用率を見ていると、ノートンのCCAPP.EXEがかなり影響しているようです。そこで、このプロセスのプライオリティをIdleにして(BelowNormal如きではCPU使用率が奪われてしまうし、プロセスをKillしたらメールを受信できなくなってしまった)、発注や余力確認のスレッドのプライオリティもNormalからBelowNormalに引き下げました。今日試してみたところ、ようやくCPU使用率が奪われる現象を回避することができたようです。今日はあまり同時に複数銘柄に発注する状況が発生しなかったので、もう少し様子を見ないとわかりません。あと、HTMLパーサ処理部分にも色々重くなりそうな処理があったので、週末に色々プログラムを書き換える予定です。トラックバック(0)今日は前場の日経平均が高値揉み合いだったため、自動売買システムもぱっとしない感じでした。前場は買い仕掛けが多かったのですが、後場に少し日経平均先物が下落した際に損切りしてしまい、残った売り玉をその後の日経平均先物の上昇でさらに損切りという展開になってしまいました。マネックスビーンズHLDGSを14時に95300円で損切りしたのも痛かったです。トラックバック(0)今日は日経平均先物がかなりの高値で寄り付きました。前場は揉み合いだったので、売りと買いの両方を自動で仕掛ける感じになりました。売っていた新興銘柄を後場にロスカットし、その分を残った買い玉が補ってくれたのですが、それ以上の利益を得ることはできず、私の資産は終始ヨコヨコでした。それにしても今日は手数料抜き、信用利率も抜いた場合の利益は+1500円になるはずで、信用取引の一日定額手数料900円と信用利率を差し引いても+400円くらいにはなるはず。実際に約定履歴の受け渡し代金の合計は+473円となっています。見ると-1511円となっています。少なくとも11月27日までは、15時50分ごろに約定履歴を取得すると、その資産の上下と約定履歴の受け渡し代金の合計が一致していました。28日は受け渡し代金よりも428円も低く、今日は1984円も低いです。現物では取引していないし、信用取引でも1日定額手数料だったらJASDAQ銘柄で余計に手数料が上乗せされることも無いはずだし。信用管理費かとも思ったのですが、そもそも日計りだから発生しないと思うし。精算表を見たら単純に譲渡益税徴収金のようです。数日連続で勝ったことが今まで無かったから、あまり譲渡益税の徴収金が発生しなかっただけのことらしい(なんと10月末から11月27日までは全く発生していない)。精算表を見るまではGMOインターネット証券の方を疑ってました。ごめんなさいごめんなさい本当にごめんなさい。トラックバック(0)自動売買で東証マザーズ銘柄の拡充を図りたいと思っているのですが、20万円以下で売買できる呼び値幅の小さな貸借銘柄があまりありません。今のところ、アルデプロとニッシン債権回収を売買対象の銘柄にしています。それ以外に、売買はしないものの株価のログをとっている銘柄が幾つかあって、その中のひとつにインターネット総合研究所がありました。そのインターネット総合研究所ですが、今日はストップ高の後でSBIの完全子会社化の発表があってザラ場引けになっています。これを売買対象にしていたら、ザラ場中に買っていた可能性が高いです。いうのは発表があった途端に売買停止になってしまうので、人の目でニュースを見て売買を仕掛けるのはかなり難しいと思います。いって、自動売買でそれができるかというと、ニュースの内容を正しく解釈させる必要が出てくるので、実装するのはまず無理です。結局、こういうリスクを避けるには、銘柄を分散させるより他に無いのではないかと考えています。今日の自動売買は買い中心で、楽天に足を引っ張られた感じもありますが勝てました。持ち越し銘柄が無いという点がプラスに働きました。トラックバック(0)今日も私のシステムは買い遅れてしまい、前場引けの段階で3100円の含み損となりました。後場にTOPIXが上昇してくれたおかげで利益を得ることができました(特にグッドウィル・グループの利益が大きい)。自動売買をやる前の頃の私の場合は、前場の段階で買えなくて早々に諦めてしまったり、株価が低迷している銘柄を出遅れと勘違いして買って負債を増やしたりして、あまり勝てなかったと思います。今日の利益は日経平均先物の値幅からすればやや物足りないですが、勝てたのでよかったです。トラックバック(0)GMOインターネット証券の会員ページの構成が変わったので自動売買プログラムをそれに対応させました。この変更についてですが、株式取引タブの移動先が注文入力画面になってしまったので、全体的に使い勝手が悪くなりそうな予感。株式取引の信用建玉一覧を見てから、全体の注文・余力状況を見るために口座管理タブに移動して、再び株式取引タブに戻ってくると、注文入力画面に行ってしまいます(本当は信用建玉一覧ページに戻ってほしいのに)。株式取引の余力確認ページあたりにでも、株式の注文数と約定数を表示してくれたらなあと思います。ページが変更になってからまだ売買をやっていないので実際にはどうだかわからないけど。あと、実際に売買する銘柄の種類を見直して少し変更しました。メールの処理についても一応携帯から常にメールを受け取って送り返す処理は出来たので、後で色々利用できるコマンドを追加していく予定です。CCAPP.EXEの負荷率の問題があって、月曜日にちゃんと動くかどうかがちょっと心配。2004を使っているのですが、メール送受信の際にCCAPP.EXEがCPU使用率を100%にしてしまいます。メールの中身をチェックするためのプロセスなのだろうと思うのですが、サーバー上のメールがカラの場合でもCPU使用率が100%になってしまいます。これまではザラ場中はメーラーを起動していないので問題なかったのですが、これからは自動売買プログラムでメールを頻繁に受信するように設計する予定なので、これでは困ります。定期的にCPU利用率が100%になってしまうと、マーケットスピードRSSのDDE通信が途切れてしまう可能性があります。試したところ、CCAPP.EXEのプロセス優先度を「低」にしても全く影響が無いようです。しておけば、自動売買プログラムの方に出来るだけCPUが利用されて、CPUがヒマなときにCCAPP.EXEがCPUを利用するようになる筈だから、多分自動売買プログラムやマケスピへの悪影響は無くなると思います。いえ、対処方法としてあまりよくないと思うので、解決してみたいのですが......。Securityを無効にしても状況は変わりませんでした。カラの筈のメールサーバーから受信をするだけでCPU使用率100%。納得いかん......。AntiVirusの電子メールスキャンをオフにしても駄目。AntiSpamをオフにするとCPU使用率が激減しました。AntiSpamをオフにするというのも嫌な感じです(どこか別の会社が作ったスパム避けソフトウェアを使えばいいのかもしれませんが)。メールサーバによっても挙動が違うらしく、プロバイダーやさくさくドットコムのメールを受信しようとすると負荷が高まるのですが、GMailやHotMailだと何故か全く負荷がかかりません(GMailやHotMailに対しては何ら設定を施していないのに)。AntiSpamの許可リストに入れても駄目だったし......。AntiSpamの機能って、メールをダウンロードした後で必要になる機能だと思うのですが......。AntiSpamを軽くすればCPU使用率も下がるのかな?と思って、とりあえず遮断リストを幾つか削除してみました。この遮断リストの挙動にもイライラ。この設定画面のShiftキーの挙動、明らかにWindows標準とズレてる。Ctrl+Aとかも効かないし。Shiftキーを押しっぱなしにするだけでCPU使用率がリアルタイムに100%になるのもよくわからない(遮断リストの項目を減らすと軽くなるみたいだけど)。いうか酷いわこの設定画面。作った人何考えてるんだろ。それで、遮断リストを全部削除してみたけど状況は変わらず。トラックバック(1)ザラ場中に出掛けることは殆ど無いのですが、折角自動売買をやっているのだから、外出中に状況の確認(建て玉や利益、障害報告など)や緊急時の決済が出来るようにしておきたいと思います。携帯で閲覧できるようにしたいのですが、私の携帯の契約は月額固定手数料ではないので、パケット代を減らすように努力しなければなりません。色々な方法を考えてみました。1.約定通知を全てメールにして携帯に送信する方法1日往復35件くらいの約定があるので、現状を把握するのは無理だし、無駄にパケット代が発生する。障害が発生したときには連続的にメールが発信されてしまう可能性がある。よってこの方法はあり得ない。2.30分毎に状況をメール送信、障害発生時のみ不規則な時間に送信する方法1日あたり10通程度で済むけど、不必要に多いような気もする。私の性格上、30分毎では落ち着かない。外出時間にもよるけど、無駄が多いかも。3.FTPサーバーを構築して状況をWEBで閲覧できるようにしておく自宅鯖だと面倒。フリーのサーバーはBASIC認証すらないものもあるし、状況把握のためだけにわざわざ携帯からログインするのも面倒。個別株式を扱っているからあまり公開はしたくない。日経225先物だけだったら配信してもいいけど。4.プライベートモードがあるブログに状況を投稿していくフリーのものだったらアフィリエイト広告とか付いていそうだから、余計にパケット代がかかりそう。それに、約定するたびに投稿するくらいだったら、最初から証券会社の携帯サイトを見たほうが早い。5.携帯から特定のあて先にメールを送信したら、携帯にメールで状況を送り返すようにする多少レスポンスが遅いだろうけど、状況を知りたくなったときに知ることができるという利点がある。状況を送り返すだけでなく、色々な指示を出すことができるようにしておくと便利だと思う。いうわけで、5番目の方法が私には一番あっていると思います。VB.NETでのメール送受信はかなり面倒なので、BASP21.DLLをダウンロードして弄くってみました。BASP21ではGMailとYahooメールはどうも使えないみたい(GMailはSSL認証が必要で、BASP21のフリー版では対応していない。Yahooメールは何故か不明。私の使い方が間違ってるだけかな?)。ドットコムのフリーメールサービスは受信についてはうまく使えているので、これを携帯からの送受信の監視用アドレスに使おうと思います。Blockingって、こういうときに結構面倒ですね。自動売買プログラムからの送信はプロバイダーのSMTPサーバーを経由するより他になさそうです。トラックバック(0)今日は前場10時30分ごろまでは売り仕掛けのみだったのですが、底で売って踏み上げられる展開になってしまいました。一時は1万2000円程度の含み損となったのですが、その後少しずつ買った銘柄が幾つか上がってくれたおかげで、引けには6000円程度の負けで済みました。トラックバック(0)新興が寄り付きから暴騰しましたが、自動売買のアルゴリズムが高値掴みを警戒してしまったらしく、新興銘柄を殆ど買うことができませんでした。結果的に上昇が乏しい銘柄を後になってから買うというパターンになってしまいました。いう場合は後に買った銘柄が全体の地合いに押されて結局高値掴みになってしまうことが多く、実際に後場の14時ごろまではかなり苦戦しました。14時以降の先物の上昇で東証1部銘柄にもかなり買いが入ってくれたおかげで、今日は勝つことができました。新興が一方向に動くような地合いで買い遅れたり売り遅れたりしてしまいます(月曜日もそんな感じだった)。高値掴みを警戒するアルゴリズムを今後見直す必要がありそうです。トラックバック(0)昨日、取得した時系列データの確認作業をやっていたら、連続して2度同じ時間にデータが出力されている部分がありました。寄り付き前のデータだったので、実際の売買には影響しなかったようです。イベントビューアを見てみたところ、その時間にちょうどW32TimeサービスがPCの設定時刻を変更していました。私の自動売買プログラムでは、配列に時系列データを一行ごとに入れる際に、その時刻をVB.NETのNow関数を使って取得しています。5秒おきにデータを入れているのですが、システムが重くなって5秒おきにデータが取れなかった場合には、後で飛ばし読みしてしまったデータも纏めて入れるように設計しています。そのせいで、システムの時間が1秒でもずれてしまうと面倒なことが起こってしまいます。実行するようにしたのですが、目的のNTPサーバがどうも不安定なのか、きちんと時刻を設定できないことが多いです。システムの重さに関係なくできるだけ正確な時刻(もしくは起動時間)を返すような関数があれば、Now関数を使うのをやめてそっちを使ったほうがいいと思っています(タイマースレッドは絶対使いたくない)。その場合、W32TimeサービスがPCの時刻を変更した時に、それらの関数がきちんとした経過時間を返してくれるかどうかが課題になります。トラックバック(0)前場にミツミ電機を買ってサンリオを売りました。このポジションのおかげで前場中ごろまでは安心できる展開だったのですが、他の銘柄を仕掛けていくうちに含み益が減ってしまい、前場引けには含み益は殆どなくなってしまいました。揉み合いだと仕掛ければ仕掛けるほど資産が減ってしまいます。後場寄り付きで日経平均先物が高めに寄り付いたため、前場に仕込んだ売り玉を幾つか決済し、その代わりに幾つか銘柄を買いました。結果的に殆どの買い玉は高値掴みになってしまったのですが、スパークス・グループだけはかなり上昇してくれました。そのおかげで今日は勝つことができました\(^o^)/。トラックバック(1)今日は売りポジ中心だったのに苦戦しました。今日は寄り付きから新興が大幅に下落していたのですが、下落の速度が速すぎるので自動売買のシステムの側が慎重になってしまい、仕掛けの開始時刻そのものが遅めになってしまいました。前場に売り仕掛けた銘柄は日経平均の急落に反応せず、むしろ損切りさせられる銘柄もあるくらいでした。ところが後場になってみると、損切りした銘柄は下落し、損切りせずに持ち越した銘柄が上昇するようになってしまい、さらに損失が増えてしまいました。幾つかの銘柄を買い仕掛けたのですが、こちらは素直に日経平均に反応して下落_/>●。結局損切りの連続だったのですが、幸い引け間際に個別銘柄の株価が下がってきたおかげで、何とかトントンに近い成績になりました。今日のこの勝率でこの程度の成績というのは珍しいです。ペイオフレシオが高めのシステムなので普通だったら勝率5割を超えていたらそこそこ勝てそうなものなのですが......。トラックバック(0)自動売買システムの監視銘柄のひとつであるミツミ電機が、売買単価20万円程度にまで上昇してしまったので、システムの余力振り分けの都合で売買できなくなってしまいました。紀文フードも商いが閑散としてきつつあるようなのでやや不適と考えて、別の銘柄に変更しようと考えました。住友ゴムと住友不動産販売を監視銘柄に組み入れることにしました。トラックバック(0)今日の前場は売り中心に仕掛けましたが、自動売買システムがスパークス・グループを買ってくれました。これが後場にストップ高になってくれたのですが、他の売り玉が踏み上げられてしまい、利益が相殺されそうになりました。システムが売り玉の含み損に耐えてくれたおかげで、そのうちの幾つかは後場の下落以降に持ち越すことができました。その結果、今日も勝つことができました\(^o^)/。トラックバック(0)昨日のマケスピ終了方法の件についてですが、MarketSpeed.exeのメインウィンドウに対してWM_SYSCOMMANDを送信(パラメータはSC_CLOSE)することによって、安全にマケスピを終了させることができるようになりました。Ver6.0"、ウィンドウクラス名は"MDIFrame")を取得します。そのウィンドウに対して、PostMessage(マケスピメインウィンドウのハンドル,WM_SYSCOMMAND,SC_CLOSE,0)とすることによって、マケスピを完全に終了させることができました。WM_SYSCOMMANDは&h0112、SC_CLOSEは&hF060です。ちなみに、メインウィンドウに対してWM_SYSCOMMANDではなくてWM_CLOSEを送信したところ、ティッカーウィンドウが閉じず、プロセスも残ってしまって駄目でした。System.Diagnostics.ProcessクラスのCloseMainWindowメソッドやCloseメソッドを使ってみても同様に駄目でした(こちらはティッカーウィンドウが消えるけど、プロセスが残ってしまう)。RSS.exeの方が厄介で、こちらはメインウィンドウが存在しないので、ウィンドウメッセージの送信による終了はできないことがわかりました(System.Diagnostics.ProcessクラスのCloseMainWindow等を使っても多分駄目)。TerminateProcessを使うと終了できるのですが、アイコンがタスクトレイに残ったままになってしまいます。マウスをアイコンに持っていくと消えるので問題無さそうなのですが、ちょっと嫌な感じです。タスクトレイを再描画するような方法があればいいんだけどなあ。トラックバック(0)今日は前場9時50分ごろまで日経平均があまり押し目を作らずに上昇しました。いう場合はその後下げても堅調に推移することが多いので、自動売買でも買い建て優勢になりました。ところがその後日経平均が下落してしまい、買い玉を決済すると同時に売り玉が増えてしまうという状況になりました。いう場合往復ビンタを喰らうことが多いので、悲惨なことになるかもなあ......と思っていたら、意外とその後も日経平均が軟調でした。́・ω・`)ショボーン。目覚まし時計を無意識のうちに止めていました。目を覚ましたら9時50分orz。売りから入れば昨日よりも楽にとれそうな相場だっただけにとても残念です。いうトラブル?でも対処できるのが自動売買の利点なのですが、まだマケスピの自動ログインとかを実装していませんでした。実際に取引する証券会社へのログインは既に全て自動でできているし、発注も自動でできているので、あとはマケスピのログインさえ実装すれば、とりあえずは寝坊には対処できるはず(開発用のメインPCで自動売買もやらせているので、終日起動しっぱなしというわけにはいかないけど)。いうわけでとりあえずマケスピとRSS.exeの自動ログイン処理を作りはじめてみました。マケスピの終了方法に少し躓いています。マケスピを終了させようと思ってWM_CLOSEをマケスピのメインウィンドウにPOSTしたら、メインウィンドウは消えるけどティッカーウィンドウが表示されたままになっていて、MarketSpeed.exeのプロセスも終了しない状態になりました。MarketSpeed.exeのプロセスに.NETのCloseMainWindowメソッドとCloseメソッドを適用しても、やっぱりプロセスが終了しない。TerminateProcessはちょっと嫌な感じなので、もう少し色々調べてみます。トラックバック(0)今日はGDP発表のおかげで朝から日経平均株価が上昇しました。私の自動売買システムはもともと仕掛ける時刻が遅めに設計されており、また、あまりにも始値からかけ離れたところにある銘柄は仕掛けないように設計されているため、ゆっくりと買い玉を増やしてしまいました。その結果、前場は高値掴みで含み損が多く、あおぞら銀行の公募割れなどを考えると、後場も上げそうにないような気がして暗澹としていました。後場に日経平均先物が16260円くらいになったときには、これは今日もだめか......と思っていたのですが、意外と保有銘柄が堅調でした。日経平均株価に対してTOPIXや新興が後場に堅調だったのが良かったのだと思います。シン債権回収が頑張ってくれました。そのおかげで今日も勝つことができました\(^o^)/。トラックバック(0)自動売買で、これまでネクシィーズやトレイダーズ証券などの銘柄を扱ってきました。これらの銘柄では、高々20万円程度の約定代金でも板をぶち破って高値で約定してしまうことが頻繁に起こります。バックテスト用のデータには最良気配値の株価は記録していますが、板の状況については記録をしていません。そのため、バックテストでは実際の取引よりも多少甘い結果になってしまいます。板の状況を完全に記録することも考えましたが、実際の取引で板をぶち抜いた場合はその直後に売りが発生してしまうことが多く、シミュレーションと同じ動きにはなりません。そもそも板の状況を気にする必要があるような薄商いの銘柄に手を出すというのもどうかと思うし、これでは都合が悪いので幾つか銘柄を入れ替えました。トレイダーズ証券→マネックスビーンズホールディングスネクシィーズ→グッドウィル・グループフォーサイド・ドット・コム→パイオニアという感じにしてみました。マネックスとグッドウィルは10万円以下というつながりで選択しました。パイオニアについては、他に10万円以下の貸借で規制の入っていない活況な銘柄が見つからなかったため、割と適当に選びました。