2008年2月10日

Windows FormからWPFを起動

路線変更したので、タイトルのような事を行う必要が出てきた。

[実装方法]
例えばWindows Form上のボタンからWPF画面を起動する場合。

  • Windows Form ProjectとWPF Projectをそれぞれ作る。
  • Windows Form Projectに参照設定を追加。
    • 作成したWPF Project
    • PresentationFramework
    • PresentationCore
    • WindowBase
  • Windwos Form上のボタンイベントに以下追記。
    private void button1_Click(object sender, EventArgs e) {
    WpfProject.Window1 win = new WpfProject.Window1();
    win.Visibility = System.Windows.Visibility.Visible;
    }

設計変更

全てのUIをWPFで作ることに疑問を感じた為、路線変更。

[WPFの問題点]

  • Windows FormにあるコントロールがWPFに無い場合がある。
    (ex. DataGrid, DatePicker etc.)
  • 開発速度が落ちる。
    (参考資料が乏しい、開発環境が貧弱、個人的な不慣れの為)

WPFの利点が活かせるところにのみWPF利用することとする。

2008年2月2日

Web為替チャートサイト

為替相場の動きをリアルタイムで見る時にお薦めのサイト。

Forex Directory
http://www.forexdirectory.net/

[使い方]
  • サイト開いてから少し放置。(急ぐとjavaのエラーが出る)

  • 見たい通貨の国旗をクリック。(java runtimeが古いとインストールが必要。IEのアドオンの許可でJava Consoleを有効にする必要がある)

  • 正常起動すると以下の画面になる。チャートはブラウザから取り外せる。
    取り外すには赤丸で囲ってある画鋲ボタンを押す。

  • Insutrumentメニューより表示したい通貨を選択。各メニューで出来ること。
    • Instrument (通貨選択。株式選択)
    • Chart Type (チャートのタイプを選択。OHLC、ローソクなど)
    • Time Scale (1分足、日足、週足など選択)
    • View (表示数選択、マーケット情報の詳細を表示)
    • Line (チャート上に線を引く)
    • Studies (テクニカル分析を表示)
    • Zoom (ズーム)

WPF参考書籍

2007年購入。当時ろくな本が無かった。
英語が読めれば選択肢は広がったが、生粋の日本人なので和書を探した。

「XAMLプログラミング WPFアプリケーションの概要と開発 (大型本) 」
http://www.amazon.co.jp/XAML%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-WPF%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E6%A6%82%E8%A6%81%E3%81%A8%E9%96%8B%E7%99%BA-%E9%AB%98%E6%A9%8B-%E5%BF%8D/dp/4797339160

[感想]
少し物足りない気もするが、まったく役に立たないことは無い。
説明は初心者向けに書かれていて、WPFについて広く浅く網羅している。

WPFプロジェクトの作成

  1. Visual Studio起動。

  2. メニューバーより「ファイル>新しいプロジェクト 」。
    ダイアログよりWPFアプリを選び、適当なプロジェクト名をつけOK。


  3. プロジェクトができる 。
    ソリューションエクスプローラは見慣れたものだが、レイアウトデザイナーの下にXMLファイルが表示されている。
    WPFアプリのGUIはこのXMLで定義するとのこと。
    このXMLファイルはXAML(Extensible Application Markup Language)というもの。
    書き方分からないので困りました。
  4. コントロールのせたり、コントロールのプロパティいじる位ならXAMLは自動で書かれる。
    ただ、データバインディングするとか、コントロールの動作をアニメーションにするなどの場合は、
    いよいよXAMLを編集しなければならない。

アプリケーションにWPFを選んだ理由

  • 勉強の為。
  • 従来のWindowsアプリより表現方法が多彩な為。
  • ベクトルグラフィックだから。
    (ベクトルグラフィックとは描画位置や描画方法を計算式によって割り出す。
    画面を大きくしたり、画素数のことなるディスプレイにも柔軟に対応できる。
    対してラスタグラフィックが従来のwinアプリの描画方法。
    これは点描画なので絵を引き伸ばしたりすると輪郭がギザギザしたりする。)

2008年1月27日

システム構成

自宅のPC一台で稼動させるシステム。
凝った造りは無用。

図 2階層 為替自動売買システム


突っ込みどころのあるシステムだが、まずは完成第一。
[懸念事項]
  • リアルタイム為替データをどこから取ってくるか。
  • TCP/IP、もしくはWebサービスなどで自動売買を受け付けてくれるFX業者はあるか。
  • システムのリモート操作はメール!?

2008年1月26日

Visual Studio から SQL Serverに接続できない

Visual Studioのプロジェクトにデータベースファイルを追加しようとしたら、
変なエラーが出て作れなかった。

(図1) Visual Studioでプロジェクトにデータベースファイル追加


[発生現象]
以下エラー内容。
SQL Server ファイル (*.mdf) への接続では、適切に機能するために SQL Server Express 2005 が必要です。このコンポーネントがインストールされているかを確認するか、または http://go.microsoft.com/fwlink/?LinkId=49251 からダウンロードしてください

[解決策]
SQL Serverは確かにインストールしてあるのに、なぜ認識しない??
この不思議な現象を解決する為、Visual Studio とSQL Serverを10回ぐらい再インストールしなおしたり、
設定をいろいろと変えたりで1ヶ月ぐらいを要した。

原因はVisual Studioの設定不足。
ツールメニュー>オプションからオプションダイアログを開き、SQL Server インスタンス名の設定を空にする必要があった。


そんなくだらない理由で1ヶ月間開発が止まるとは。。。
あーいやだ。(←棒読み)

SQL Serverのインストール・設定の注意点

SQL Server 2005 Express Editionのインストール・設定の注意点

■インストール について

  • 以前SQL Serverをインストールしたことがある場合は、インスタンス名がSQLEXPRESSではなくなる。

■設定 について
  • Visual StudioやSQL Server Management StudioからSQL Serverを参照するには、
    SQL Serverセキュリティ構成ツールにて、許可する接続方法を変更。
    「TCP/IPのみ使用する」にチェック。

2008年1月17日

FX 書籍紹介 ①

今日は残業しすぎてヘロヘロなので、軽めの投稿。
システムトレードを始めようと思ったきっかけになった本の紹介。

FX始めた頃はド素人狙いの悪書に引っかかって、何の根拠も無く相場に勝てる気になっていた。
良き指南者的な本を見つけることは、大切だなと痛感。


パンローリング出版 ウィザードブックシリーズ 123
「実践FXトレーディング 勝てる相場パターンの見極め法」
http://www.7andy.jp/books/detail?accd=31936748&pg_from=rcmd_detail_1

見た感じ、厚いし、ハードカバーだし、安くないし、小難しそうだが、
じっくり読めばふむふむなるほどと思うこと必然。
内容は実践的な売買手法としてイグロックメソッドという売買方法について書いている。
確率によって支配された相場で、如何にして損を限定し、確実に利を喰うかを教えてくれる。

2008年1月15日

開発環境について ①

やっとこ具体的な話です。
さて、ロボを開発する環境ですが、Microsoft系にしました。
[理由]

  • Visual StudioとSQL Serverがタダになったから
  • SQL Serverと.Netの組み合わせは作るのが楽
  • 実行するOSがWindowsだから
  • GUIの作成が楽
  • UI部品が多い
  • デリゲートあるから
  • WPF使ってみたいから
  • Linq使ってみたいから
まあ、数え上げたら枚挙の暇がありません。
JavaはフリーのIDE(統合開発環境)がある点が有利だったのだけど、
VS(Visual Studio)が完全にフリーになった時点で.Netを選ばない理由がなくなりました。

では、以下に環境を

VSのインストール方法は以下参照(VB.Netの例だけどC#も同じ、
古いVSとかSQLServerが入っている場合は事前にアンインストールが必要)
http://www.microsoft.com/japan/msdn/vstudio/express/beginners/2008/default.aspx

ちなみにVS2008はかなり進化していた。
VS2002しか使ったこと無かったので、かなりうろたえた。