-
バイナリ―オプションの自動取引システムへのシグナル送信
〇 プロジェクトの目的
バイナリーオプションの取引を自動するため、MQL4で書かれたEAの売買シグナルを、ペイロードとしてAPI経由で別のサーバーへ送信すること。
〇 体制・人数
複数人(本案件においては何人が関与してしたか分かりませんが、多くかの方が関与する案件でした)
■ 自分のポジション・役割
MQL4で書かれたEAの売買シグナルを、ペイロードとしてAPI経由で別のサーバーへ送信するコードを作成して実装しました。
■ 目的を達成する上での課題
MQL4からAPIを使いシグナルを送信するのは初めてだったのでその点のスキルの習得が課題となりました。
■ 課題に対して取り組んだこと
Web上を始めとして、様々なリソースを調べる事で解決しました。
■ ビジネス上の成果
クライアントの希望に沿ったシグナルの送信機能を備えたEAを納品できました。MetaTrader4
MQL4
-
法人YouTube動画からのデバッグ情報の自動取得
■ プロジェクトの目的
〇 Youtube動画の広告から広告サイトのLPのURLを収集し、広告サイトのデザインの参考とするため。
■ 体制・人数
〇 複数人(私自身、全体で何人が関与しているかはっきりとは把握しておりませんでした)
■ 自分のポジション・役割
〇 Youtube動画で再生される広告動画のURLをAWS上で動作するスクレイピングシステムを作成し、そのスクレイピングシステムからGoogleスプレッドシートに「企業名・LPのURL」の形で送信し、Googleスプレッドシートにリアルタイムで反映されるシステムを構築しました。
■ 目的を達成する上での課題
〇 実際の技術的な課題の大きさに比べてクライアントの自動化の要求が大きく、Youtubeへのログインも含めて自動化したいというニーズがありました。
〇 完全な自動化は難しい(例外や、エラーの発生などで人間がメンテナンスする必要がある点)一方で、Googleアカウントへのログインを自動化するという点でニーズに応える点が課題でした。
〇 技術上の限界を含めた自動化の期間の限定や、人手の介入が必要となる条件について説明を行ない納得のいくシステムの実装に結びつける点も課題となりました。
■ 課題に対して取り組んだこと
〇 AWS上で動作するインスタンスの柔軟な稼働のリクエストや現在の稼働状況を伝え、効率的にサービスを利用するべく取り組みました。
〇 他のメンバーとの連絡を行ない、共同で作業をするさいに必要な情報共有を行ないました。
〇 「極力」自動化の範囲を広げたいというニーズに応えるため、技術面ではPythonモジュールである「undetected-chromedriver」といった自動でのスクレイピングに対応するモジュールの使用も交えて最大限ニーズに応えるべく取り組みました。
■ ビジネス上の成果
〇 実際に人手の介入なく、Windows Sever上で50時間以上に渡ってスクレイピングシステムが動作し続け、自動でYoutube動画から広告動画からURLを収集し、企業名とその企業のLPのURLをGoogleスプレッドシートに反映させるシステムを構築できました。
〇 結果としてクライアント企業のニーズであった、参考となるLPのURLの収集を自動化するという点で、人手行なうのと比較してビジネスの飛躍的な効率化に資することが出来ました。AWS、Windows Sever、Google Apps Script
-
歯科クリニックにおけるエクセルでの店舗集計表(業務の効率化)
■ プロジェクトの目的
クリニックの業務効率化とサービス改善を目的として、患者の訪問パターンや治療効果を分析しやすい形で提供することで、経営判断のサポートを行うことでした。
■ 体制・人数
このプロジェクトは私1人で担当しました。
■ 自分のポジション・役割
プロジェクト全体の設計、データ集計、マクロの開発、グラフの設計と生成を1人で行いました。クライアントからの要件のヒアリングから最終的なデリバリーまで、全工程を自己管理下に置き、独立して遂行しました。
■ 目的を達成する上での課題
データが非常に散在しており、また一部データに不整合があったため、正確かつ一貫性のある情報を抽出することが大きな課題でした。
■ 課題に対して取り組んだこと
不整合のあるデータを検証し、クリーニング処理を施すことでデータの品質を向上させました。Excelの高度な機能を用いて、効率的かつ動的なグラフを生成するマクロを作成し、ユーザーが直感的にデータを解析できるようにしました。
■ ビジネス上の成果
このマクロによって、クリニック側は患者の行動パターンと治療成果を月次で迅速に分析することが可能となり、よりデータに基づいた経営判断を行えるようになりました。結果として、再来院率の改善と往診の効率化に寄与しました。VBA
Excel -
FXトレードの検証用Excelワークブックの作成
■ プロジェクトの目的
各FXトレードの時間・通貨ペア、損益などを全て記録し、保有時間や損益との関係やエントリーしたときの根拠などを全て細かく知るし、各トレードのデータをグラフなどの形で視覚化するマクロを作成いたしました。
■ 体制・人数
1人
■ 自分のポジション・役割
クライアントとのやり取りを全て1人で行ないました。
■ 目的を達成する上での課題
クライアントの依頼を聞き、それを成果物に反映させる点でこまめな連絡が必要でした。
■ 課題に対して取り組んだこと
打ち合わせを頻繁に行ない、ニーズを聞き取り最大限成果物に反映させるよう努力して満足していただきました。
■ ビジネス上の成果
クライアントが運営するWebサイト上で会員に配布するマクロとして有効に機能し収益の増加に寄与しました。VBA
Excel -
手入力で管理をしていた業務ツールの効率化
プロジェクトの目的:
・効率化のための手法の調査・希望に合った方法のコンサルティング
・実際の要望に沿った形での開発・納品
役割:
仕入を行なう上でのデータを管理されており、それを社内で効率的に管理できるようなシステムの構築を希望されていたため効率化の手法を提案し、ニーズに沿う形で実装・納品しました。
開発に際して、MicrosoftのOnedrive上で同期されている、2つのExcelファイルを1つのExcelファイで、指定された列のデータが変更された事を検知し、もう一つのExcelファイルの特定のシート上で、同じ固有の番号が割り振られた行を検索し、その検索した行に、変更されたデータを反映させるシステムを作成しました。
■ 体制・人数
このプロジェクトは私1人で担当しました。
■ 自分のポジション・役割
要件定義から・コーディング・テスト・納品まで
■ 目的を達成する上での課題
Pythonモジュールは仕様が頻繁に変わるため現時点での仕様を調べ、適切に実装する点が課題でしたが、Web上の情報を迅速に調査し適切に実装しました。
クライアントとのコミュニケーションを迅速に行ない、ニーズを汲んだ開発を行ないました。
Python・Excel
Pythonモジュールとしてopenpyxl・pandas等 -
ライセンス認証サーバーの構築・FX自動売買ソフトへの認証プログラムの埋め込み
■ プロジェクトの目的
MT4用のカスタムインジケーターの著作権を守り無断での使用を防ぐため、ライセンスを付与した人だけが使用出来るような制限を設ける事。
■ 体制・人数
私1人で担当しました。
■ 自分のポジション・役割
・ソースコードの存在するEAやカスタムインジケーターの著作を守るために出来る事についてクサルティングを行ないました。
・ソースコードが存在するMT4のインジケーターを配布するさいに、ライセンスを付与されたユーザーだけが使用出来るように、MT4のアカウントの番号などのデータを元にハッシュ値生成して、サーバーに送信し、サーバー側では、Python・Djangoを用いてREST APIを作成し、送られたデータのハッシュ値を生成、返信。
・MQL4のプログラム側で自分自身が計算したハッシュと同一か確認出来た場合にのみ動作するプログラムを既存のソースコードに追加しました。
■ 目的を達成する上での課題
MQL4側でJSONデータを処理する標準的なライブラリがなかったこと。
■ 課題に対して取り組んだこと
海外のサイトも探して、JSONデータをパースできるフリーのソースコードを見つけ、使用しました。
■ ビジネス上の成果
・クラウドサービスの期待通り、カスタムインジケーターの使用を制限するシステムを構築し、納品出来ました。
・ライセンスを付与されたエンドユーザーのみが使用できる制限を加え、ビジネス上の利益を確保することに資することが出来ました。Python・Django・MQL4
REST API -
法人からの依頼における会員制中古車オークションサイトからの情報抽出によるデータ収集の効率化
■ プロジェクトの目的
〇 会員制の中古車オークションサイトからデータを自動で抽出し、指定した条件に合致する項目のデータをスクレイピングし、見やすい形でWebサイトとして閲覧できるようにする事。
それにより、大量のデータを人手で閲覧し探す手間を省き、業務の効率化を図る事。
■ 体制・人数
〇 2人
■ 自分のポジション・役割
〇 会員制の中古車オークションサイトから、指定した条件を満たす物件に絞って、その物件の情報をスクレイピングを行ないAPI経由でデータベースに送信する部分。
■ 目的を達成する上での課題
● 指定のサイトがIEにしか対応していなかった点。
● サイトに軽微なバグがあり、動作させていく内にメモリーリークを起こしブラウザがフリーズしてしまう点。
● ログインにハードウエアトークンが必要で、そのハードウエアトークンを使ったログインも自動化したいという技術的に困難なニーズに応える点
■ 課題に対して取り組んだこと
〇 一定間隔でブラウザーを再起動し、取得済みの所へ戻り続きの取得を継続するように改良。
〇 その他解放できるメモリーの領域を極力開放するように、都度都度工夫を施した。
■ ビジネス上の成果
〇 クライアントの希望通りにハードウエアトークンを使用したログインから中古車サイトのスクレイピング、その情報をAPI経由で別のサーバーへ送り、Webサイト上に反映させるシステムを構築、納品でき、結果として業務の大きな効率化に資することが出来ました。Python・Selenium
-
個人のクライアント様に依頼されたMT4用ツールの作成
■ プロジェクトの目的
ランサーズ上で個人のクライアント様が希望する裁量取引の補助となるツールを作成しました。
■ 体制・人数
1人
■ 自分のポジション・役割
要件定義・コーディング
■ 目的を達成する上での課題
クライアント様が、ご自身が必要としているツールに期待する動作を上手く説明できなった点
■ 課題に対して取り組んだこと
丁寧に聞き取りを行い、仕様書の形にまとめました。
■ ビジネス上の成果
クライアント様が望む成果物の納品
MQL4・要件定義