無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

2009-08-01から1ヶ月間の記事一覧

簡単なアニメーションGIFを作るサンプル

RMagickを使って簡単なアニメーションGIFを作るサンプルです。基本的な手順としては Magick::ImageListのインスタンスを作成 ImageListにアニメーションのフレームとなる画像を追加。 後は「ImageList.write」でリストをgif形式で保存すれば、アニメーション…

画像内で使用されている色の統計を取るサンプル

RMagickを使って、画像内で使用されている色の統計を取得するサンプルを書いてみました。使用されている色ごとに割合を算出し、使用量の多い順に出力します。 require 'rubygems' require 'RMagick' imgs = Magick::Image.read("./kitten.jpg") img = imgs.f…

Google翻訳APIで文字列の翻訳と言語の判定を行うモジュール

昨日の続き。Google翻訳APIでは文字列の言語を特定する機能も提供されているので、それを利用して元の言語を自動判定してから翻訳するようにしてみました。これで言語を気にせずにがしがし変換できます。ついでにto_itやto_frなど翻訳可能な言語に対応する変…

Google翻訳APIで文字列を翻訳するモジュールを書いた

Google翻訳APIで文字列を翻訳するモジュールを書きました。 対象とする文字列と翻訳元/翻訳先言語を指定して呼び出すと、翻訳された文字列が返されます。 使用可能な言語はこの辺を参照。 プロキシが必要なら「Translate.set_proxy」で事前に設定してくださ…

PushbackReader

PushbackReaderを使うと、Readerで読み込んだ文字を再度Readerに戻す(読まなかったことにする)ことができます。以下は簡単な利用例。連続する文字を1つにまとめつつ、出力します。 // PushbackReader を作成 PushbackReader reader = new PushbackReader( ne…

CSVのあれやこれや

CSVの仕様書(RFC4180)を読んだので、ずっと疑問だったことについて、ちょろっとまとめてみます。 ヘッダーの有無の判定 CSVにはヘッダーが付いている場合がある訳ですが、形式がデータ行と同じなので、文字列だけ見ても判断が付きません。これについて仕様書…

画像にフィルタをかけるサンプル

RMagickを使って画像にエフェクトをかけるサンプルです。 require 'rubygems' require 'RMagick' imgs = Magick::Image.read("./kitten.jpg") img = imgs.first img = img.sketch( 5.0, 5.0, -45 ) # スケッチエフェクトを適用 img.write( "./sketched.jpg" …

RMagickで画像の種類とサイズを表示するサンプル

RMagickは画像処理ライブラリ「ImageMagick」のRubyインターフェイスです。これを使うと、 画像を解析して情報を取り出す。 画像を読み込んでエフェクトを適用する。 画像を新規に作成する。 といった操作がさくっと行えます。ということで、ローカルにイン…

余力情報の取得に対応

余力情報の取得に対応しました。 →Github - unageanu / clickclient_scrap モバトレ君の「口座/余力確認」ページで確認できる情報を取得できるようにしています。 サンプル $: << "../lib" require 'clickclient_scrap' require 'constants' # ログイン c = …

かわいいねこの写真をつぶやくTwitter Bot「miibot」

「miibot」は、かわいいねこの写真をつぶやくTwitter Botです。→ Twitter - miibot機能は以下の2つ。 オススメのねこ写真を毎日つぶやきます。 「疲れた」とreplayすると、ねこ写真で励ましてくれます。 疲れたときにどうぞ。

GAEでもGoogle GuiceのAOPは使えます。

Google App Engine上でも普通に使えましたよ > Google GuiceのAOP。ということで、動作確認に使った簡単なサーブレットを公開してみます。 import java.io.IOException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletReque…

URLフェッチ機能でBasic認証を使う

Google App EngineのURLフェッチ機能では、HttpURLConnectionが普通に使える訳ですが、Basic認証が必要なサイトにアクセスしたいと思って以下のように書いてデプロイしたら実行時エラーに。 static { Authenticator.setDefault( new Authenticator(){ @Overr…

最近の流行

以下のような書き方が個人的に流行中。 String[] strs = // 略 // 配列がnullでなければ各要素に対して処理を実行 if ( strs != null ) for ( String str : strs ) { // 処理 } forで列挙する対象がMap.Entryとかになると、Genericsもあって行がすぐに長くな…

JSONBrokerのJava版クライアントを書いた

RubyクラスをJSONでアクセスできるWebサービス化するJSONBrokerのJava版クライアントを書いてみました。 サンプル 以下はクライアントを使ってjijiにアクセスし、レート情報を取得するサンプルです。 /** * レート情報を提供するサービス */ static interfac…

画像を分割して保存するサンプル

画像編集は何気にAdobe Fireworks派だったりするわけです。比較的リーズナブルな上、Web向けの画像編集に必要な機能が一通りそろっていてUIも使いやすい。さらに、なんといってもJavaScriptでマクロを書けたりするのが便利だよね!(いやPhotoshopとかでも使え…

エージェントエディタを一新したjiji-1.2.0をリリース

エージェントエディタの一新など、いくつかの機能強化、バグフィクスを行ったjiji-1.2.0をリリースしました。 →Github - unageanu/jiji 更新内容、更新手順については、こちらを参照ください。 さて、昨日嵌っていたgemがビルドされない問題は、どうもリポジ…

エージェントエディタを一新したjiji-1.2.0をリリース、、ならず。

エージェントエディタの一新など、いくつかの機能強化、バグフィクスを行ったjiji-1.2.0をリリース、、、といいたいところですが、GitHubにコミットしたものの1時間待ってもgemがビルドされず・・・・。→オープン・フリーのFX自動取引システム「jiji」 →Gith…

タプル

タプルを書いてみた。 import static java.util.Arrays.deepEquals; import static java.util.Arrays.deepHashCode; /** * タプル */ public class Tuple { /** * ペア * * @param <A> Aの型 * @param <B> Bの型 */ public static class Pair<A,B> { private final A a;</a,b></b></a>…

SAXで現在解析中の行番号を得る

Locatorから取得できます。 XMLFilterImpl#setDocumentLocator()をオーバーライドしておくとLocatorが渡されてくるので、 必要なタイミンクでLocator#getLinenumber()を呼び出して、行番号を取得すればOK 以下は、各要素の行番号とカラム番号を出力するサン…

LinkedHashMapでFIFO方式のキャッシュをさくっと作る。

LinkedHashMapを使うとFIFO方式のキャッシュがさくっと作成できます。新しいエントリが追加されるたびに呼び出されるremoveEldestEntry()をオーバーライドして、削除するかどうかの判定処理を書くだけでOK。 public static void main( String[] args ) { // …

JSONICでオブジェクトをJSON形式に変換する

JSONICを使うと、任意のJavaBeanをJSONにさくっと変換できます。 // テスト用クラス static final class Kitten { private String name; private int age; public Kitten() {} public Kitten( String name, int age ) { this.name = name; this.age = age; }…

演算子式の戻り値

Rubyではいくつかの演算子はクラスのメソッドとして再定義することが可能です。ということは、演算子式の戻り値を変えてやれば、代入式の評価結果を変更できるんじゃね?と思いたって試してみましたがやはり不可でした。 class Foo def var=(value) return "v…

Cygwinでfatal error

ちょっと前からCygwinで以下のエラーが発生するようになった。 8 [main] ruby 5172 C:\cygwin\bin\ruby.exe: *** fatal error - unable to remap C:\cygwin\bin\cyggcrypt-11.dll to same address as parent(0x370000) != 0x5710000 12 [main] ruby 5752 for…

クリック証券デモ取引プラグインを無効化したjiji-1.1.4をリリース

クリック証券デモ取引のWebサービス提供終了を受けて、クリック証券デモ取引プラグインを無効化したjiji-1.1.4をリリースしました。→Github - unageanu/jiji 変更点 クリック証券デモ取引プラグインを無効化。 マニュアルの「サポートしている証券会社」から…

クリック証券デモ取引のWebサービスも提供終了に!

今週のはじめからクリック証券デモ取引に接続できなくなってるなーと思っていたら、デモ取引のWebサービスも停止になったみたいですねー。これで本格的にClickClientが海の藻屑に。ぬー。jijiがらみでちょい修正しようと思ってGitHubにソースを移したりとか…

今日のはまり道

Yahoo! UI Library のTreeViewで以下の条件を満たす場合、クリックイベントの引数で渡されてくるeventの「ctrlKey」プロパティが参照できなくなります。 クリックイベントとダブルクリックイベントの両方にリスナが登録されている。 ブラウザがIE IE7+Yahoo!…

JavaScriptでは「||=」は使えないのか・・・。

いまさらだけど、JavaScriptでは「||=」は使えないのか・・・。「+=」は使えるのに・・・。 // fooがnullとかundefinedなら"foo"を代入 foo ||= "foo"; // エラー! ↑はこう書くしかないか。ぬー。 foo = foo || "foo";

クリックの種類を判定するユーティリティ

普通のクリックとダブルクリック、および名前変更のときに使う遅めのダブルクリック?(「かち、かち」っていうやつね)を判定するユーティリティを書いてみました。利用例は以下の通り。ちょい汎用的な形にしておいたので、ダブルクリック以外に三三七拍子とか…

依存関係の循環エラー抑制

ContainerJSでは、コンポーネントの依存関係が循環している場合でも単純な循環であればエラーとせずに依存関係を解決できたりします。たとえば以下のようなパターンであれば問題なく解決可能です。 function main() { // 循環参照するコンポーネントも以下の…

optgroup

optgroupでドロップダウンリストの選択肢をグループ化できます。 selectの子要素、optionの親要素とします。 label属性で、グループの表示名を指定できます。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> </body></html>