SocialFX for iPhone
-
Upload
daisuke-shosaki -
Category
Technology
-
view
270 -
download
0
Transcript of SocialFX for iPhone
SocialFX for iPhone
@tanaproこのこん提出用
1
自己紹介
• @tanapro
• SocialFX総裁
• かりすまiPhoneデベロッパー(笑)歴約5年
• 社会人1年目 (Webエンジニア)
2
SocialFXとは
• http://socialfx.jp.net/
• 私@tanaproのお金と口座を使ってみんなでFX取引を行う、世界初のユーザー参加型FX取引プラットフォーム。
• Web版は2013年11月に公開
3
SocialFXの遊び方
• 以下のパラメータを決めて投票を行う
• ポジション:売り or 買い
• ロット:何万通貨取引するか
• 指値幅:利益を確定させるまでの相場の変動幅
• 逆指値幅: 損失を確定させるまでの相場の変動幅
4
続き
• 投票者の中からランダムで1つ選び、証券会社に注文を発注する(自動)
• 予想したポジション通りに相場が動いて利益が確定すれば、自分のレーティングが上がる。(逆の場合は下がる)
5
今回作ったもの• SocialFXのiPhone用クライアントアプリ
• SocialFXサーバにiPhone用のAPIを新しく作成し、アプリからアクセスできるようにした。
• https://itunes.apple.com/jp/app/socialfx/id807095517?mt=8 2014/02/10公開
6
サービス全体像
②SocialFXサーバ
①SocialFX for iPhone③MetaTrader4サーバ
FX業者
投票情報取得 etc..
情報取得,更新
OCO注文発注プッシュリクエスト
プッシュ通知
情報取得
BaaS
7
① SocialFX for iPhone
• Objective-Cで実装 (iOS7対応)
• 機能
• 新規、決済約定時のプッシュ通知
• 投票
• 取引履歴、自分の戦績、チャート閲覧
8
スクリーンショット
チャート閲覧 投票 履歴 資産推移
9
StoryBoardを使用したモダンなiOS開発
10
② SocialFXサーバ
• ConoHaVPS 4G
• PlayFramework + Scala
• MySQL , Redis
11
SocialFXサーバ全体像
apache
play!
Redis MySQL
play!Port9998Port9999
リバースプロキシ
キャッシュサーバ DBサーバ
アプリケーションサーバ
HTTPサーバ
4GVPS上にplay!のインスタンスを2台起動させapacheでロードバランスさせることで負荷分散を行っている。
12
③ MetaTrader4サーバ• FXの自動売買を行うために必要なWindows専用アプリケーション(MetaTrader4)を稼働させているサーバ
• 専用の言語(MQL)を用いて、自由に売買プログラムを記述できる
• HTTP通信を行えるDLLを用いて、SocialFXサーバに接続している
• お名前.comデスクトップクラウド for FX上で稼働中
13
MetaTrader4の様子
14
このこん提出にあたって
• テーマ「つなぐ」
• →従来一人でやるものだったFX取引を皆で行えるようにした。
• FXで皆と私、皆と皆をつなぐ。
15
それぞれのプラットフォーム上で最適な言語を使用
• SocialFX for iPhone → Objective-C
• OSSライブラリが豊富
• SocialFX → Scala
• 関数型言語Scalaで処理を簡潔に記述できる
• PlayFrameworkでモダンなWeb開発
• MetaTrader4 → MQL
• これに関してはMQLのみ16
アピール
• iPhone + FX + プログラムの知識 = SocialFX
• 既存のシステムを組み合わせるだけで世界はもっと面白くなる。
17
今後の課題
• 現在Parseに依存しているプッシュ通知システムを自前で実装
• ユーザが増えた時のための負荷対策
18